Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index c1e08a2d78eb1faa8073860e1484534f3071fb2f..0628e8c260d66bc6c8d70cbb58fbdb7bd5367e71 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -10244,10 +10244,20 @@ class AccessorInfo: public Struct { |
DECL_ACCESSORS(name, Object) |
DECL_INT_ACCESSORS(flag) |
DECL_ACCESSORS(expected_receiver_type, Object) |
+ // This directly points at a foreign C function to be used from the runtime. |
DECL_ACCESSORS(getter, Object) |
DECL_ACCESSORS(setter, Object) |
+ // This either points at the same as above, or a trampoline in case we are |
+ // running with the simulator. Use these entries from generated code. |
+ DECL_ACCESSORS(js_getter, Object) |
DECL_ACCESSORS(data, Object) |
+#ifdef USE_SIMULATOR |
+ static Address redirect(Isolate* isolate, Address address, |
+ AccessorComponent component); |
+ Address redirected_getter() const; |
+#endif |
+ |
// Dispatched behavior. |
DECLARE_PRINTER(AccessorInfo) |
@@ -10283,9 +10293,14 @@ class AccessorInfo: public Struct { |
static const int kNameOffset = HeapObject::kHeaderSize; |
static const int kFlagOffset = kNameOffset + kPointerSize; |
static const int kExpectedReceiverTypeOffset = kFlagOffset + kPointerSize; |
- static const int kGetterOffset = kExpectedReceiverTypeOffset + kPointerSize; |
- static const int kSetterOffset = kGetterOffset + kPointerSize; |
- static const int kDataOffset = kSetterOffset + kPointerSize; |
+ static const int kSetterOffset = kExpectedReceiverTypeOffset + kPointerSize; |
+ static const int kGetterOffset = kSetterOffset + kPointerSize; |
+#ifdef USE_SIMULATOR |
+ static const int kJsGetterOffset = kGetterOffset + kPointerSize; |
+#else |
+ static const int kJsGetterOffset = kGetterOffset; |
+#endif |
+ static const int kDataOffset = kJsGetterOffset + kPointerSize; |
static const int kSize = kDataOffset + kPointerSize; |