Index: src/bootstrapper.cc |
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc |
index e91462e027f1542389313733cdca84998b78a4f5..fa25cebeead33dd174d58239fcf4de8e3e5fe354 100644 |
--- a/src/bootstrapper.cc |
+++ b/src/bootstrapper.cc |
@@ -395,7 +395,7 @@ Handle<JSFunction> InstallFunction(Handle<JSObject> target, Handle<Name> name, |
Isolate* isolate = target->GetIsolate(); |
Factory* factory = isolate->factory(); |
Handle<String> name_string = Name::ToFunctionName(name).ToHandleChecked(); |
- Handle<Code> call_code = Handle<Code>(isolate->builtins()->builtin(call)); |
+ Handle<Code> call_code(isolate->builtins()->builtin(call)); |
Handle<JSObject> prototype; |
static const bool kReadOnlyPrototype = false; |
static const bool kInstallConstructor = false; |
@@ -557,7 +557,7 @@ Handle<JSFunction> Genesis::CreateEmptyFunction(Isolate* isolate) { |
} |
// Allocate the empty function as the prototype for function - ES6 19.2.3 |
- Handle<Code> code(isolate->builtins()->builtin(Builtins::kEmptyFunction)); |
+ Handle<Code> code(isolate->builtins()->EmptyFunction()); |
Handle<JSFunction> empty_function = |
factory->NewFunctionWithoutPrototype(factory->empty_string(), code); |
@@ -973,8 +973,7 @@ Handle<JSGlobalObject> Genesis::CreateNewGlobals( |
if (js_global_object_template.is_null()) { |
Handle<String> name = Handle<String>(heap()->empty_string()); |
- Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin( |
- Builtins::kIllegal)); |
+ Handle<Code> code = isolate()->builtins()->Illegal(); |
Handle<JSObject> prototype = |
factory()->NewFunctionPrototype(isolate()->object_function()); |
js_global_object_function = factory()->NewFunction( |
@@ -1004,8 +1003,7 @@ Handle<JSGlobalObject> Genesis::CreateNewGlobals( |
Handle<JSFunction> global_proxy_function; |
if (global_proxy_template.IsEmpty()) { |
Handle<String> name = Handle<String>(heap()->empty_string()); |
- Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin( |
- Builtins::kIllegal)); |
+ Handle<Code> code = isolate()->builtins()->Illegal(); |
global_proxy_function = factory()->NewFunction( |
name, code, JS_GLOBAL_PROXY_TYPE, JSGlobalProxy::kSize); |
} else { |
@@ -1103,7 +1101,7 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
function_function->initial_map()->set_is_callable(); |
function_function->initial_map()->set_is_constructor(true); |
function_function->shared()->set_construct_stub( |
- isolate->builtins()->builtin(Builtins::kJSBuiltinsConstructStub)); |
+ *isolate->builtins()->JSBuiltinsConstructStub()); |
{ // --- A r r a y --- |
Handle<JSFunction> array_function = |
@@ -1161,7 +1159,7 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
Builtins::kIllegal); |
native_context()->set_number_function(*number_fun); |
number_fun->shared()->set_construct_stub( |
- isolate->builtins()->builtin(Builtins::kJSBuiltinsConstructStub)); |
+ *isolate->builtins()->JSBuiltinsConstructStub()); |
} |
{ // --- B o o l e a n --- |
@@ -1176,8 +1174,8 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
Handle<JSFunction> string_fun = InstallFunction( |
global, "String", JS_VALUE_TYPE, JSValue::kSize, |
isolate->initial_object_prototype(), Builtins::kStringConstructor); |
- string_fun->shared()->set_construct_stub(isolate->builtins()->builtin( |
- Builtins::kStringConstructor_ConstructStub)); |
+ string_fun->shared()->set_construct_stub( |
+ *isolate->builtins()->StringConstructor_ConstructStub()); |
string_fun->shared()->DontAdaptArguments(); |
string_fun->shared()->set_length(1); |
native_context()->set_string_function(*string_fun); |
@@ -1203,8 +1201,8 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
Handle<JSFunction> symbol_fun = InstallFunction( |
global, "Symbol", JS_VALUE_TYPE, JSValue::kSize, |
isolate->initial_object_prototype(), Builtins::kSymbolConstructor); |
- symbol_fun->shared()->set_construct_stub(isolate->builtins()->builtin( |
- Builtins::kSymbolConstructor_ConstructStub)); |
+ symbol_fun->shared()->set_construct_stub( |
+ *isolate->builtins()->SymbolConstructor_ConstructStub()); |
symbol_fun->shared()->set_internal_formal_parameter_count(1); |
symbol_fun->shared()->set_length(1); |
native_context()->set_symbol_function(*symbol_fun); |
@@ -1216,7 +1214,7 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
global, "Date", JS_DATE_TYPE, JSDate::kSize, |
isolate->initial_object_prototype(), Builtins::kIllegal); |
date_fun->shared()->set_construct_stub( |
- isolate->builtins()->builtin(Builtins::kJSBuiltinsConstructStub)); |
+ *isolate->builtins()->JSBuiltinsConstructStub()); |
} |
{ // -- R e g E x p |
@@ -1227,7 +1225,7 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
Builtins::kIllegal); |
native_context()->set_regexp_function(*regexp_fun); |
regexp_fun->shared()->set_construct_stub( |
- isolate->builtins()->builtin(Builtins::kJSBuiltinsConstructStub)); |
+ *isolate->builtins()->JSBuiltinsConstructStub()); |
DCHECK(regexp_fun->has_initial_map()); |
Handle<Map> initial_map(regexp_fun->initial_map()); |
@@ -1308,7 +1306,7 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
Builtins::kIllegal); |
native_context()->set_data_view_fun(*data_view_fun); |
data_view_fun->shared()->set_construct_stub( |
- isolate->builtins()->builtin(Builtins::kJSBuiltinsConstructStub)); |
+ *isolate->builtins()->JSBuiltinsConstructStub()); |
} |
{ // -- M a p |
@@ -1359,7 +1357,7 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
// This is done by introducing an anonymous function with |
// class_name equals 'Arguments'. |
Handle<String> arguments_string = factory->Arguments_string(); |
- Handle<Code> code(isolate->builtins()->builtin(Builtins::kIllegal)); |
+ Handle<Code> code = isolate->builtins()->Illegal(); |
Handle<JSFunction> function = factory->NewFunctionWithoutPrototype( |
arguments_string, code); |
function->shared()->set_instance_class_name(*arguments_string); |
@@ -1464,8 +1462,7 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
{ // --- context extension |
// Create a function for the context extension objects. |
- Handle<Code> code = Handle<Code>( |
- isolate->builtins()->builtin(Builtins::kIllegal)); |
+ Handle<Code> code = isolate->builtins()->Illegal(); |
Handle<JSFunction> context_extension_fun = factory->NewFunction( |
factory->empty_string(), code, JS_CONTEXT_EXTENSION_OBJECT_TYPE, |
JSObject::kHeaderSize); |
@@ -1479,9 +1476,7 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
{ |
// Set up the call-as-function delegate. |
- Handle<Code> code = |
- Handle<Code>(isolate->builtins()->builtin( |
- Builtins::kHandleApiCallAsFunction)); |
+ Handle<Code> code = isolate->builtins()->HandleApiCallAsFunction(); |
Handle<JSFunction> delegate = factory->NewFunction( |
factory->empty_string(), code, JS_OBJECT_TYPE, JSObject::kHeaderSize); |
native_context()->set_call_as_function_delegate(*delegate); |
@@ -1490,9 +1485,7 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object, |
{ |
// Set up the call-as-constructor delegate. |
- Handle<Code> code = |
- Handle<Code>(isolate->builtins()->builtin( |
- Builtins::kHandleApiCallAsConstructor)); |
+ Handle<Code> code = isolate->builtins()->HandleApiCallAsConstructor(); |
Handle<JSFunction> delegate = factory->NewFunction( |
factory->empty_string(), code, JS_OBJECT_TYPE, JSObject::kHeaderSize); |
native_context()->set_call_as_constructor_delegate(*delegate); |
@@ -1835,7 +1828,7 @@ void Bootstrapper::ExportFromRuntime(Isolate* isolate, |
generator_function_function->initial_map()->set_is_callable(); |
generator_function_function->initial_map()->set_is_constructor(true); |
generator_function_function->shared()->set_construct_stub( |
- isolate->builtins()->builtin(Builtins::kJSBuiltinsConstructStub)); |
+ *isolate->builtins()->JSBuiltinsConstructStub()); |
} |
{ // -- S e t I t e r a t o r |
@@ -2194,7 +2187,7 @@ void Genesis::InitializeGlobal_harmony_proxies() { |
// TODO(verwaest): Set to null in InstallFunction. |
proxy_fun->initial_map()->set_prototype(isolate->heap()->null_value()); |
proxy_fun->shared()->set_construct_stub( |
- isolate->builtins()->builtin(Builtins::kJSBuiltinsConstructStub)); |
+ *isolate->builtins()->JSBuiltinsConstructStub()); |
native_context()->set_proxy_function(*proxy_fun); |
} |
@@ -2450,7 +2443,7 @@ bool Genesis::InstallNatives(ContextType context_type) { |
JSFunction::EnsureHasInitialMap(function); |
function->initial_map()->set_instance_type(JS_PROMISE_TYPE); |
function->shared()->set_construct_stub( |
- isolate()->builtins()->builtin(Builtins::kJSBuiltinsConstructStub)); |
+ *isolate()->builtins()->JSBuiltinsConstructStub()); |
} |
InstallBuiltinFunctionIds(); |