Index: src/api.cc |
diff --git a/src/api.cc b/src/api.cc |
index 5aea79984777b30081c3c3bc9a705a42a896ae95..18cef1bfc330f8ab50e9b83969d8adebdb6dd4dc 100644 |
--- a/src/api.cc |
+++ b/src/api.cc |
@@ -1225,8 +1225,10 @@ static i::Handle<i::AccessorInfo> SetAccessorInfoProperties( |
return obj; |
} |
+namespace { |
+ |
template <typename Getter, typename Setter> |
-static i::Handle<i::AccessorInfo> MakeAccessorInfo( |
+i::Handle<i::AccessorInfo> MakeAccessorInfo( |
v8::Local<Name> name, Getter getter, Setter setter, v8::Local<Value> data, |
v8::AccessControl settings, v8::PropertyAttribute attributes, |
v8::Local<AccessorSignature> signature, bool is_special_data_property) { |
@@ -1237,6 +1239,10 @@ static i::Handle<i::AccessorInfo> MakeAccessorInfo( |
setter = reinterpret_cast<Setter>(&i::Accessors::ReconfigureToDataProperty); |
} |
SET_FIELD_WRAPPED(obj, set_setter, setter); |
+#ifdef USE_SIMULATOR |
+ i::Address redirected = obj->redirected_getter(); |
+ if (redirected != nullptr) SET_FIELD_WRAPPED(obj, set_js_getter, redirected); |
+#endif |
if (data.IsEmpty()) { |
data = v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate)); |
} |
@@ -1245,6 +1251,7 @@ static i::Handle<i::AccessorInfo> MakeAccessorInfo( |
return SetAccessorInfoProperties(obj, name, settings, attributes, signature); |
} |
+} // namespace |
Local<ObjectTemplate> FunctionTemplate::InstanceTemplate() { |
i::Handle<i::FunctionTemplateInfo> handle = Utils::OpenHandle(this, true); |