Reviewers: Igor Sheludko,

Message:
PTAL

Description:
Remove "force_initial_map"

BUG=

Please review this at https://codereview.chromium.org/267163003/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+23, -38 lines):
  M src/bootstrapper.cc
  M src/factory.h
  M src/factory.cc


Index: src/bootstrapper.cc
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
index 1848ce3ff6d7bf6fcc248d85feebe601f99dddba..24aec129df7797f9bd91db5d20d11cdb1508c97c 100644
--- a/src/bootstrapper.cc
+++ b/src/bootstrapper.cc
@@ -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);
@@ -1082,7 +1079,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);
@@ -1221,12 +1218,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"));
@@ -1240,9 +1234,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();
   }
@@ -1252,9 +1245,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();
   }
@@ -1628,10 +1620,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: src/factory.cc
diff --git a/src/factory.cc b/src/factory.cc
index 0c79e6c1783f9f441b46dae216527f1edfa3c06e..27c6f6dc2f67707d3497dbbf3fedc0c139f309ee 100644
--- a/src/factory.cc
+++ b/src/factory.cc
@@ -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: src/factory.h
diff --git a/src/factory.h b/src/factory.h
index 87eb61ae9723fe2a7d37ea356adc0529fcc15729..52f92717f585600e85e8efc9314c52aab033c3ec 100644
--- a/src/factory.h
+++ b/src/factory.h
@@ -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);


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