OLD | NEW |
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 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1049 Handle<ScriptContextTable> script_context_table = | 1049 Handle<ScriptContextTable> script_context_table = |
1050 factory->NewScriptContextTable(); | 1050 factory->NewScriptContextTable(); |
1051 native_context()->set_script_context_table(*script_context_table); | 1051 native_context()->set_script_context_table(*script_context_table); |
1052 InstallGlobalThisBinding(); | 1052 InstallGlobalThisBinding(); |
1053 | 1053 |
1054 { // --- O b j e c t --- | 1054 { // --- O b j e c t --- |
1055 Handle<String> object_name = factory->Object_string(); | 1055 Handle<String> object_name = factory->Object_string(); |
1056 Handle<JSFunction> object_function = isolate->object_function(); | 1056 Handle<JSFunction> object_function = isolate->object_function(); |
1057 JSObject::AddProperty(global_object, object_name, object_function, | 1057 JSObject::AddProperty(global_object, object_name, object_function, |
1058 DONT_ENUM); | 1058 DONT_ENUM); |
| 1059 |
1059 SimpleInstallFunction(object_function, factory->assign_string(), | 1060 SimpleInstallFunction(object_function, factory->assign_string(), |
1060 Builtins::kObjectAssign, 2, false); | 1061 Builtins::kObjectAssign, 2, false); |
1061 SimpleInstallFunction(object_function, factory->create_string(), | 1062 SimpleInstallFunction(object_function, factory->create_string(), |
1062 Builtins::kObjectCreate, 2, false); | 1063 Builtins::kObjectCreate, 2, false); |
1063 Handle<JSFunction> object_freeze = SimpleInstallFunction( | |
1064 object_function, "freeze", Builtins::kObjectFreeze, 1, false); | |
1065 native_context()->set_object_freeze(*object_freeze); | |
1066 SimpleInstallFunction(object_function, "getOwnPropertyDescriptor", | 1064 SimpleInstallFunction(object_function, "getOwnPropertyDescriptor", |
1067 Builtins::kObjectGetOwnPropertyDescriptor, 2, false); | 1065 Builtins::kObjectGetOwnPropertyDescriptor, 2, false); |
1068 SimpleInstallFunction(object_function, "getOwnPropertyNames", | 1066 SimpleInstallFunction(object_function, "getOwnPropertyNames", |
1069 Builtins::kObjectGetOwnPropertyNames, 1, false); | 1067 Builtins::kObjectGetOwnPropertyNames, 1, false); |
1070 SimpleInstallFunction(object_function, "getOwnPropertySymbols", | 1068 SimpleInstallFunction(object_function, "getOwnPropertySymbols", |
1071 Builtins::kObjectGetOwnPropertySymbols, 1, false); | 1069 Builtins::kObjectGetOwnPropertySymbols, 1, false); |
1072 SimpleInstallFunction(object_function, "is", Builtins::kObjectIs, 2, true); | 1070 SimpleInstallFunction(object_function, "is", |
1073 Handle<JSFunction> object_is_extensible = | 1071 Builtins::kObjectIs, 2, true); |
1074 SimpleInstallFunction(object_function, "isExtensible", | 1072 SimpleInstallFunction(object_function, "preventExtensions", |
1075 Builtins::kObjectIsExtensible, 1, false); | 1073 Builtins::kObjectPreventExtensions, 1, false); |
| 1074 SimpleInstallFunction(object_function, "seal", |
| 1075 Builtins::kObjectSeal, 1, false); |
| 1076 |
| 1077 Handle<JSFunction> object_freeze = SimpleInstallFunction( |
| 1078 object_function, "freeze", Builtins::kObjectFreeze, 1, false); |
| 1079 native_context()->set_object_freeze(*object_freeze); |
| 1080 |
| 1081 Handle<JSFunction> object_get_prototype_of = SimpleInstallFunction( |
| 1082 object_function, "getPrototypeOf", Builtins::kObjectGetPrototypeOf, |
| 1083 1, false); |
| 1084 native_context()->set_object_get_prototype_of(*object_get_prototype_of); |
| 1085 |
| 1086 Handle<JSFunction> object_is_extensible = SimpleInstallFunction( |
| 1087 object_function, "isExtensible", Builtins::kObjectIsExtensible, |
| 1088 1, false); |
1076 native_context()->set_object_is_extensible(*object_is_extensible); | 1089 native_context()->set_object_is_extensible(*object_is_extensible); |
| 1090 |
1077 Handle<JSFunction> object_is_frozen = SimpleInstallFunction( | 1091 Handle<JSFunction> object_is_frozen = SimpleInstallFunction( |
1078 object_function, "isFrozen", Builtins::kObjectIsFrozen, 1, false); | 1092 object_function, "isFrozen", Builtins::kObjectIsFrozen, 1, false); |
1079 native_context()->set_object_is_frozen(*object_is_frozen); | 1093 native_context()->set_object_is_frozen(*object_is_frozen); |
| 1094 |
1080 Handle<JSFunction> object_is_sealed = SimpleInstallFunction( | 1095 Handle<JSFunction> object_is_sealed = SimpleInstallFunction( |
1081 object_function, "isSealed", Builtins::kObjectIsSealed, 1, false); | 1096 object_function, "isSealed", Builtins::kObjectIsSealed, 1, false); |
1082 native_context()->set_object_is_sealed(*object_is_sealed); | 1097 native_context()->set_object_is_sealed(*object_is_sealed); |
| 1098 |
1083 Handle<JSFunction> object_keys = SimpleInstallFunction( | 1099 Handle<JSFunction> object_keys = SimpleInstallFunction( |
1084 object_function, "keys", Builtins::kObjectKeys, 1, false); | 1100 object_function, "keys", Builtins::kObjectKeys, 1, false); |
1085 native_context()->set_object_keys(*object_keys); | 1101 native_context()->set_object_keys(*object_keys); |
1086 SimpleInstallFunction(object_function, "preventExtensions", | |
1087 Builtins::kObjectPreventExtensions, 1, false); | |
1088 SimpleInstallFunction(object_function, "seal", Builtins::kObjectSeal, 1, | |
1089 false); | |
1090 | 1102 |
1091 SimpleInstallFunction(isolate->initial_object_prototype(), "hasOwnProperty", | 1103 SimpleInstallFunction(isolate->initial_object_prototype(), "hasOwnProperty", |
1092 Builtins::kObjectHasOwnProperty, 1, true); | 1104 Builtins::kObjectHasOwnProperty, 1, true); |
1093 } | 1105 } |
1094 | 1106 |
1095 Handle<JSObject> global(native_context()->global_object()); | 1107 Handle<JSObject> global(native_context()->global_object()); |
1096 | 1108 |
1097 { // --- F u n c t i o n --- | 1109 { // --- F u n c t i o n --- |
1098 Handle<JSFunction> prototype = empty_function; | 1110 Handle<JSFunction> prototype = empty_function; |
1099 Handle<JSFunction> function_fun = | 1111 Handle<JSFunction> function_fun = |
(...skipping 2543 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3643 } | 3655 } |
3644 | 3656 |
3645 | 3657 |
3646 // Called when the top-level V8 mutex is destroyed. | 3658 // Called when the top-level V8 mutex is destroyed. |
3647 void Bootstrapper::FreeThreadResources() { | 3659 void Bootstrapper::FreeThreadResources() { |
3648 DCHECK(!IsActive()); | 3660 DCHECK(!IsActive()); |
3649 } | 3661 } |
3650 | 3662 |
3651 } // namespace internal | 3663 } // namespace internal |
3652 } // namespace v8 | 3664 } // namespace v8 |
OLD | NEW |