diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2006-02-14 12:50:40 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2006-02-14 12:50:40 +0000 |
commit | 2197e9485a681f72068c5768263bcd1757664775 (patch) | |
tree | 3bc2b962af4209f182925724ec7f089ca91a3bb9 /src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala | |
parent | 9392e582986c3d54cde992c3141b52c97f7d6e16 (diff) | |
download | scala-2197e9485a681f72068c5768263bcd1757664775.tar.gz scala-2197e9485a681f72068c5768263bcd1757664775.tar.bz2 scala-2197e9485a681f72068c5768263bcd1757664775.zip |
Refactored ICode and added basic inlining capab...
Refactored ICode and added basic inlining capabilities.
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala b/src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala index 52611fd4d5..ae326c0714 100644 --- a/src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala +++ b/src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala @@ -155,4 +155,13 @@ mixin class Linearizers requires ICodes { if (!blocks.contains(b)) blocks = b :: blocks; } + + /** A 'dump' of the blocks in this method, which does not + * require any well-formedness of the basic blocks (like + * the last instruction being a jump). + */ + class DumpLinearizer extends Linearizer { + def linearize(m: IMethod): List[BasicBlock] = + m.code.blocks.toList; + } } |