diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-05-06 08:20:55 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-05-06 08:20:56 +0000 |
commit | 6ab0d9fe1abec72f5fe4841a8124fadf55400977 (patch) | |
tree | 9ac3fca744fe35496f4f0fa4a01c45104ce118cc /compiler/optimizing | |
parent | 2a12ad460af139a03c3e9bf5fc7886a7521b333e (diff) | |
parent | f529d776ca9f48b115714f6c79677755ecc37d24 (diff) | |
download | art-6ab0d9fe1abec72f5fe4841a8124fadf55400977.tar.gz art-6ab0d9fe1abec72f5fe4841a8124fadf55400977.tar.bz2 art-6ab0d9fe1abec72f5fe4841a8124fadf55400977.zip |
Merge "Make all registers available when allocating an output register."
Diffstat (limited to 'compiler/optimizing')
-rw-r--r-- | compiler/optimizing/code_generator.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index ff316e5b04..8b85d71dae 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -132,6 +132,12 @@ void CodeGenerator::AllocateRegistersLocally(HInstruction* instruction) const { } } + // Make all registers available for the return value. + for (size_t i = 0, e = GetNumberOfRegisters(); i < e; ++i) { + blocked_registers_[i] = false; + } + SetupBlockedRegisters(blocked_registers_); + Location result_location = locations->Out(); if (result_location.IsUnallocated()) { switch (result_location.GetPolicy()) { |