diff options
| author | 2012-05-16 21:44:35 -0700 | |
|---|---|---|
| committer | 2012-05-17 21:28:13 -0700 | |
| commit | f165286d35bb5cc0e173cbf2d233314c7e805795 (patch) | |
| tree | f57b5062dd2afc0c8c659cb6e19cca7758a1e659 /src/compiler_llvm/method_compiler.cc | |
| parent | aaa5edcf2deb1bddcbf5fb27820ad2240ac5b4f2 (diff) | |
Don't allocate unused shadow frame entry.
Change-Id: Ic1d9c4279c246358e812ccaba2fb535c5a01674d
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++; + } } } |