summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/md_builder.cc
diff options
context:
space:
mode:
author TDYa127 <tdy@google.com> 2012-11-18 16:59:53 -0800
committer Shih-wei Liao <sliao@google.com> 2012-12-04 11:07:34 -0800
commitce4cc0d1818e872c1c7f3c3519a82259afd5c288 (patch)
tree308f2c30e5a842a5e459d96e730ca4432a020f4f /src/compiler_llvm/md_builder.cc
parent823b8acdf2c8274ff93b685e50a93ab9afc6af8b (diff)
Using gcmap instead of shadow frame.
Fix misuse of TBAAJRuntime & TBAARuntimeInfo. Now, the TBAAJRuntime is only for runtime support function. Update DexPC before lock object and suspend. Change-Id: I40fa37f4863fe6e127328a8413285ee3c62e8505
Diffstat (limited to 'src/compiler_llvm/md_builder.cc')
-rw-r--r--src/compiler_llvm/md_builder.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/compiler_llvm/md_builder.cc b/src/compiler_llvm/md_builder.cc
index f5232aa69c..038e133356 100644
--- a/src/compiler_llvm/md_builder.cc
+++ b/src/compiler_llvm/md_builder.cc
@@ -39,8 +39,10 @@ llvm::MDNode* MDBuilder::GetTBAASpecialType(TBAASpecialType sty_id) {
case kTBAAHeapInstance: spec_ty = createTBAANode("HeapInstance", tbaa_root_); break;
case kTBAAHeapStatic: spec_ty = createTBAANode("HeapStatic", tbaa_root_); break;
case kTBAAJRuntime: spec_ty = createTBAANode("JRuntime", tbaa_root_); break;
- case kTBAARuntimeInfo: spec_ty = createTBAANode("RuntimeInfo", tbaa_root_); break;
- case kTBAAShadowFrame: spec_ty = createTBAANode("ShadowFrame", tbaa_root_); break;
+ case kTBAARuntimeInfo: spec_ty = createTBAANode("RuntimeInfo",
+ GetTBAASpecialType(kTBAAJRuntime)); break;
+ case kTBAAShadowFrame: spec_ty = createTBAANode("ShadowFrame",
+ GetTBAASpecialType(kTBAAJRuntime)); break;
case kTBAAConstJObject: spec_ty = createTBAANode("ConstJObject", tbaa_root_, true); break;
default:
LOG(FATAL) << "Unknown TBAA special type: " << sty_id;