diff options
Diffstat (limited to 'src/compiler_llvm/method_compiler.cc')
| -rw-r--r-- | src/compiler_llvm/method_compiler.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc index 4070791061..90285946ba 100644 --- a/src/compiler_llvm/method_compiler.cc +++ b/src/compiler_llvm/method_compiler.cc @@ -263,9 +263,11 @@ void MethodCompiler::EmitPrologueAllocShadowFrame() { // 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++; + } } } |