Don't allocate unused shadow frame entry.
Change-Id: Ic1d9c4279c246358e812ccaba2fb535c5a01674d
diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc
index 4070791..9028594 100644
--- a/src/compiler_llvm/method_compiler.cc
+++ b/src/compiler_llvm/method_compiler.cc
@@ -263,9 +263,11 @@
// Allocate the shadow frame now!
uint32_t sirt_size = 0;
- for (uint32_t i = 0, num_of_regs = code_item_->registers_size_; i < num_of_regs; ++i) {
- if (IsRegCanBeObject(i)) {
- reg_to_shadow_frame_index_[i] = sirt_size++;
+ if (method_info_.need_shadow_frame_entry) {
+ for (uint32_t i = 0, num_of_regs = code_item_->registers_size_; i < num_of_regs; ++i) {
+ if (IsRegCanBeObject(i)) {
+ reg_to_shadow_frame_index_[i] = sirt_size++;
+ }
}
}