From 0de52be83fc634d1407d8574986e8014de1df4fa Mon Sep 17 00:00:00 2001 From: TDYa127 Date: Sun, 27 May 2012 20:49:31 -0700 Subject: Remove data dependency of push/pop shadow frame. Change-Id: I883a1082190084ddfa4a09b8953ac9dafa256e7e --- src/compiler_llvm/jni_compiler.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/compiler_llvm/jni_compiler.cc') diff --git a/src/compiler_llvm/jni_compiler.cc b/src/compiler_llvm/jni_compiler.cc index 4b9fb052b2..c76c80d88b 100644 --- a/src/compiler_llvm/jni_compiler.cc +++ b/src/compiler_llvm/jni_compiler.cc @@ -136,7 +136,8 @@ CompiledMethod* JniCompiler::Compile() { // Push the shadow frame llvm::Value* shadow_frame_upcast = irb_.CreateConstGEP2_32(shadow_frame_, 0, 0); - irb_.CreateCall(irb_.GetRuntime(PushShadowFrame), shadow_frame_upcast); + llvm::Value* old_shadow_frame = + irb_.CreateCall(irb_.GetRuntime(PushShadowFrame), shadow_frame_upcast); // Get JNIEnv llvm::Value* jni_env_object_addr = @@ -271,7 +272,7 @@ CompiledMethod* JniCompiler::Compile() { kTBAARuntimeInfo); // Pop the shadow frame - irb_.CreateCall(irb_.GetRuntime(PopShadowFrame)); + irb_.CreateCall(irb_.GetRuntime(PopShadowFrame), old_shadow_frame); // Return! if (return_shorty != 'V') { -- cgit v1.2.3-59-g8ed1b