Revision: 14451
Author:   [email protected]
Date:     Fri Apr 26 03:10:36 2013
Log:      Bootstrapper code for constructed arrays needs to be handlefied

BUG=

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

Modified:
 /branches/bleeding_edge/src/bootstrapper.cc
 /branches/bleeding_edge/src/objects.cc
 /branches/bleeding_edge/src/objects.h

=======================================
--- /branches/bleeding_edge/src/bootstrapper.cc Fri Apr 26 01:49:20 2013
+++ /branches/bleeding_edge/src/bootstrapper.cc Fri Apr 26 03:10:36 2013
@@ -892,10 +892,7 @@

     if (FLAG_optimize_constructed_arrays) {
       // Cache the array maps, needed by ArrayConstructorStub
- MaybeObject* cache_result = CacheInitialJSArrayMaps(*native_context(),
-                                                          *initial_map);
-      if (cache_result->IsFailure()) return false;
-
+      CacheInitialJSArrayMaps(native_context(), initial_map);
       ArrayConstructorStub array_constructor_stub(isolate);
       Handle<Code> code = array_constructor_stub.GetCode(isolate);
       array_function->shared()->set_construct_stub(*code);
=======================================
--- /branches/bleeding_edge/src/objects.cc      Thu Apr 25 09:00:32 2013
+++ /branches/bleeding_edge/src/objects.cc      Fri Apr 26 03:10:36 2013
@@ -8369,7 +8369,7 @@
 }


-MUST_USE_RESULT MaybeObject* CacheInitialJSArrayMaps(
+static MUST_USE_RESULT MaybeObject* CacheInitialJSArrayMaps(
     Context* native_context, Map* initial_map) {
// Replace all of the cached initial array maps in the native context with
   // the appropriate transitioned elements kind maps.
@@ -8396,6 +8396,14 @@
   native_context->set_js_array_maps(maps);
   return initial_map;
 }
+
+
+Handle<Object> CacheInitialJSArrayMaps(Handle<Context> native_context,
+                                       Handle<Map> initial_map) {
+  CALL_HEAP_FUNCTION(native_context->GetIsolate(),
+ CacheInitialJSArrayMaps(*native_context, *initial_map),
+                     Object);
+}


 MaybeObject* JSFunction::SetInstancePrototype(Object* value) {
=======================================
--- /branches/bleeding_edge/src/objects.h       Fri Apr 26 01:52:35 2013
+++ /branches/bleeding_edge/src/objects.h       Fri Apr 26 03:10:36 2013
@@ -8753,8 +8753,8 @@
 };


-MUST_USE_RESULT MaybeObject* CacheInitialJSArrayMaps(
-    Context* native_context, Map* initial_map);
+Handle<Object> CacheInitialJSArrayMaps(Handle<Context> native_context,
+                                       Handle<Map> initial_map);


 // JSRegExpResult is just a JSArray with a specific initial map.

--
--
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/groups/opt_out.


Reply via email to