summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/method_compiler.cc
diff options
context:
space:
mode:
author TDYa127 <tdy@google.com> 2012-05-16 21:44:35 -0700
committer Shih-wei Liao <sliao@google.com> 2012-05-17 21:28:13 -0700
commitf165286d35bb5cc0e173cbf2d233314c7e805795 (patch)
treef57b5062dd2afc0c8c659cb6e19cca7758a1e659 /src/compiler_llvm/method_compiler.cc
parentaaa5edcf2deb1bddcbf5fb27820ad2240ac5b4f2 (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.cc8
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++;
+ }
}
}