Index: src/deoptimizer.cc |
diff --git a/src/deoptimizer.cc b/src/deoptimizer.cc |
index c1df93769ee8f8ad6ec6c939cb9931fc4626073f..b5c978a4394240adcf22da48e3e905943ecb7957 100644 |
--- a/src/deoptimizer.cc |
+++ b/src/deoptimizer.cc |
@@ -3260,7 +3260,11 @@ Handle<Object> SlotRef::GetValue(Isolate* isolate) { |
return Handle<Object>(Memory::Object_at(addr_), isolate); |
case INT32: { |
+#if V8_TARGET_BIG_ENDIAN && V8_HOST_ARCH_64_BIT |
+ int value = Memory::int32_at(addr_ + kIntSize); |
+#else |
int value = Memory::int32_at(addr_); |
+#endif |
if (Smi::IsValid(value)) { |
return Handle<Object>(Smi::FromInt(value), isolate); |
} else { |
@@ -3269,7 +3273,11 @@ Handle<Object> SlotRef::GetValue(Isolate* isolate) { |
} |
case UINT32: { |
+#if V8_TARGET_BIG_ENDIAN && V8_HOST_ARCH_64_BIT |
+ uint32_t value = Memory::uint32_at(addr_ + kIntSize); |
+#else |
uint32_t value = Memory::uint32_at(addr_); |
+#endif |
if (value <= static_cast<uint32_t>(Smi::kMaxValue)) { |
return Handle<Object>(Smi::FromInt(static_cast<int>(value)), isolate); |
} else { |