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/base/utils/random-number-generator.h" | 9 #include "src/base/utils/random-number-generator.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 1905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1916 Handle<JSObject> shared = | 1916 Handle<JSObject> shared = |
1917 factory()->NewJSObject(isolate()->object_function()); | 1917 factory()->NewJSObject(isolate()->object_function()); |
1918 JSObject::NormalizeProperties(shared, CLEAR_INOBJECT_PROPERTIES, 16, | 1918 JSObject::NormalizeProperties(shared, CLEAR_INOBJECT_PROPERTIES, 16, |
1919 "container to share between native scripts"); | 1919 "container to share between native scripts"); |
1920 Handle<JSObject> builtin_exports = | 1920 Handle<JSObject> builtin_exports = |
1921 factory()->NewJSObject(isolate()->object_function()); | 1921 factory()->NewJSObject(isolate()->object_function()); |
1922 JSObject::NormalizeProperties(builtin_exports, CLEAR_INOBJECT_PROPERTIES, 16, | 1922 JSObject::NormalizeProperties(builtin_exports, CLEAR_INOBJECT_PROPERTIES, 16, |
1923 "container to export to experimental natives"); | 1923 "container to export to experimental natives"); |
1924 native_context()->set_builtin_exports_object(*builtin_exports); | 1924 native_context()->set_builtin_exports_object(*builtin_exports); |
1925 | 1925 |
| 1926 if (FLAG_expose_natives_as != NULL) { |
| 1927 Handle<String> shared_key = factory()->NewStringFromAsciiChecked("shared"); |
| 1928 JSObject::AddProperty(builtins, shared_key, shared, NONE); |
| 1929 } |
| 1930 |
1926 { // -- S c r i p t | 1931 { // -- S c r i p t |
1927 // Builtin functions for Script. | 1932 // Builtin functions for Script. |
1928 Handle<JSFunction> script_fun = InstallFunction( | 1933 Handle<JSFunction> script_fun = InstallFunction( |
1929 builtins, "Script", JS_VALUE_TYPE, JSValue::kSize, | 1934 builtins, "Script", JS_VALUE_TYPE, JSValue::kSize, |
1930 isolate()->initial_object_prototype(), Builtins::kIllegal); | 1935 isolate()->initial_object_prototype(), Builtins::kIllegal); |
1931 Handle<JSObject> prototype = | 1936 Handle<JSObject> prototype = |
1932 factory()->NewJSObject(isolate()->object_function(), TENURED); | 1937 factory()->NewJSObject(isolate()->object_function(), TENURED); |
1933 Accessors::FunctionSetPrototype(script_fun, prototype).Assert(); | 1938 Accessors::FunctionSetPrototype(script_fun, prototype).Assert(); |
1934 native_context()->set_script_function(*script_fun); | 1939 native_context()->set_script_function(*script_fun); |
1935 | 1940 |
(...skipping 1080 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3016 return from + sizeof(NestingCounterType); | 3021 return from + sizeof(NestingCounterType); |
3017 } | 3022 } |
3018 | 3023 |
3019 | 3024 |
3020 // Called when the top-level V8 mutex is destroyed. | 3025 // Called when the top-level V8 mutex is destroyed. |
3021 void Bootstrapper::FreeThreadResources() { | 3026 void Bootstrapper::FreeThreadResources() { |
3022 DCHECK(!IsActive()); | 3027 DCHECK(!IsActive()); |
3023 } | 3028 } |
3024 | 3029 |
3025 } } // namespace v8::internal | 3030 } } // namespace v8::internal |
OLD | NEW |