OSDN Git Service

Add a missing branch for inlined direct getters.
authorBen Cheng <bccheng@android.com>
Tue, 3 Aug 2010 19:54:00 +0000 (12:54 -0700)
committerBen Cheng <bccheng@android.com>
Tue, 3 Aug 2010 19:54:00 +0000 (12:54 -0700)
Change-Id: Ie11925b1856b32aeb6855601195e8a13d23c4e94

vm/compiler/InlineTransformation.c

index 6e04cfe..1dfa521 100644 (file)
@@ -194,6 +194,11 @@ static void inlineSetter(CompilationUnit *cUnit,
         gDvmJit.invokePolySetterInlined++;
 #endif
     } else {
+        /*
+         * The invoke becomes no-op so it needs an explicit branch to jump to
+         * the chaining cell.
+         */
+        invokeBB->needFallThroughBranch = true;
         invokeMIR->OptimizationFlags |= MIR_INLINED;
 #if defined(WITH_JIT_TUNING)
         gDvmJit.invokeMonoSetterInlined++;