diff options
| author | 2015-01-14 10:49:16 +0000 | |
|---|---|---|
| committer | 2015-01-21 11:27:57 +0000 | |
| commit | 41aedbb684ccef76ff8373f39aba606ce4cb3194 (patch) | |
| tree | 94929237a0fe9b24dda7409d9433f07e82af4461 /compiler/optimizing/code_generator.cc | |
| parent | 97c89e4c081dcf4bacbde70b6609e366c9da417e (diff) | |
Fully support pairs in the register allocator.
Enabled on ARM for longs and doubles.
Change-Id: Id8792d08bd7ca9fb049c5db8a40ae694bafc2d8b
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
| -rw-r--r-- | compiler/optimizing/code_generator.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index cdfd989bb8..fe7bdc0cdf 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -632,6 +632,14 @@ void CodeGenerator::RecordPcInfo(HInstruction* instruction, uint32_t dex_pc) { break; } + case Location::kRegisterPair : { + stack_map_stream_.AddDexRegisterEntry(DexRegisterMap::kInRegister, location.low()); + stack_map_stream_.AddDexRegisterEntry(DexRegisterMap::kInRegister, location.high()); + ++i; + DCHECK_LT(i, environment_size); + break; + } + default: LOG(FATAL) << "Unexpected kind " << location.GetKind(); } |