diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2015-03-09 10:28:50 +0000 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2015-03-11 14:23:38 +0000 |
commit | 234d69d075d1608f80adb647f7935077b62b6376 (patch) | |
tree | f6b68ff38722dc91bd0de2387609ee0ce950e0ce /compiler/optimizing/locations.h | |
parent | 31df246d330c45f5691e226d176d0c59450f8435 (diff) | |
download | android_art-234d69d075d1608f80adb647f7935077b62b6376.tar.gz android_art-234d69d075d1608f80adb647f7935077b62b6376.tar.bz2 android_art-234d69d075d1608f80adb647f7935077b62b6376.zip |
Revert "Revert "[optimizing] Enable x86 long support.""
This reverts commit 154552e666347d41d95d7619c6ee56249ff4feca.
Change-Id: Idc726551c249a888b7ff5fde8508ae50e81b2e13
Diffstat (limited to 'compiler/optimizing/locations.h')
-rw-r--r-- | compiler/optimizing/locations.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/compiler/optimizing/locations.h b/compiler/optimizing/locations.h index 198cc15cce..566c0daf1e 100644 --- a/compiler/optimizing/locations.h +++ b/compiler/optimizing/locations.h @@ -211,15 +211,25 @@ class Location : public ValueObject { } Location ToLow() const { - return IsRegisterPair() - ? Location::RegisterLocation(low()) - : Location::FpuRegisterLocation(low()); + if (IsRegisterPair()) { + return Location::RegisterLocation(low()); + } else if (IsFpuRegisterPair()) { + return Location::FpuRegisterLocation(low()); + } else { + DCHECK(IsDoubleStackSlot()); + return Location::StackSlot(GetStackIndex()); + } } Location ToHigh() const { - return IsRegisterPair() - ? Location::RegisterLocation(high()) - : Location::FpuRegisterLocation(high()); + if (IsRegisterPair()) { + return Location::RegisterLocation(high()); + } else if (IsFpuRegisterPair()) { + return Location::FpuRegisterLocation(high()); + } else { + DCHECK(IsDoubleStackSlot()); + return Location::StackSlot(GetHighStackIndex(4)); + } } static uintptr_t EncodeStackIndex(intptr_t stack_index) { |