summaryrefslogtreecommitdiff
path: root/src/compiler_llvm
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler_llvm')
-rw-r--r--src/compiler_llvm/gbc_expander.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/compiler_llvm/gbc_expander.cc b/src/compiler_llvm/gbc_expander.cc
index 3dcd793c74..471a1250ae 100644
--- a/src/compiler_llvm/gbc_expander.cc
+++ b/src/compiler_llvm/gbc_expander.cc
@@ -1158,6 +1158,11 @@ void GBCExpanderPass::Expand_SetShadowFrameEntry(llvm::Value* obj,
};
llvm::Value* entry_addr = irb_.CreateGEP(shadow_frame_, gep_index);
+#if defined(ART_USE_QUICK_COMPILER)
+ if (obj->getType() != irb_.getJObjectTy()) {
+ obj = irb_.getJNull();
+ }
+#endif
irb_.CreateStore(obj, entry_addr, kTBAAShadowFrame);
return;
}