diff options
| author | 2012-05-11 10:54:02 -0700 | |
|---|---|---|
| committer | 2012-05-12 00:57:37 -0700 | |
| commit | d955bec688d007bd3afdde89a08691a8fe97a6a9 (patch) | |
| tree | 470a831c469cdefde79151b17b6e5877045c300c /src/compiler_llvm/jni_compiler.cc | |
| parent | 71e85b74eb5710a689e83623706b3bb372762eb5 (diff) | |
TBAA, separate RuntimeInfo and ShadowFrame.
Change-Id: I943d0af693573c0bf9fcc1fd7862c67916a95a34
Diffstat (limited to 'src/compiler_llvm/jni_compiler.cc')
| -rw-r--r-- | src/compiler_llvm/jni_compiler.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/compiler_llvm/jni_compiler.cc b/src/compiler_llvm/jni_compiler.cc index 357d50d0c3..4b9fb052b2 100644 --- a/src/compiler_llvm/jni_compiler.cc +++ b/src/compiler_llvm/jni_compiler.cc @@ -120,19 +120,19 @@ CompiledMethod* JniCompiler::Compile() { irb_.CreatePtrDisp(shadow_frame_, irb_.getPtrEquivInt(ShadowFrame::MethodOffset()), irb_.getJObjectTy()->getPointerTo()); - irb_.CreateStore(method_object_addr, method_field_addr, kTBAARuntimeInfo); + irb_.CreateStore(method_object_addr, method_field_addr, kTBAAShadowFrame); // Store the dex pc irb_.StoreToObjectOffset(shadow_frame_, ShadowFrame::DexPCOffset(), irb_.getInt32(0), - kTBAARuntimeInfo); + kTBAAShadowFrame); // Store the number of the pointer slots irb_.StoreToObjectOffset(shadow_frame_, ShadowFrame::NumberOfReferencesOffset(), irb_.getInt32(sirt_size), - kTBAARuntimeInfo); + kTBAAShadowFrame); // Push the shadow frame llvm::Value* shadow_frame_upcast = irb_.CreateConstGEP2_32(shadow_frame_, 0, 0); @@ -176,7 +176,7 @@ CompiledMethod* JniCompiler::Compile() { // Store the "this object or class object" to SIRT gep_index[2] = irb_.getInt32(sirt_member_index++); llvm::Value* sirt_field_addr = irb_.CreateGEP(shadow_frame_, gep_index); - irb_.CreateStore(this_object_or_class_object, sirt_field_addr, kTBAARuntimeInfo); + irb_.CreateStore(this_object_or_class_object, sirt_field_addr, kTBAAShadowFrame); // Push the "this object or class object" to out args args.push_back(irb_.CreateBitCast(sirt_field_addr, irb_.getJObjectTy())); // Store arguments to SIRT, and push back to args @@ -185,7 +185,7 @@ CompiledMethod* JniCompiler::Compile() { // Store the reference type arguments to SIRT gep_index[2] = irb_.getInt32(sirt_member_index++); llvm::Value* sirt_field_addr = irb_.CreateGEP(shadow_frame_, gep_index); - irb_.CreateStore(arg_iter, sirt_field_addr, kTBAARuntimeInfo); + irb_.CreateStore(arg_iter, sirt_field_addr, kTBAAShadowFrame); // Note null is placed in the SIRT but the jobject passed to the native code must be null // (not a pointer into the SIRT as with regular references). llvm::Value* equal_null = irb_.CreateICmpEQ(arg_iter, irb_.getJNull()); |