diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2008-04-02 14:22:37 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2008-04-02 14:22:37 +0000 |
commit | a2ee2a591347e2abc1552b438b8010a9463d21e1 (patch) | |
tree | 0eeb6a079c9f8c1a7e2eadeb0426d1ef0a304aa1 /src/compiler | |
parent | 2facac90e8c3cae5cbe29a55835c69847d270a40 (diff) | |
download | scala-a2ee2a591347e2abc1552b438b8010a9463d21e1.tar.gz scala-a2ee2a591347e2abc1552b438b8010a9463d21e1.tar.bz2 scala-a2ee2a591347e2abc1552b438b8010a9463d21e1.zip |
Fixed useless assignment when defining dummy 't...
Fixed useless assignment when defining dummy 'this' variable (introduced
by tail call elimination). Should improve GC performance (see ticket
$692).
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/icode/GenICode.scala | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala index 0797a8c723..41961d5a0c 100644 --- a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala +++ b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala @@ -400,6 +400,10 @@ abstract class GenICode extends SubComponent { ctx.bb.close genLoad(rhs, ctx1, expectedType /*toTypeKind(tree.symbol.info.resultType)*/) + case ValDef(_, nme.THIS, _, _) => + if (settings.debug.value) log("skipping trivial assign to _$this: " + tree) + ctx + case ValDef(_, _, _, rhs) => val sym = tree.symbol val local = ctx.method.addLocal(new Local(sym, toTypeKind(sym.info), false)) |