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.