summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.cc
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2017-06-02 12:44:10 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-06-02 12:44:12 +0000
commit9b70b4a806096d15bf00f629c1078c126dbd626b (patch)
tree6831c828fcbd07f49f11e3c27f8fd03b9e65fb0c /compiler/optimizing/code_generator.cc
parentb4fe268625d881315002be75e6f71eb49cc6da5c (diff)
parentec32f6402382303608544fdac5a88067781bdec5 (diff)
Merge "Delay allocating environment locations."
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r--compiler/optimizing/code_generator.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc
index 65f3c72e99..1605f8df17 100644
--- a/compiler/optimizing/code_generator.cc
+++ b/compiler/optimizing/code_generator.cc
@@ -557,6 +557,9 @@ void CodeGenerator::BlockIfInRegister(Location location, bool is_out) const {
}
void CodeGenerator::AllocateLocations(HInstruction* instruction) {
+ for (HEnvironment* env = instruction->GetEnvironment(); env != nullptr; env = env->GetParent()) {
+ env->AllocateLocations();
+ }
instruction->Accept(GetLocationBuilder());
DCHECK(CheckTypeConsistency(instruction));
LocationSummary* locations = instruction->GetLocations();