diff options
author | 2017-06-02 12:44:10 +0000 | |
---|---|---|
committer | 2017-06-02 12:44:12 +0000 | |
commit | 9b70b4a806096d15bf00f629c1078c126dbd626b (patch) | |
tree | 6831c828fcbd07f49f11e3c27f8fd03b9e65fb0c /compiler/optimizing/code_generator.cc | |
parent | b4fe268625d881315002be75e6f71eb49cc6da5c (diff) | |
parent | ec32f6402382303608544fdac5a88067781bdec5 (diff) |
Merge "Delay allocating environment locations."
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
-rw-r--r-- | compiler/optimizing/code_generator.cc | 3 |
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(); |