Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 7f2b8df82035f1e545491a1eeb474c50016cdb08..da79e0687e6e4f10d88395a7b21f7b74c705f044 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -1969,6 +1969,22 @@ MaybeHandle<Object> JSObject::AddProperty( |
} |
+Context* JSObject::GetCreationContext() { |
+ Object* constructor = this->map()->constructor(); |
+ JSFunction* function; |
+ if (!constructor->IsJSFunction()) { |
+ // Functions have null as a constructor, |
+ // but any JSFunction knows its context immediately. |
+ ASSERT(this->IsJSFunction()); |
+ function = JSFunction::cast(this); |
+ } else { |
+ function = JSFunction::cast(constructor); |
+ } |
+ |
+ return function->context()->native_context(); |
+} |
+ |
+ |
void JSObject::EnqueueChangeRecord(Handle<JSObject> object, |
const char* type_str, |
Handle<Name> name, |