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

Side by Side Diff: src/bootstrapper.cc

Issue 1815773002: Remove runtime flags for Proxy and Reflect (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebased Created 4 years, 9 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 unified diff | Download patch
« no previous file with comments | « BUILD.gn ('k') | src/flag-definitions.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/bootstrapper.h" 5 #include "src/bootstrapper.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/api-natives.h" 8 #include "src/api-natives.h"
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/extensions/externalize-string-extension.h" 10 #include "src/extensions/externalize-string-extension.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 void CreateRoots(); 151 void CreateRoots();
152 // Creates the empty function. Used for creating a context from scratch. 152 // Creates the empty function. Used for creating a context from scratch.
153 Handle<JSFunction> CreateEmptyFunction(Isolate* isolate); 153 Handle<JSFunction> CreateEmptyFunction(Isolate* isolate);
154 // Creates the ThrowTypeError function. ECMA 5th Ed. 13.2.3 154 // Creates the ThrowTypeError function. ECMA 5th Ed. 13.2.3
155 Handle<JSFunction> GetRestrictedFunctionPropertiesThrower(); 155 Handle<JSFunction> GetRestrictedFunctionPropertiesThrower();
156 Handle<JSFunction> GetStrictArgumentsPoisonFunction(); 156 Handle<JSFunction> GetStrictArgumentsPoisonFunction();
157 Handle<JSFunction> GetThrowTypeErrorIntrinsic(Builtins::Name builtin_name); 157 Handle<JSFunction> GetThrowTypeErrorIntrinsic(Builtins::Name builtin_name);
158 158
159 void CreateStrictModeFunctionMaps(Handle<JSFunction> empty); 159 void CreateStrictModeFunctionMaps(Handle<JSFunction> empty);
160 void CreateIteratorMaps(); 160 void CreateIteratorMaps();
161 void CreateJSProxyMaps();
161 162
162 // Make the "arguments" and "caller" properties throw a TypeError on access. 163 // Make the "arguments" and "caller" properties throw a TypeError on access.
163 void AddRestrictedFunctionProperties(Handle<Map> map); 164 void AddRestrictedFunctionProperties(Handle<Map> map);
164 165
165 // Creates the global objects using the global proxy and the template passed 166 // Creates the global objects using the global proxy and the template passed
166 // in through the API. We call this regardless of whether we are building a 167 // in through the API. We call this regardless of whether we are building a
167 // context from scratch or using a deserialized one from the partial snapshot 168 // context from scratch or using a deserialized one from the partial snapshot
168 // but in the latter case we don't use the objects it produces directly, as 169 // but in the latter case we don't use the objects it produces directly, as
169 // we have to used the deserialized ones that are linked together with the 170 // we have to used the deserialized ones that are linked together with the
170 // rest of the context snapshot. 171 // rest of the context snapshot.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 211
211 void InstallTypedArray(const char* name, ElementsKind elements_kind, 212 void InstallTypedArray(const char* name, ElementsKind elements_kind,
212 Handle<JSFunction>* fun); 213 Handle<JSFunction>* fun);
213 bool InstallExperimentalNatives(); 214 bool InstallExperimentalNatives();
214 bool InstallExtraNatives(); 215 bool InstallExtraNatives();
215 bool InstallExperimentalExtraNatives(); 216 bool InstallExperimentalExtraNatives();
216 bool InstallDebuggerNatives(); 217 bool InstallDebuggerNatives();
217 void InstallBuiltinFunctionIds(); 218 void InstallBuiltinFunctionIds();
218 void InstallExperimentalBuiltinFunctionIds(); 219 void InstallExperimentalBuiltinFunctionIds();
219 void InitializeNormalizedMapCaches(); 220 void InitializeNormalizedMapCaches();
220 void InstallJSProxyMaps();
221 221
222 enum ExtensionTraversalState { 222 enum ExtensionTraversalState {
223 UNVISITED, VISITED, INSTALLED 223 UNVISITED, VISITED, INSTALLED
224 }; 224 };
225 225
226 class ExtensionStates { 226 class ExtensionStates {
227 public: 227 public:
228 ExtensionStates(); 228 ExtensionStates();
229 ExtensionTraversalState get_state(RegisteredExtension* extension); 229 ExtensionTraversalState get_state(RegisteredExtension* extension);
230 void set_state(RegisteredExtension* extension, 230 void set_state(RegisteredExtension* extension,
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
747 native_context()->set_strict_generator_function_map( 747 native_context()->set_strict_generator_function_map(
748 *strict_generator_function_map); 748 *strict_generator_function_map);
749 749
750 Handle<JSFunction> object_function(native_context()->object_function()); 750 Handle<JSFunction> object_function(native_context()->object_function());
751 Handle<Map> generator_object_prototype_map = Map::Create(isolate(), 0); 751 Handle<Map> generator_object_prototype_map = Map::Create(isolate(), 0);
752 Map::SetPrototype(generator_object_prototype_map, generator_object_prototype); 752 Map::SetPrototype(generator_object_prototype_map, generator_object_prototype);
753 native_context()->set_generator_object_prototype_map( 753 native_context()->set_generator_object_prototype_map(
754 *generator_object_prototype_map); 754 *generator_object_prototype_map);
755 } 755 }
756 756
757 void Genesis::CreateJSProxyMaps() {
758 // Allocate the different maps for all Proxy types.
759 // Next to the default proxy, we need maps indicating callable and
760 // constructable proxies.
761 Handle<Map> proxy_function_map =
762 Map::Copy(isolate()->sloppy_function_without_prototype_map(), "Proxy");
763 proxy_function_map->set_is_constructor(true);
764 native_context()->set_proxy_function_map(*proxy_function_map);
765
766 Handle<Map> proxy_map =
767 factory()->NewMap(JS_PROXY_TYPE, JSProxy::kSize, FAST_ELEMENTS);
768 proxy_map->set_dictionary_map(true);
769 native_context()->set_proxy_map(*proxy_map);
770
771 Handle<Map> proxy_callable_map = Map::Copy(proxy_map, "callable Proxy");
772 proxy_callable_map->set_is_callable();
773 native_context()->set_proxy_callable_map(*proxy_callable_map);
774 proxy_callable_map->SetConstructor(native_context()->function_function());
775
776 Handle<Map> proxy_constructor_map =
777 Map::Copy(proxy_callable_map, "constructor Proxy");
778 proxy_constructor_map->set_is_constructor(true);
779 native_context()->set_proxy_constructor_map(*proxy_constructor_map);
780 }
757 781
758 static void ReplaceAccessors(Handle<Map> map, 782 static void ReplaceAccessors(Handle<Map> map,
759 Handle<String> name, 783 Handle<String> name,
760 PropertyAttributes attributes, 784 PropertyAttributes attributes,
761 Handle<AccessorPair> accessor_pair) { 785 Handle<AccessorPair> accessor_pair) {
762 DescriptorArray* descriptors = map->instance_descriptors(); 786 DescriptorArray* descriptors = map->instance_descriptors();
763 int idx = descriptors->SearchWithCache(map->GetIsolate(), *name, *map); 787 int idx = descriptors->SearchWithCache(map->GetIsolate(), *name, *map);
764 AccessorConstantDescriptor descriptor(name, accessor_pair, attributes); 788 AccessorConstantDescriptor descriptor(name, accessor_pair, attributes);
765 descriptors->Replace(idx, &descriptor); 789 descriptors->Replace(idx, &descriptor);
766 } 790 }
(...skipping 812 matching lines...) Expand 10 before | Expand all | Expand 10 after
1579 } 1603 }
1580 1604
1581 { // -- W e a k S e t 1605 { // -- W e a k S e t
1582 Handle<JSFunction> js_weak_set_fun = InstallFunction( 1606 Handle<JSFunction> js_weak_set_fun = InstallFunction(
1583 global, "WeakSet", JS_WEAK_SET_TYPE, JSWeakSet::kSize, 1607 global, "WeakSet", JS_WEAK_SET_TYPE, JSWeakSet::kSize,
1584 isolate->initial_object_prototype(), Builtins::kIllegal); 1608 isolate->initial_object_prototype(), Builtins::kIllegal);
1585 InstallWithIntrinsicDefaultProto(isolate, js_weak_set_fun, 1609 InstallWithIntrinsicDefaultProto(isolate, js_weak_set_fun,
1586 Context::JS_WEAK_SET_FUN_INDEX); 1610 Context::JS_WEAK_SET_FUN_INDEX);
1587 } 1611 }
1588 1612
1613 { // -- P r o x y
1614 CreateJSProxyMaps();
1615
1616 Handle<String> name = factory->Proxy_string();
1617 Handle<Code> code(isolate->builtins()->ProxyConstructor());
1618
1619 Handle<JSFunction> proxy_function =
1620 factory->NewFunction(isolate->proxy_function_map(),
1621 factory->Proxy_string(), MaybeHandle<Code>(code));
1622
1623 JSFunction::SetInitialMap(
1624 proxy_function, Handle<Map>(native_context()->proxy_map(), isolate),
1625 factory->null_value());
1626
1627 proxy_function->shared()->set_construct_stub(
1628 *isolate->builtins()->ProxyConstructor_ConstructStub());
1629 proxy_function->shared()->set_internal_formal_parameter_count(2);
1630 proxy_function->shared()->set_length(2);
1631
1632 native_context()->set_proxy_function(*proxy_function);
1633 InstallFunction(global, name, proxy_function, factory->Object_string());
1634 }
1635
1636 { // -- R e f l e c t
1637 Handle<String> reflect_string = factory->InternalizeUtf8String("Reflect");
1638 Handle<JSObject> reflect =
1639 factory->NewJSObject(isolate->object_function(), TENURED);
1640 JSObject::AddProperty(global, reflect_string, reflect, DONT_ENUM);
1641
1642 Handle<JSFunction> define_property =
1643 SimpleInstallFunction(reflect, factory->defineProperty_string(),
1644 Builtins::kReflectDefineProperty, 3, true);
1645 native_context()->set_reflect_define_property(*define_property);
1646
1647 Handle<JSFunction> delete_property =
1648 SimpleInstallFunction(reflect, factory->deleteProperty_string(),
1649 Builtins::kReflectDeleteProperty, 2, true);
1650 native_context()->set_reflect_delete_property(*delete_property);
1651
1652 Handle<JSFunction> apply = SimpleInstallFunction(
1653 reflect, factory->apply_string(), Builtins::kReflectApply, 3, false);
1654 native_context()->set_reflect_apply(*apply);
1655
1656 Handle<JSFunction> construct =
1657 SimpleInstallFunction(reflect, factory->construct_string(),
1658 Builtins::kReflectConstruct, 2, false);
1659 native_context()->set_reflect_construct(*construct);
1660
1661 SimpleInstallFunction(reflect, factory->get_string(), Builtins::kReflectGet,
1662 2, false);
1663 SimpleInstallFunction(reflect, factory->getOwnPropertyDescriptor_string(),
1664 Builtins::kReflectGetOwnPropertyDescriptor, 2, true);
1665 SimpleInstallFunction(reflect, factory->getPrototypeOf_string(),
1666 Builtins::kReflectGetPrototypeOf, 1, true);
1667 SimpleInstallFunction(reflect, factory->has_string(), Builtins::kReflectHas,
1668 2, true);
1669 SimpleInstallFunction(reflect, factory->isExtensible_string(),
1670 Builtins::kReflectIsExtensible, 1, true);
1671 SimpleInstallFunction(reflect, factory->ownKeys_string(),
1672 Builtins::kReflectOwnKeys, 1, true);
1673 SimpleInstallFunction(reflect, factory->preventExtensions_string(),
1674 Builtins::kReflectPreventExtensions, 1, true);
1675 SimpleInstallFunction(reflect, factory->set_string(), Builtins::kReflectSet,
1676 3, false);
1677 SimpleInstallFunction(reflect, factory->setPrototypeOf_string(),
1678 Builtins::kReflectSetPrototypeOf, 2, true);
1679 }
1680
1589 { // --- B o u n d F u n c t i o n 1681 { // --- B o u n d F u n c t i o n
1590 Handle<Map> map = 1682 Handle<Map> map =
1591 factory->NewMap(JS_BOUND_FUNCTION_TYPE, JSBoundFunction::kSize); 1683 factory->NewMap(JS_BOUND_FUNCTION_TYPE, JSBoundFunction::kSize);
1592 map->set_is_callable(); 1684 map->set_is_callable();
1593 Map::SetPrototype(map, empty_function); 1685 Map::SetPrototype(map, empty_function);
1594 1686
1595 PropertyAttributes roc_attribs = 1687 PropertyAttributes roc_attribs =
1596 static_cast<PropertyAttributes>(DONT_ENUM | READ_ONLY); 1688 static_cast<PropertyAttributes>(DONT_ENUM | READ_ONLY);
1597 Map::EnsureDescriptorSlack(map, 2); 1689 Map::EnsureDescriptorSlack(map, 2);
1598 1690
(...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after
2298 factory()->match_symbol()); 2390 factory()->match_symbol());
2299 InstallPublicSymbol(factory(), native_context(), "replace", 2391 InstallPublicSymbol(factory(), native_context(), "replace",
2300 factory()->replace_symbol()); 2392 factory()->replace_symbol());
2301 InstallPublicSymbol(factory(), native_context(), "search", 2393 InstallPublicSymbol(factory(), native_context(), "search",
2302 factory()->search_symbol()); 2394 factory()->search_symbol());
2303 InstallPublicSymbol(factory(), native_context(), "split", 2395 InstallPublicSymbol(factory(), native_context(), "split",
2304 factory()->split_symbol()); 2396 factory()->split_symbol());
2305 } 2397 }
2306 2398
2307 2399
2308 void Genesis::InitializeGlobal_harmony_reflect() {
2309 Factory* factory = isolate()->factory();
2310
2311 // We currently use some of the Reflect functions internally, even when
2312 // the --harmony-reflect flag is not given.
2313
2314 Handle<JSFunction> define_property =
2315 SimpleCreateFunction(isolate(), factory->defineProperty_string(),
2316 Builtins::kReflectDefineProperty, 3, true);
2317 native_context()->set_reflect_define_property(*define_property);
2318
2319 Handle<JSFunction> delete_property =
2320 SimpleCreateFunction(isolate(), factory->deleteProperty_string(),
2321 Builtins::kReflectDeleteProperty, 2, true);
2322 native_context()->set_reflect_delete_property(*delete_property);
2323
2324 Handle<JSFunction> apply = SimpleCreateFunction(
2325 isolate(), factory->apply_string(), Builtins::kReflectApply, 3, false);
2326 native_context()->set_reflect_apply(*apply);
2327
2328 Handle<JSFunction> construct =
2329 SimpleCreateFunction(isolate(), factory->construct_string(),
2330 Builtins::kReflectConstruct, 2, false);
2331 native_context()->set_reflect_construct(*construct);
2332
2333 if (!FLAG_harmony_reflect) return;
2334
2335 Handle<JSGlobalObject> global(JSGlobalObject::cast(
2336 native_context()->global_object()));
2337 Handle<String> reflect_string = factory->NewStringFromStaticChars("Reflect");
2338 Handle<JSObject> reflect =
2339 factory->NewJSObject(isolate()->object_function(), TENURED);
2340 JSObject::AddProperty(global, reflect_string, reflect, DONT_ENUM);
2341
2342 InstallFunction(reflect, define_property, factory->defineProperty_string());
2343 InstallFunction(reflect, delete_property, factory->deleteProperty_string());
2344 InstallFunction(reflect, apply, factory->apply_string());
2345 InstallFunction(reflect, construct, factory->construct_string());
2346
2347 SimpleInstallFunction(reflect, factory->get_string(),
2348 Builtins::kReflectGet, 2, false);
2349 SimpleInstallFunction(reflect, factory->getOwnPropertyDescriptor_string(),
2350 Builtins::kReflectGetOwnPropertyDescriptor, 2, true);
2351 SimpleInstallFunction(reflect, factory->getPrototypeOf_string(),
2352 Builtins::kReflectGetPrototypeOf, 1, true);
2353 SimpleInstallFunction(reflect, factory->has_string(),
2354 Builtins::kReflectHas, 2, true);
2355 SimpleInstallFunction(reflect, factory->isExtensible_string(),
2356 Builtins::kReflectIsExtensible, 1, true);
2357 SimpleInstallFunction(reflect, factory->ownKeys_string(),
2358 Builtins::kReflectOwnKeys, 1, true);
2359 SimpleInstallFunction(reflect, factory->preventExtensions_string(),
2360 Builtins::kReflectPreventExtensions, 1, true);
2361 SimpleInstallFunction(reflect, factory->set_string(),
2362 Builtins::kReflectSet, 3, false);
2363 SimpleInstallFunction(reflect, factory->setPrototypeOf_string(),
2364 Builtins::kReflectSetPrototypeOf, 2, true);
2365 }
2366
2367
2368 void Genesis::InitializeGlobal_harmony_sharedarraybuffer() { 2400 void Genesis::InitializeGlobal_harmony_sharedarraybuffer() {
2369 if (!FLAG_harmony_sharedarraybuffer) return; 2401 if (!FLAG_harmony_sharedarraybuffer) return;
2370 2402
2371 Handle<JSGlobalObject> global(native_context()->global_object()); 2403 Handle<JSGlobalObject> global(native_context()->global_object());
2372 Handle<JSFunction> shared_array_buffer_fun = 2404 Handle<JSFunction> shared_array_buffer_fun =
2373 InstallArrayBuffer(global, "SharedArrayBuffer"); 2405 InstallArrayBuffer(global, "SharedArrayBuffer");
2374 native_context()->set_shared_array_buffer_fun(*shared_array_buffer_fun); 2406 native_context()->set_shared_array_buffer_fun(*shared_array_buffer_fun);
2375 } 2407 }
2376 2408
2377 2409
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
2428 JSGlobalObject::cast(native_context()->global_object())); 2460 JSGlobalObject::cast(native_context()->global_object()));
2429 Isolate* isolate = global->GetIsolate(); 2461 Isolate* isolate = global->GetIsolate();
2430 Factory* factory = isolate->factory(); 2462 Factory* factory = isolate->factory();
2431 2463
2432 Handle<JSFunction> object_function = isolate->object_function(); 2464 Handle<JSFunction> object_function = isolate->object_function();
2433 SimpleInstallFunction(object_function, 2465 SimpleInstallFunction(object_function,
2434 factory->getOwnPropertyDescriptors_string(), 2466 factory->getOwnPropertyDescriptors_string(),
2435 Builtins::kObjectGetOwnPropertyDescriptors, 1, false); 2467 Builtins::kObjectGetOwnPropertyDescriptors, 1, false);
2436 } 2468 }
2437 2469
2438 void Genesis::InstallJSProxyMaps() {
2439 // Allocate the different maps for all Proxy types.
2440 // Next to the default proxy, we need maps indicating callable and
2441 // constructable proxies.
2442
2443 Handle<Map> proxy_function_map =
2444 Map::Copy(isolate()->sloppy_function_without_prototype_map(), "Proxy");
2445 proxy_function_map->set_is_constructor(true);
2446 native_context()->set_proxy_function_map(*proxy_function_map);
2447
2448 Handle<Map> proxy_map =
2449 factory()->NewMap(JS_PROXY_TYPE, JSProxy::kSize, FAST_ELEMENTS);
2450 proxy_map->set_dictionary_map(true);
2451 native_context()->set_proxy_map(*proxy_map);
2452
2453 Handle<Map> proxy_callable_map = Map::Copy(proxy_map, "callable Proxy");
2454 proxy_callable_map->set_is_callable();
2455 native_context()->set_proxy_callable_map(*proxy_callable_map);
2456 proxy_callable_map->SetConstructor(native_context()->function_function());
2457
2458 Handle<Map> proxy_constructor_map =
2459 Map::Copy(proxy_callable_map, "constructor Proxy");
2460 proxy_constructor_map->set_is_constructor(true);
2461 native_context()->set_proxy_constructor_map(*proxy_constructor_map);
2462 }
2463
2464
2465 void Genesis::InitializeGlobal_harmony_proxies() {
2466 if (!FLAG_harmony_proxies) return;
2467 Handle<JSGlobalObject> global(
2468 JSGlobalObject::cast(native_context()->global_object()));
2469 Isolate* isolate = global->GetIsolate();
2470 Factory* factory = isolate->factory();
2471
2472 InstallJSProxyMaps();
2473
2474 // Create the Proxy object.
2475 Handle<String> name = factory->Proxy_string();
2476 Handle<Code> code(isolate->builtins()->ProxyConstructor());
2477
2478 Handle<JSFunction> proxy_function =
2479 factory->NewFunction(isolate->proxy_function_map(),
2480 factory->Proxy_string(), MaybeHandle<Code>(code));
2481
2482 JSFunction::SetInitialMap(proxy_function,
2483 Handle<Map>(native_context()->proxy_map(), isolate),
2484 factory->null_value());
2485
2486 proxy_function->shared()->set_construct_stub(
2487 *isolate->builtins()->ProxyConstructor_ConstructStub());
2488 proxy_function->shared()->set_internal_formal_parameter_count(2);
2489 proxy_function->shared()->set_length(2);
2490
2491 native_context()->set_proxy_function(*proxy_function);
2492 InstallFunction(global, name, proxy_function, factory->Object_string());
2493 }
2494
2495 void Genesis::InitializeGlobal_harmony_array_prototype_values() { 2470 void Genesis::InitializeGlobal_harmony_array_prototype_values() {
2496 if (!FLAG_harmony_array_prototype_values) return; 2471 if (!FLAG_harmony_array_prototype_values) return;
2497 Handle<JSFunction> array_constructor(native_context()->array_function()); 2472 Handle<JSFunction> array_constructor(native_context()->array_function());
2498 Handle<JSObject> array_prototype( 2473 Handle<JSObject> array_prototype(
2499 JSObject::cast(array_constructor->instance_prototype())); 2474 JSObject::cast(array_constructor->instance_prototype()));
2500 Handle<Object> values_iterator = 2475 Handle<Object> values_iterator =
2501 JSObject::GetProperty(array_prototype, factory()->iterator_symbol()) 2476 JSObject::GetProperty(array_prototype, factory()->iterator_symbol())
2502 .ToHandleChecked(); 2477 .ToHandleChecked();
2503 DCHECK(values_iterator->IsJSFunction()); 2478 DCHECK(values_iterator->IsJSFunction());
2504 JSObject::AddProperty(array_prototype, factory()->values_string(), 2479 JSObject::AddProperty(array_prototype, factory()->values_string(),
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after
2938 Map::EnsureDescriptorSlack(map, 1); 2913 Map::EnsureDescriptorSlack(map, 1);
2939 map->AppendDescriptor(&d); 2914 map->AppendDescriptor(&d);
2940 } 2915 }
2941 } 2916 }
2942 2917
2943 return true; 2918 return true;
2944 } 2919 }
2945 2920
2946 2921
2947 bool Genesis::InstallExperimentalNatives() { 2922 bool Genesis::InstallExperimentalNatives() {
2948 static const char* harmony_proxies_natives[] = {"native proxy.js", nullptr};
2949 static const char* harmony_regexps_natives[] = {"native harmony-regexp.js", 2923 static const char* harmony_regexps_natives[] = {"native harmony-regexp.js",
2950 nullptr}; 2924 nullptr};
2951 static const char* harmony_iterator_close_natives[] = {nullptr}; 2925 static const char* harmony_iterator_close_natives[] = {nullptr};
2952 static const char* harmony_sloppy_natives[] = {nullptr}; 2926 static const char* harmony_sloppy_natives[] = {nullptr};
2953 static const char* harmony_sloppy_function_natives[] = {nullptr}; 2927 static const char* harmony_sloppy_function_natives[] = {nullptr};
2954 static const char* harmony_sloppy_let_natives[] = {nullptr}; 2928 static const char* harmony_sloppy_let_natives[] = {nullptr};
2955 static const char* harmony_species_natives[] = {"native harmony-species.js", 2929 static const char* harmony_species_natives[] = {"native harmony-species.js",
2956 nullptr}; 2930 nullptr};
2957 static const char* harmony_tailcalls_natives[] = {nullptr}; 2931 static const char* harmony_tailcalls_natives[] = {nullptr};
2958 static const char* harmony_unicode_regexps_natives[] = { 2932 static const char* harmony_unicode_regexps_natives[] = {
2959 "native harmony-unicode-regexps.js", nullptr}; 2933 "native harmony-unicode-regexps.js", nullptr};
2960 static const char* harmony_reflect_natives[] = {"native harmony-reflect.js",
2961 nullptr};
2962 static const char* harmony_object_observe_natives[] = { 2934 static const char* harmony_object_observe_natives[] = {
2963 "native harmony-object-observe.js", nullptr}; 2935 "native harmony-object-observe.js", nullptr};
2964 static const char* harmony_sharedarraybuffer_natives[] = { 2936 static const char* harmony_sharedarraybuffer_natives[] = {
2965 "native harmony-sharedarraybuffer.js", "native harmony-atomics.js", NULL}; 2937 "native harmony-sharedarraybuffer.js", "native harmony-atomics.js", NULL};
2966 static const char* harmony_simd_natives[] = {"native harmony-simd.js", 2938 static const char* harmony_simd_natives[] = {"native harmony-simd.js",
2967 nullptr}; 2939 nullptr};
2968 static const char* harmony_do_expressions_natives[] = {nullptr}; 2940 static const char* harmony_do_expressions_natives[] = {nullptr};
2969 static const char* harmony_regexp_subclass_natives[] = {nullptr}; 2941 static const char* harmony_regexp_subclass_natives[] = {nullptr};
2970 static const char* harmony_regexp_lookbehind_natives[] = {nullptr}; 2942 static const char* harmony_regexp_lookbehind_natives[] = {nullptr};
2971 static const char* harmony_instanceof_natives[] = {nullptr}; 2943 static const char* harmony_instanceof_natives[] = {nullptr};
(...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after
3646 } 3618 }
3647 3619
3648 3620
3649 // Called when the top-level V8 mutex is destroyed. 3621 // Called when the top-level V8 mutex is destroyed.
3650 void Bootstrapper::FreeThreadResources() { 3622 void Bootstrapper::FreeThreadResources() {
3651 DCHECK(!IsActive()); 3623 DCHECK(!IsActive());
3652 } 3624 }
3653 3625
3654 } // namespace internal 3626 } // namespace internal
3655 } // namespace v8 3627 } // namespace v8
OLDNEW
« no previous file with comments | « BUILD.gn ('k') | src/flag-definitions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698