Remove "force_initial_map"
authorverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 9 May 2014 16:42:57 +0000 (16:42 +0000)
committerverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 9 May 2014 16:42:57 +0000 (16:42 +0000)
BUG=
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/267163003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/bootstrapper.cc
src/factory.cc
src/factory.h

index f3a9330..ada6aa1 100644 (file)
@@ -358,8 +358,7 @@ static Handle<JSFunction> InstallFunction(Handle<JSObject> target,
   Handle<String> internalized_name = factory->InternalizeUtf8String(name);
   Handle<Code> call_code = Handle<Code>(isolate->builtins()->builtin(call));
   Handle<JSFunction> function = factory->NewFunction(
-      maybe_prototype, internalized_name, type, instance_size, call_code,
-      !maybe_prototype.is_null());
+      maybe_prototype, internalized_name, type, instance_size, call_code);
   PropertyAttributes attributes;
   if (target->IsJSBuiltinsObject()) {
     attributes =
@@ -708,9 +707,8 @@ Handle<JSGlobalProxy> Genesis::CreateNewGlobals(
     Handle<String> name = Handle<String>(heap()->empty_string());
     Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin(
         Builtins::kIllegal));
-    js_global_function =
-        factory()->NewFunction(name, JS_GLOBAL_OBJECT_TYPE,
-                               JSGlobalObject::kSize, code, true);
+    js_global_function = factory()->NewFunction(
+        name, JS_GLOBAL_OBJECT_TYPE, JSGlobalObject::kSize, code);
     // Change the constructor property of the prototype of the
     // hidden global function to refer to the Object function.
     Handle<JSObject> prototype =
@@ -742,9 +740,8 @@ Handle<JSGlobalProxy> Genesis::CreateNewGlobals(
     Handle<String> name = Handle<String>(heap()->empty_string());
     Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin(
         Builtins::kIllegal));
-    global_proxy_function =
-        factory()->NewFunction(name, JS_GLOBAL_PROXY_TYPE,
-                               JSGlobalProxy::kSize, code, true);
+    global_proxy_function = factory()->NewFunction(
+        name, JS_GLOBAL_PROXY_TYPE, JSGlobalProxy::kSize, code);
   } else {
     Handle<ObjectTemplateInfo> data =
         v8::Utils::OpenHandle(*global_template);
@@ -1091,7 +1088,7 @@ void Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
 
     Handle<JSFunction> function = factory->NewFunction(
         MaybeHandle<Object>(), arguments_string, JS_OBJECT_TYPE,
-        JSObject::kHeaderSize, code, false);
+        JSObject::kHeaderSize, code);
     ASSERT(!function->has_initial_map());
     function->shared()->set_instance_class_name(*arguments_string);
     function->shared()->set_expected_nof_properties(2);
@@ -1230,12 +1227,9 @@ void Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
     // Create a function for the context extension objects.
     Handle<Code> code = Handle<Code>(
         isolate->builtins()->builtin(Builtins::kIllegal));
-    Handle<JSFunction> context_extension_fun =
-        factory->NewFunction(factory->empty_string(),
-                             JS_CONTEXT_EXTENSION_OBJECT_TYPE,
-                             JSObject::kHeaderSize,
-                             code,
-                             true);
+    Handle<JSFunction> context_extension_fun = factory->NewFunction(
+        factory->empty_string(), JS_CONTEXT_EXTENSION_OBJECT_TYPE,
+        JSObject::kHeaderSize, code);
 
     Handle<String> name = factory->InternalizeOneByteString(
         STATIC_ASCII_VECTOR("context_extension"));
@@ -1249,9 +1243,8 @@ void Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
     Handle<Code> code =
         Handle<Code>(isolate->builtins()->builtin(
             Builtins::kHandleApiCallAsFunction));
-    Handle<JSFunction> delegate =
-        factory->NewFunction(factory->empty_string(), JS_OBJECT_TYPE,
-                             JSObject::kHeaderSize, code, true);
+    Handle<JSFunction> delegate = factory->NewFunction(
+        factory->empty_string(), JS_OBJECT_TYPE, JSObject::kHeaderSize, code);
     native_context()->set_call_as_function_delegate(*delegate);
     delegate->shared()->DontAdaptArguments();
   }
@@ -1261,9 +1254,8 @@ void Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
     Handle<Code> code =
         Handle<Code>(isolate->builtins()->builtin(
             Builtins::kHandleApiCallAsConstructor));
-    Handle<JSFunction> delegate =
-        factory->NewFunction(factory->empty_string(), JS_OBJECT_TYPE,
-                             JSObject::kHeaderSize, code, true);
+    Handle<JSFunction> delegate = factory->NewFunction(
+        factory->empty_string(), JS_OBJECT_TYPE, JSObject::kHeaderSize, code);
     native_context()->set_call_as_constructor_delegate(*delegate);
     delegate->shared()->DontAdaptArguments();
   }
@@ -1627,10 +1619,9 @@ bool Genesis::InstallNatives() {
   // (itself) and a reference to the native_context directly in the object.
   Handle<Code> code = Handle<Code>(
       isolate()->builtins()->builtin(Builtins::kIllegal));
-  Handle<JSFunction> builtins_fun =
-      factory()->NewFunction(factory()->empty_string(),
-                             JS_BUILTINS_OBJECT_TYPE,
-                             JSBuiltinsObject::kSize, code, true);
+  Handle<JSFunction> builtins_fun = factory()->NewFunction(
+      factory()->empty_string(), JS_BUILTINS_OBJECT_TYPE,
+      JSBuiltinsObject::kSize, code);
 
   Handle<String> name =
       factory()->InternalizeOneByteString(STATIC_ASCII_VECTOR("builtins"));
index 0c79e6c..27c6f6d 100644 (file)
@@ -1233,12 +1233,11 @@ Handle<JSFunction> Factory::NewFunction(MaybeHandle<Object> maybe_prototype,
                                         Handle<String> name,
                                         InstanceType type,
                                         int instance_size,
-                                        Handle<Code> code,
-                                        bool force_initial_map) {
+                                        Handle<Code> code) {
   // Allocate the function
   Handle<JSFunction> function = NewFunction(name, maybe_prototype, code);
 
-  if (force_initial_map ||
+  if (!maybe_prototype.is_null() ||
       type != JS_OBJECT_TYPE ||
       instance_size != JSObject::kHeaderSize) {
     Handle<Object> prototype = maybe_prototype.ToHandleChecked();
@@ -1262,10 +1261,8 @@ Handle<JSFunction> Factory::NewFunction(MaybeHandle<Object> maybe_prototype,
 Handle<JSFunction> Factory::NewFunction(Handle<String> name,
                                         InstanceType type,
                                         int instance_size,
-                                        Handle<Code> code,
-                                        bool force_initial_map) {
-  return NewFunction(
-      the_hole_value(), name, type, instance_size, code, force_initial_map);
+                                        Handle<Code> code) {
+  return NewFunction(the_hole_value(), name, type, instance_size, code);
 }
 
 
@@ -2099,8 +2096,7 @@ Handle<JSFunction> Factory::CreateApiFunction(
   if (obj->remove_prototype()) maybe_prototype = MaybeHandle<Object>();
 
   Handle<JSFunction> result = NewFunction(
-      maybe_prototype, Factory::empty_string(), type,
-      instance_size, code, !obj->remove_prototype());
+      maybe_prototype, Factory::empty_string(), type, instance_size, code);
 
   result->shared()->set_length(obj->length());
   Handle<Object> class_name(obj->class_name(), isolate());
index 87eb61a..52f9271 100644 (file)
@@ -465,13 +465,11 @@ class Factory V8_FINAL {
                                  Handle<String> name,
                                  InstanceType type,
                                  int instance_size,
-                                 Handle<Code> code,
-                                 bool force_initial_map);
+                                 Handle<Code> code);
   Handle<JSFunction> NewFunction(Handle<String> name,
                                  InstanceType type,
                                  int instance_size,
-                                 Handle<Code> code,
-                                 bool force_initial_map);
+                                 Handle<Code> code);
 
   // Create a serialized scope info.
   Handle<ScopeInfo> NewScopeInfo(int length);