Reviewers: Igor Sheludko,
Message:
PTAL
Description:
Also mark as prototype when passing in while creating a function.
BUG=
Please review this at https://codereview.chromium.org/422233010/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+5, -0 lines):
M src/factory.cc
Index: src/factory.cc
diff --git a/src/factory.cc b/src/factory.cc
index
a844bd1cdb8ba274888cb87419830fc2122ddec8..e3a19a1e4ba988a0b19b00219e8ed50d83cb3a23
100644
--- a/src/factory.cc
+++ b/src/factory.cc
@@ -1268,6 +1268,11 @@ Handle<JSFunction>
Factory::NewFunction(Handle<String> name,
? isolate()->sloppy_function_with_readonly_prototype_map()
: isolate()->sloppy_function_map();
Handle<JSFunction> result = NewFunction(map, name, code);
+ if (!prototype->IsTheHole()) {
+ Handle<JSObject> js_proto = Handle<JSObject>::cast(prototype);
+ Handle<Map> new_map = Map::CopyAsPrototypeMap(handle(js_proto->map()));
+ JSObject::MigrateToMap(js_proto, new_map);
+ }
result->set_prototype_or_initial_map(*prototype);
return result;
}
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.