diff options
| author | jeffhao <jeffhao@google.com> | 2010-02-23 12:29:47 -0800 |
|---|---|---|
| committer | jeffhao <jeffhao@google.com> | 2010-02-23 12:29:47 -0800 |
| commit | b0d01b0178081c98b8cdb2fba2d84f275a0c595e (patch) | |
| tree | e36c38d9b7318a14d93a417b841a7ae21496db90 /dx | |
| parent | 05c9d91a7fd80fef3141b832fc8caeef44612c86 (diff) | |
| download | android_dalvik-b0d01b0178081c98b8cdb2fba2d84f275a0c595e.tar.gz android_dalvik-b0d01b0178081c98b8cdb2fba2d84f275a0c595e.tar.bz2 android_dalvik-b0d01b0178081c98b8cdb2fba2d84f275a0c595e.zip | |
Fixed bug 2438465, prevented blocks with move-result from being combined.
Diffstat (limited to 'dx')
| -rw-r--r-- | dx/src/com/android/dx/ssa/back/IdenticalBlockCombiner.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/dx/src/com/android/dx/ssa/back/IdenticalBlockCombiner.java b/dx/src/com/android/dx/ssa/back/IdenticalBlockCombiner.java index a639af561..e9974c0fd 100644 --- a/dx/src/com/android/dx/ssa/back/IdenticalBlockCombiner.java +++ b/dx/src/com/android/dx/ssa/back/IdenticalBlockCombiner.java @@ -21,6 +21,7 @@ import com.android.dx.rop.code.BasicBlockList; import com.android.dx.rop.code.CstInsn; import com.android.dx.rop.code.Insn; import com.android.dx.rop.code.InsnList; +import com.android.dx.rop.code.RegOps; import com.android.dx.rop.code.RopMethod; import com.android.dx.rop.code.SwitchInsn; import com.android.dx.util.IntList; @@ -92,6 +93,8 @@ public class IdenticalBlockCombiner { BasicBlock jBlock = blocks.labelToBlock(jLabel); if (jBlock.getSuccessors().size() == 1 + && iBlock.getFirstInsn().getOpcode().getOpcode() != + RegOps.MOVE_RESULT && compareInsns(iBlock, jBlock)) { toCombine.add(jLabel); |
