Index: src/external-reference-table.cc |
diff --git a/src/external-reference-table.cc b/src/external-reference-table.cc |
index da48c13cfa39c9131a2ebe34ab6af6b02a4de528..20b524f16d7dd1174e64fb83ceb0f1a3edf98af9 100644 |
--- a/src/external-reference-table.cc |
+++ b/src/external-reference-table.cc |
@@ -297,19 +297,29 @@ ExternalReferenceTable::ExternalReferenceTable(Isolate* isolate) { |
const char* name; |
}; |
- static const AccessorRefTable accessors[] = { |
+ static const AccessorRefTable getters[] = { |
#define ACCESSOR_INFO_DECLARATION(name) \ |
{FUNCTION_ADDR(&Accessors::name##Getter), "Accessors::" #name "Getter"}, |
ACCESSOR_INFO_LIST(ACCESSOR_INFO_DECLARATION) |
#undef ACCESSOR_INFO_DECLARATION |
+ }; |
+ static const AccessorRefTable setters[] = { |
#define ACCESSOR_SETTER_DECLARATION(name) \ |
{FUNCTION_ADDR(&Accessors::name), "Accessors::" #name}, |
- ACCESSOR_SETTER_LIST(ACCESSOR_SETTER_DECLARATION) |
+ ACCESSOR_SETTER_LIST(ACCESSOR_SETTER_DECLARATION) |
#undef ACCESSOR_INFO_DECLARATION |
}; |
- for (unsigned i = 0; i < arraysize(accessors); ++i) { |
- Add(accessors[i].address, accessors[i].name); |
+ for (unsigned i = 0; i < arraysize(getters); ++i) { |
+ Add(getters[i].address, getters[i].name); |
+#ifdef USE_SIMULATOR |
+ Add(AccessorInfo::redirect(isolate, getters[i].address, ACCESSOR_GETTER), |
+ getters[i].name); |
+#endif |
+ } |
+ |
+ for (unsigned i = 0; i < arraysize(setters); ++i) { |
+ Add(setters[i].address, setters[i].name); |
} |
StubCache* stub_cache = isolate->stub_cache(); |