Revision: 22852
Author:   [email protected]
Date:     Tue Aug  5 09:24:27 2014 UTC
Log: Reland "Also mark as prototype when passing in while creating a function." Skip gc-stress for test relying on stable feedback (and hence stable gc timing).

BUG=
[email protected]

Review URL: https://codereview.chromium.org/441873005
http://code.google.com/p/v8/source/detail?r=22852

Modified:
 /branches/bleeding_edge/src/factory.cc
 /branches/bleeding_edge/src/objects.cc
 /branches/bleeding_edge/test/mjsunit/mjsunit.status

=======================================
--- /branches/bleeding_edge/src/factory.cc      Tue Aug  5 07:20:57 2014 UTC
+++ /branches/bleeding_edge/src/factory.cc      Tue Aug  5 09:24:27 2014 UTC
@@ -1268,6 +1268,11 @@
       ? 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;
 }
=======================================
--- /branches/bleeding_edge/src/objects.cc      Tue Aug  5 08:18:22 2014 UTC
+++ /branches/bleeding_edge/src/objects.cc      Tue Aug  5 09:24:27 2014 UTC
@@ -7288,6 +7288,7 @@


 Handle<Map> Map::CopyAsPrototypeMap(Handle<Map> map) {
+  if (map->is_prototype_map()) return map;
   Handle<Map> result = Copy(map);
   result->mark_prototype_map();
   return result;
=======================================
--- /branches/bleeding_edge/test/mjsunit/mjsunit.status Mon Aug 4 09:13:58 2014 UTC +++ /branches/bleeding_edge/test/mjsunit/mjsunit.status Tue Aug 5 09:24:27 2014 UTC
@@ -246,15 +246,16 @@
   'array-feedback': [SKIP],
   'array-literal-feedback': [SKIP],
   'd8-performance-now': [SKIP],
+  'debug-stepout-scope-part8': [PASS, ['arch == arm ', FAIL]],
   'elements-kind': [SKIP],
+  'elements-transition-hoisting': [SKIP],
   'fast-prototype': [SKIP],
+  'getters-on-elements': [SKIP],
+  'harmony/block-let-crankshaft': [SKIP],
   'opt-elements-kind': [SKIP],
   'osr-elements-kind': [SKIP],
   'regress/regress-165637': [SKIP],
   'regress/regress-2249': [SKIP],
-  'debug-stepout-scope-part8': [PASS, ['arch == arm ', FAIL]],
-  'elements-transition-hoisting': [PASS, FAIL],
-  'getters-on-elements': [PASS, FAIL],
   # Tests taking too long
   'debug-stepout-scope-part8': [SKIP],
   'mirror-object': [SKIP],

--
--
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.

Reply via email to