Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Unified Diff: src/bootstrapper.cc

Issue 1731063007: Remove the global Strength enum class completely. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@local_strong-remove-literals
Patch Set: Remove more cruft. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/ast/ast.cc ('k') | src/contexts.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/bootstrapper.cc
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
index 20146515847b09838249e53296803549a98570b2..4ab487a0ae9bcb6f8df3820e7d0fc8d9d4f29eb7 100644
--- a/src/bootstrapper.cc
+++ b/src/bootstrapper.cc
@@ -157,7 +157,6 @@ class Genesis BASE_EMBEDDED {
Handle<JSFunction> GetThrowTypeErrorIntrinsic(Builtins::Name builtin_name);
void CreateStrictModeFunctionMaps(Handle<JSFunction> empty);
- void CreateStrongModeFunctionMaps(Handle<JSFunction> empty);
void CreateIteratorMaps();
// Make the "arguments" and "caller" properties throw a TypeError on access.
@@ -284,8 +283,6 @@ class Genesis BASE_EMBEDDED {
Handle<Map> CreateStrictFunctionMap(FunctionMode function_mode,
Handle<JSFunction> empty_function);
- Handle<Map> CreateStrongFunctionMap(Handle<JSFunction> empty_function,
- bool is_constructor);
void SetStrictFunctionInstanceDescriptor(Handle<Map> map,
@@ -547,12 +544,6 @@ Handle<JSFunction> Genesis::CreateEmptyFunction(Isolate* isolate) {
native_context()->set_initial_array_prototype(*object_function_prototype);
Accessors::FunctionSetPrototype(object_fun, object_function_prototype)
.Assert();
-
- // Allocate initial strong object map.
- Handle<Map> strong_object_map =
- Map::Copy(Handle<Map>(object_fun->initial_map()), "EmptyStrongObject");
- strong_object_map->set_is_strong();
- native_context()->set_js_object_strong_map(*strong_object_map);
}
// Allocate the empty function as the prototype for function - ES6 19.2.3
@@ -722,19 +713,6 @@ Handle<Map> Genesis::CreateStrictFunctionMap(
}
-Handle<Map> Genesis::CreateStrongFunctionMap(
- Handle<JSFunction> empty_function, bool is_constructor) {
- Handle<Map> map = factory()->NewMap(JS_FUNCTION_TYPE, JSFunction::kSize);
- SetStrongFunctionInstanceDescriptor(map);
- map->set_is_constructor(is_constructor);
- Map::SetPrototype(map, empty_function);
- map->set_is_callable();
- map->set_is_extensible(is_constructor);
- map->set_is_strong();
- return map;
-}
-
-
void Genesis::CreateStrictModeFunctionMaps(Handle<JSFunction> empty) {
// Allocate map for the prototype-less strict mode instances.
Handle<Map> strict_function_without_prototype_map =
@@ -756,16 +734,6 @@ void Genesis::CreateStrictModeFunctionMaps(Handle<JSFunction> empty) {
}
-void Genesis::CreateStrongModeFunctionMaps(Handle<JSFunction> empty) {
- // Allocate map for strong mode instances, which never have prototypes.
- Handle<Map> strong_function_map = CreateStrongFunctionMap(empty, false);
- native_context()->set_strong_function_map(*strong_function_map);
- // Constructors do, though.
- Handle<Map> strong_constructor_map = CreateStrongFunctionMap(empty, true);
- native_context()->set_strong_constructor_map(*strong_constructor_map);
-}
-
-
void Genesis::CreateIteratorMaps() {
// Create iterator-related meta-objects.
Handle<JSObject> iterator_prototype =
@@ -803,15 +771,6 @@ void Genesis::CreateIteratorMaps() {
native_context()->set_strict_generator_function_map(
*strict_generator_function_map);
- Handle<Map> strong_function_map(native_context()->strong_function_map());
- Handle<Map> strong_generator_function_map =
- Map::Copy(strong_function_map, "StrongGeneratorFunction");
- strong_generator_function_map->set_is_constructor(false);
- Map::SetPrototype(strong_generator_function_map,
- generator_function_prototype);
- native_context()->set_strong_generator_function_map(
- *strong_generator_function_map);
-
Handle<JSFunction> object_function(native_context()->object_function());
Handle<Map> generator_object_prototype_map = Map::Create(isolate(), 0);
Map::SetPrototype(generator_object_prototype_map, generator_object_prototype);
@@ -1174,7 +1133,6 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object,
sloppy_function_map_writable_prototype_->SetConstructor(*function_fun);
strict_function_map_writable_prototype_->SetConstructor(*function_fun);
- native_context()->strong_function_map()->SetConstructor(*function_fun);
}
{ // --- A r r a y ---
@@ -1217,11 +1175,6 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object,
Handle<Code> code = array_constructor_stub.GetCode();
array_function->shared()->set_construct_stub(*code);
- Handle<Map> initial_strong_map =
- Map::Copy(initial_map, "SetInstancePrototype");
- initial_strong_map->set_is_strong();
- CacheInitialJSArrayMaps(native_context(), initial_strong_map);
-
Handle<JSFunction> is_arraylike = SimpleInstallFunction(
array_function, isolate->factory()->InternalizeUtf8String("isArray"),
Builtins::kArrayIsArray, 1, true);
@@ -2137,8 +2090,6 @@ void Bootstrapper::ExportFromRuntime(Isolate* isolate,
*generator_function_function);
native_context->strict_generator_function_map()->SetConstructor(
*generator_function_function);
- native_context->strong_generator_function_map()->SetConstructor(
- *generator_function_function);
}
{ // -- S e t I t e r a t o r
@@ -3603,7 +3554,6 @@ Genesis::Genesis(Isolate* isolate,
CreateRoots();
Handle<JSFunction> empty_function = CreateEmptyFunction(isolate);
CreateStrictModeFunctionMaps(empty_function);
- CreateStrongModeFunctionMaps(empty_function);
CreateIteratorMaps();
Handle<JSGlobalObject> global_object =
CreateNewGlobals(global_proxy_template, global_proxy);
« no previous file with comments | « src/ast/ast.cc ('k') | src/contexts.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698