Index: src/globals.h |
diff --git a/src/globals.h b/src/globals.h |
index fbc749da854684718ee37a7bba875939cf462b86..c218f80dc11a701c048eeb957427243dc537c738 100644 |
--- a/src/globals.h |
+++ b/src/globals.h |
@@ -93,6 +93,18 @@ namespace internal { |
#error Target architecture mips is only supported on mips and ia32 host |
#endif |
+// Determine whether we are running in a simulated environment. |
+// Setting USE_SIMULATOR explicitly from the build script will force |
+// the use of a simulated environment. |
+#if !defined(USE_SIMULATOR) |
+#if (defined(V8_TARGET_ARCH_ARM) && !defined(V8_HOST_ARCH_ARM)) |
+#define USE_SIMULATOR 1 |
+#endif |
+#if (defined(V8_TARGET_ARCH_MIPS) && !defined(V8_HOST_ARCH_MIPS)) |
+#define USE_SIMULATOR 1 |
+#endif |
+#endif |
+ |
// Define unaligned read for the target architectures supporting it. |
#if defined(V8_TARGET_ARCH_X64) || defined(V8_TARGET_ARCH_IA32) |
#define V8_TARGET_CAN_READ_UNALIGNED 1 |
@@ -189,9 +201,11 @@ const int kIntptrSize = sizeof(intptr_t); // NOLINT |
#if V8_HOST_ARCH_64_BIT |
const int kPointerSizeLog2 = 3; |
const intptr_t kIntptrSignBit = V8_INT64_C(0x8000000000000000); |
+const uintptr_t kUintptrAllBitsSet = V8_UINT64_C(0xFFFFFFFFFFFFFFFF); |
#else |
const int kPointerSizeLog2 = 2; |
const intptr_t kIntptrSignBit = 0x80000000; |
+const uintptr_t kUintptrAllBitsSet = 0xFFFFFFFFu; |
#endif |
// Mask for the sign bit in a smi. |
@@ -324,6 +338,7 @@ class MarkCompactCollector; |
class NewSpace; |
class NodeVisitor; |
class Object; |
+class MaybeObject; |
class OldSpace; |
class Property; |
class Proxy; |
@@ -542,8 +557,8 @@ union IeeeDoubleBigEndianArchType { |
// AccessorCallback |
struct AccessorDescriptor { |
- Object* (*getter)(Object* object, void* data); |
- Object* (*setter)(JSObject* object, Object* value, void* data); |
+ MaybeObject* (*getter)(Object* object, void* data); |
+ MaybeObject* (*setter)(JSObject* object, Object* value, void* data); |
void* data; |
}; |