From 2197e9485a681f72068c5768263bcd1757664775 Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Tue, 14 Feb 2006 12:50:40 +0000 Subject: Refactored ICode and added basic inlining capab... Refactored ICode and added basic inlining capabilities. --- src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala') 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; + } } -- cgit v1.2.3