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

Side by Side Diff: src/bootstrapper.cc

Issue 441943002: Remove @@create and don't expose unimplemented symbols (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 4 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 | « BUILD.gn ('k') | src/symbol.js » ('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 964 matching lines...) Expand 10 before | Expand all | Expand 10 after
975 DONT_ENUM | DONT_DELETE | READ_ONLY); 975 DONT_ENUM | DONT_DELETE | READ_ONLY);
976 Handle<AccessorInfo> string_length( 976 Handle<AccessorInfo> string_length(
977 Accessors::StringLengthInfo(isolate, attribs)); 977 Accessors::StringLengthInfo(isolate, attribs));
978 978
979 { // Add length. 979 { // Add length.
980 CallbacksDescriptor d(factory->length_string(), string_length, attribs); 980 CallbacksDescriptor d(factory->length_string(), string_length, attribs);
981 string_map->AppendDescriptor(&d); 981 string_map->AppendDescriptor(&d);
982 } 982 }
983 } 983 }
984 984
985 {
986 // --- S y m b o l ---
987 Handle<JSFunction> symbol_fun = InstallFunction(
988 global, "Symbol", JS_VALUE_TYPE, JSValue::kSize,
989 isolate->initial_object_prototype(), Builtins::kIllegal);
990 native_context()->set_symbol_function(*symbol_fun);
991 }
992
985 { // --- D a t e --- 993 { // --- D a t e ---
986 // Builtin functions for Date.prototype. 994 // Builtin functions for Date.prototype.
987 Handle<JSFunction> date_fun = 995 Handle<JSFunction> date_fun =
988 InstallFunction(global, "Date", JS_DATE_TYPE, JSDate::kSize, 996 InstallFunction(global, "Date", JS_DATE_TYPE, JSDate::kSize,
989 isolate->initial_object_prototype(), 997 isolate->initial_object_prototype(),
990 Builtins::kIllegal); 998 Builtins::kIllegal);
991 999
992 native_context()->set_date_function(*date_fun); 1000 native_context()->set_date_function(*date_fun);
993 } 1001 }
994 1002
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
1127 native_context()->set_data_view_fun(*data_view_fun); 1135 native_context()->set_data_view_fun(*data_view_fun);
1128 } 1136 }
1129 1137
1130 // -- W e a k M a p 1138 // -- W e a k M a p
1131 InstallFunction(global, "WeakMap", JS_WEAK_MAP_TYPE, JSWeakMap::kSize, 1139 InstallFunction(global, "WeakMap", JS_WEAK_MAP_TYPE, JSWeakMap::kSize,
1132 isolate->initial_object_prototype(), Builtins::kIllegal); 1140 isolate->initial_object_prototype(), Builtins::kIllegal);
1133 // -- W e a k S e t 1141 // -- W e a k S e t
1134 InstallFunction(global, "WeakSet", JS_WEAK_SET_TYPE, JSWeakSet::kSize, 1142 InstallFunction(global, "WeakSet", JS_WEAK_SET_TYPE, JSWeakSet::kSize,
1135 isolate->initial_object_prototype(), Builtins::kIllegal); 1143 isolate->initial_object_prototype(), Builtins::kIllegal);
1136 1144
1137 {
1138 // --- S y m b o l ---
1139 Handle<JSFunction> symbol_fun = InstallFunction(
1140 global, "Symbol", JS_VALUE_TYPE, JSValue::kSize,
1141 isolate->initial_object_prototype(), Builtins::kIllegal);
1142 native_context()->set_symbol_function(*symbol_fun);
1143 }
1144
1145 { // --- sloppy arguments map 1145 { // --- sloppy arguments map
1146 // Make sure we can recognize argument objects at runtime. 1146 // Make sure we can recognize argument objects at runtime.
1147 // This is done by introducing an anonymous function with 1147 // This is done by introducing an anonymous function with
1148 // class_name equals 'Arguments'. 1148 // class_name equals 'Arguments'.
1149 Handle<String> arguments_string = factory->InternalizeOneByteString( 1149 Handle<String> arguments_string = factory->InternalizeOneByteString(
1150 STATIC_ASCII_VECTOR("Arguments")); 1150 STATIC_ASCII_VECTOR("Arguments"));
1151 Handle<Code> code(isolate->builtins()->builtin(Builtins::kIllegal)); 1151 Handle<Code> code(isolate->builtins()->builtin(Builtins::kIllegal));
1152 Handle<JSFunction> function = factory->NewFunctionWithoutPrototype( 1152 Handle<JSFunction> function = factory->NewFunctionWithoutPrototype(
1153 arguments_string, code); 1153 arguments_string, code);
1154 function->shared()->set_instance_class_name(*arguments_string); 1154 function->shared()->set_instance_class_name(*arguments_string);
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
1614 INSTALL_NATIVE(JSFunction, "BeginPerformSplice", 1614 INSTALL_NATIVE(JSFunction, "BeginPerformSplice",
1615 observers_begin_perform_splice); 1615 observers_begin_perform_splice);
1616 INSTALL_NATIVE(JSFunction, "EndPerformSplice", 1616 INSTALL_NATIVE(JSFunction, "EndPerformSplice",
1617 observers_end_perform_splice); 1617 observers_end_perform_splice);
1618 INSTALL_NATIVE(JSFunction, "NativeObjectObserve", 1618 INSTALL_NATIVE(JSFunction, "NativeObjectObserve",
1619 native_object_observe); 1619 native_object_observe);
1620 INSTALL_NATIVE(JSFunction, "NativeObjectGetNotifier", 1620 INSTALL_NATIVE(JSFunction, "NativeObjectGetNotifier",
1621 native_object_get_notifier); 1621 native_object_get_notifier);
1622 INSTALL_NATIVE(JSFunction, "NativeObjectNotifierPerformChange", 1622 INSTALL_NATIVE(JSFunction, "NativeObjectNotifierPerformChange",
1623 native_object_notifier_perform_change); 1623 native_object_notifier_perform_change);
1624
1624 INSTALL_NATIVE(Symbol, "symbolIterator", iterator_symbol); 1625 INSTALL_NATIVE(Symbol, "symbolIterator", iterator_symbol);
1625 1626
1626 INSTALL_NATIVE_MATH(abs) 1627 INSTALL_NATIVE_MATH(abs)
1627 INSTALL_NATIVE_MATH(acos) 1628 INSTALL_NATIVE_MATH(acos)
1628 INSTALL_NATIVE_MATH(asin) 1629 INSTALL_NATIVE_MATH(asin)
1629 INSTALL_NATIVE_MATH(atan) 1630 INSTALL_NATIVE_MATH(atan)
1630 INSTALL_NATIVE_MATH(atan2) 1631 INSTALL_NATIVE_MATH(atan2)
1631 INSTALL_NATIVE_MATH(ceil) 1632 INSTALL_NATIVE_MATH(ceil)
1632 INSTALL_NATIVE_MATH(cos) 1633 INSTALL_NATIVE_MATH(cos)
1633 INSTALL_NATIVE_MATH(exp) 1634 INSTALL_NATIVE_MATH(exp)
(...skipping 1095 matching lines...) Expand 10 before | Expand all | Expand 10 after
2729 return from + sizeof(NestingCounterType); 2730 return from + sizeof(NestingCounterType);
2730 } 2731 }
2731 2732
2732 2733
2733 // Called when the top-level V8 mutex is destroyed. 2734 // Called when the top-level V8 mutex is destroyed.
2734 void Bootstrapper::FreeThreadResources() { 2735 void Bootstrapper::FreeThreadResources() {
2735 DCHECK(!IsActive()); 2736 DCHECK(!IsActive());
2736 } 2737 }
2737 2738
2738 } } // namespace v8::internal 2739 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « BUILD.gn ('k') | src/symbol.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698