From 488a78ca207898490da3cfb58399534fa9fb3fbf Mon Sep 17 00:00:00 2001 From: buzbee Date: Mon, 10 Sep 2012 15:55:34 -0700 Subject: Fix image size regression The new basic block collapse pass marks the eliminated block as kDead. On the Quick side, we skip code generation for these blocks - but neglected to do so for the non-Quick build. The result: lots of extra useless unreachable code got generated - hence the image size bloat. Fixed, and good news is that we're now seeing the roughly the same decrease in image size that showed up in the Quick build. Change-Id: Ie8038cb8058020eefaae1085362a2f8345895284 --- src/compiler/codegen/MethodCodegenDriver.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'src/compiler/codegen/MethodCodegenDriver.cc') diff --git a/src/compiler/codegen/MethodCodegenDriver.cc b/src/compiler/codegen/MethodCodegenDriver.cc index e76834d7c6..606a1ed98d 100644 --- a/src/compiler/codegen/MethodCodegenDriver.cc +++ b/src/compiler/codegen/MethodCodegenDriver.cc @@ -866,6 +866,7 @@ void handleExtendedMethodMIR(CompilationUnit* cUnit, BasicBlock* bb, MIR* mir) /* Handle the content in each basic block */ bool methodBlockCodeGen(CompilationUnit* cUnit, BasicBlock* bb) { + if (bb->blockType == kDead) return false; MIR* mir; LIR* labelList = cUnit->blockLabelList; int blockId = bb->id; -- cgit v1.2.3-59-g8ed1b