diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2005-06-28 08:52:00 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2005-06-28 08:52:00 +0000 |
commit | b4ba0b8045dc81357d4124b4913db0531665e54e (patch) | |
tree | 6628a595758c6548fdbf2e20eb51c6370be0f503 /sources/scala/tools/nsc/Global.scala | |
parent | bca043774f5d799670a11c4843f6239de51fff3d (diff) | |
download | scala-b4ba0b8045dc81357d4124b4913db0531665e54e.tar.gz scala-b4ba0b8045dc81357d4124b4913db0531665e54e.tar.bz2 scala-b4ba0b8045dc81357d4124b4913db0531665e54e.zip |
Added tail call elimination phase to nsc.
Diffstat (limited to 'sources/scala/tools/nsc/Global.scala')
-rwxr-xr-x | sources/scala/tools/nsc/Global.scala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sources/scala/tools/nsc/Global.scala b/sources/scala/tools/nsc/Global.scala index d686ca3493..1507be774f 100755 --- a/sources/scala/tools/nsc/Global.scala +++ b/sources/scala/tools/nsc/Global.scala @@ -186,6 +186,11 @@ class Global(val settings: Settings, val reporter: Reporter) extends SymbolTable } val samplePhase = new sampleTransform.Phase(transMatchPhase); + object tailCalls extends TailCalls { + val global: Global.this.type = Global.this; + } + val tailCallPhase = new tailCalls.Phase(samplePhase); + //val transMatchPhase = new transmatcher.TransMatchPhase(picklePhase); /* object icode extends ICode { @@ -199,7 +204,7 @@ class Global(val settings: Settings, val reporter: Reporter) extends SymbolTable } */ - val terminalPhase = new Phase(samplePhase) { + val terminalPhase = new Phase(tailCallPhase) { def name = "terminal"; def run: unit = {} } |