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

Side by Side Diff: src/bootstrapper.cc

Issue 405803006: Unflag symbols (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | 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/code-stubs.h" 8 #include "src/code-stubs.h"
9 #include "src/extensions/externalize-string-extension.h" 9 #include "src/extensions/externalize-string-extension.h"
10 #include "src/extensions/free-buffer-extension.h" 10 #include "src/extensions/free-buffer-extension.h"
(...skipping 963 matching lines...) Expand 10 before | Expand all | Expand 10 after
974 DONT_ENUM | DONT_DELETE | READ_ONLY); 974 DONT_ENUM | DONT_DELETE | READ_ONLY);
975 Handle<AccessorInfo> string_length( 975 Handle<AccessorInfo> string_length(
976 Accessors::StringLengthInfo(isolate, attribs)); 976 Accessors::StringLengthInfo(isolate, attribs));
977 977
978 { // Add length. 978 { // Add length.
979 CallbacksDescriptor d(factory->length_string(), string_length, attribs); 979 CallbacksDescriptor d(factory->length_string(), string_length, attribs);
980 string_map->AppendDescriptor(&d); 980 string_map->AppendDescriptor(&d);
981 } 981 }
982 } 982 }
983 983
984 {
985 // --- S y m b o l ---
986 Handle<JSFunction> symbol_fun = InstallFunction(
987 global, "Symbol", JS_VALUE_TYPE, JSValue::kSize,
988 isolate->initial_object_prototype(), Builtins::kIllegal);
989 native_context()->set_symbol_function(*symbol_fun);
990 }
991
984 { // --- D a t e --- 992 { // --- D a t e ---
985 // Builtin functions for Date.prototype. 993 // Builtin functions for Date.prototype.
986 Handle<JSFunction> date_fun = 994 Handle<JSFunction> date_fun =
987 InstallFunction(global, "Date", JS_DATE_TYPE, JSDate::kSize, 995 InstallFunction(global, "Date", JS_DATE_TYPE, JSDate::kSize,
988 isolate->initial_object_prototype(), 996 isolate->initial_object_prototype(),
989 Builtins::kIllegal); 997 Builtins::kIllegal);
990 998
991 native_context()->set_date_function(*date_fun); 999 native_context()->set_date_function(*date_fun);
992 } 1000 }
993 1001
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
1300 *external_map = Map::AsElementsKind(initial_map, external_kind); 1308 *external_map = Map::AsElementsKind(initial_map, external_kind);
1301 } 1309 }
1302 1310
1303 1311
1304 void Genesis::InitializeExperimentalGlobal() { 1312 void Genesis::InitializeExperimentalGlobal() {
1305 Handle<JSObject> global = Handle<JSObject>(native_context()->global_object()); 1313 Handle<JSObject> global = Handle<JSObject>(native_context()->global_object());
1306 1314
1307 // TODO(mstarzinger): Move this into Genesis::InitializeGlobal once we no 1315 // TODO(mstarzinger): Move this into Genesis::InitializeGlobal once we no
1308 // longer need to live behind flags, so functions get added to the snapshot. 1316 // longer need to live behind flags, so functions get added to the snapshot.
1309 1317
1310 if (FLAG_harmony_symbols) {
1311 // --- S y m b o l ---
1312 Handle<JSFunction> symbol_fun = InstallFunction(
1313 global, "Symbol", JS_VALUE_TYPE, JSValue::kSize,
1314 isolate()->initial_object_prototype(), Builtins::kIllegal);
1315 native_context()->set_symbol_function(*symbol_fun);
1316 }
1317
1318 if (FLAG_harmony_collections) { 1318 if (FLAG_harmony_collections) {
1319 // -- M a p 1319 // -- M a p
1320 InstallFunction(global, "Map", JS_MAP_TYPE, JSMap::kSize, 1320 InstallFunction(global, "Map", JS_MAP_TYPE, JSMap::kSize,
1321 isolate()->initial_object_prototype(), Builtins::kIllegal); 1321 isolate()->initial_object_prototype(), Builtins::kIllegal);
1322 // -- S e t 1322 // -- S e t
1323 InstallFunction(global, "Set", JS_SET_TYPE, JSSet::kSize, 1323 InstallFunction(global, "Set", JS_SET_TYPE, JSSet::kSize,
1324 isolate()->initial_object_prototype(), Builtins::kIllegal); 1324 isolate()->initial_object_prototype(), Builtins::kIllegal);
1325 { // -- S e t I t e r a t o r 1325 { // -- S e t I t e r a t o r
1326 Handle<JSObject> builtins(native_context()->builtins()); 1326 Handle<JSObject> builtins(native_context()->builtins());
1327 Handle<JSFunction> set_iterator_function = 1327 Handle<JSFunction> set_iterator_function =
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
1563 to_complete_property_descriptor); 1563 to_complete_property_descriptor);
1564 1564
1565 INSTALL_NATIVE(JSFunction, "IsPromise", is_promise); 1565 INSTALL_NATIVE(JSFunction, "IsPromise", is_promise);
1566 INSTALL_NATIVE(JSFunction, "PromiseCreate", promise_create); 1566 INSTALL_NATIVE(JSFunction, "PromiseCreate", promise_create);
1567 INSTALL_NATIVE(JSFunction, "PromiseResolve", promise_resolve); 1567 INSTALL_NATIVE(JSFunction, "PromiseResolve", promise_resolve);
1568 INSTALL_NATIVE(JSFunction, "PromiseReject", promise_reject); 1568 INSTALL_NATIVE(JSFunction, "PromiseReject", promise_reject);
1569 INSTALL_NATIVE(JSFunction, "PromiseChain", promise_chain); 1569 INSTALL_NATIVE(JSFunction, "PromiseChain", promise_chain);
1570 INSTALL_NATIVE(JSFunction, "PromiseCatch", promise_catch); 1570 INSTALL_NATIVE(JSFunction, "PromiseCatch", promise_catch);
1571 INSTALL_NATIVE(JSFunction, "PromiseThen", promise_then); 1571 INSTALL_NATIVE(JSFunction, "PromiseThen", promise_then);
1572 1572
1573 INSTALL_NATIVE(Symbol, "symbolIterator", iterator_symbol);
1574
1573 INSTALL_NATIVE(JSFunction, "NotifyChange", observers_notify_change); 1575 INSTALL_NATIVE(JSFunction, "NotifyChange", observers_notify_change);
1574 INSTALL_NATIVE(JSFunction, "EnqueueSpliceRecord", observers_enqueue_splice); 1576 INSTALL_NATIVE(JSFunction, "EnqueueSpliceRecord", observers_enqueue_splice);
1575 INSTALL_NATIVE(JSFunction, "BeginPerformSplice", 1577 INSTALL_NATIVE(JSFunction, "BeginPerformSplice",
1576 observers_begin_perform_splice); 1578 observers_begin_perform_splice);
1577 INSTALL_NATIVE(JSFunction, "EndPerformSplice", 1579 INSTALL_NATIVE(JSFunction, "EndPerformSplice",
1578 observers_end_perform_splice); 1580 observers_end_perform_splice);
1579 INSTALL_NATIVE(JSFunction, "NativeObjectObserve", 1581 INSTALL_NATIVE(JSFunction, "NativeObjectObserve",
1580 native_object_observe); 1582 native_object_observe);
1581 INSTALL_NATIVE(JSFunction, "NativeObjectGetNotifier", 1583 INSTALL_NATIVE(JSFunction, "NativeObjectGetNotifier",
1582 native_object_get_notifier); 1584 native_object_get_notifier);
1583 INSTALL_NATIVE(JSFunction, "NativeObjectNotifierPerformChange", 1585 INSTALL_NATIVE(JSFunction, "NativeObjectNotifierPerformChange",
1584 native_object_notifier_perform_change); 1586 native_object_notifier_perform_change);
1585 } 1587 }
1586 1588
1587 1589
1588 void Genesis::InstallExperimentalNativeFunctions() { 1590 void Genesis::InstallExperimentalNativeFunctions() {
1589 if (FLAG_harmony_proxies) { 1591 if (FLAG_harmony_proxies) {
1590 INSTALL_NATIVE(JSFunction, "DerivedHasTrap", derived_has_trap); 1592 INSTALL_NATIVE(JSFunction, "DerivedHasTrap", derived_has_trap);
1591 INSTALL_NATIVE(JSFunction, "DerivedGetTrap", derived_get_trap); 1593 INSTALL_NATIVE(JSFunction, "DerivedGetTrap", derived_get_trap);
1592 INSTALL_NATIVE(JSFunction, "DerivedSetTrap", derived_set_trap); 1594 INSTALL_NATIVE(JSFunction, "DerivedSetTrap", derived_set_trap);
1593 INSTALL_NATIVE(JSFunction, "ProxyEnumerate", proxy_enumerate); 1595 INSTALL_NATIVE(JSFunction, "ProxyEnumerate", proxy_enumerate);
1594 } 1596 }
1595
1596 if (FLAG_harmony_symbols) {
1597 INSTALL_NATIVE(Symbol, "symbolIterator", iterator_symbol);
1598 }
1599 } 1597 }
1600 1598
1601 #undef INSTALL_NATIVE 1599 #undef INSTALL_NATIVE
1602 1600
1603 1601
1604 Handle<JSFunction> Genesis::InstallInternalArray( 1602 Handle<JSFunction> Genesis::InstallInternalArray(
1605 Handle<JSBuiltinsObject> builtins, 1603 Handle<JSBuiltinsObject> builtins,
1606 const char* name, 1604 const char* name,
1607 ElementsKind elements_kind) { 1605 ElementsKind elements_kind) {
1608 // --- I n t e r n a l A r r a y --- 1606 // --- I n t e r n a l A r r a y ---
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
2005 strcmp(ExperimentalNatives::GetScriptName(i).start(), \ 2003 strcmp(ExperimentalNatives::GetScriptName(i).start(), \
2006 "native " file) == 0) { \ 2004 "native " file) == 0) { \
2007 if (!CompileExperimentalBuiltin(isolate(), i)) return false; \ 2005 if (!CompileExperimentalBuiltin(isolate(), i)) return false; \
2008 } 2006 }
2009 2007
2010 2008
2011 bool Genesis::InstallExperimentalNatives() { 2009 bool Genesis::InstallExperimentalNatives() {
2012 for (int i = ExperimentalNatives::GetDebuggerCount(); 2010 for (int i = ExperimentalNatives::GetDebuggerCount();
2013 i < ExperimentalNatives::GetBuiltinsCount(); 2011 i < ExperimentalNatives::GetBuiltinsCount();
2014 i++) { 2012 i++) {
2015 INSTALL_EXPERIMENTAL_NATIVE(i, symbols, "symbol.js")
2016 INSTALL_EXPERIMENTAL_NATIVE(i, proxies, "proxy.js") 2013 INSTALL_EXPERIMENTAL_NATIVE(i, proxies, "proxy.js")
2017 INSTALL_EXPERIMENTAL_NATIVE(i, collections, "collection.js") 2014 INSTALL_EXPERIMENTAL_NATIVE(i, collections, "collection.js")
2018 INSTALL_EXPERIMENTAL_NATIVE(i, collections, "collection-iterator.js") 2015 INSTALL_EXPERIMENTAL_NATIVE(i, collections, "collection-iterator.js")
2019 INSTALL_EXPERIMENTAL_NATIVE(i, generators, "generator.js") 2016 INSTALL_EXPERIMENTAL_NATIVE(i, generators, "generator.js")
2020 INSTALL_EXPERIMENTAL_NATIVE(i, iteration, "array-iterator.js") 2017 INSTALL_EXPERIMENTAL_NATIVE(i, iteration, "array-iterator.js")
2021 INSTALL_EXPERIMENTAL_NATIVE(i, iteration, "string-iterator.js") 2018 INSTALL_EXPERIMENTAL_NATIVE(i, iteration, "string-iterator.js")
2022 INSTALL_EXPERIMENTAL_NATIVE(i, strings, "harmony-string.js") 2019 INSTALL_EXPERIMENTAL_NATIVE(i, strings, "harmony-string.js")
2023 INSTALL_EXPERIMENTAL_NATIVE(i, arrays, "harmony-array.js") 2020 INSTALL_EXPERIMENTAL_NATIVE(i, arrays, "harmony-array.js")
2024 } 2021 }
2025 2022
(...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after
2692 return from + sizeof(NestingCounterType); 2689 return from + sizeof(NestingCounterType);
2693 } 2690 }
2694 2691
2695 2692
2696 // Called when the top-level V8 mutex is destroyed. 2693 // Called when the top-level V8 mutex is destroyed.
2697 void Bootstrapper::FreeThreadResources() { 2694 void Bootstrapper::FreeThreadResources() {
2698 ASSERT(!IsActive()); 2695 ASSERT(!IsActive());
2699 } 2696 }
2700 2697
2701 } } // namespace v8::internal 2698 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/flag-definitions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698