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 815 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
826 DCHECK_EQ(*isolate()->object_function(), *value); | 826 DCHECK_EQ(*isolate()->object_function(), *value); |
827 #endif | 827 #endif |
828 } else { | 828 } else { |
829 Handle<FunctionTemplateInfo> js_global_object_constructor( | 829 Handle<FunctionTemplateInfo> js_global_object_constructor( |
830 FunctionTemplateInfo::cast(js_global_object_template->constructor())); | 830 FunctionTemplateInfo::cast(js_global_object_template->constructor())); |
831 js_global_object_function = ApiNatives::CreateApiFunction( | 831 js_global_object_function = ApiNatives::CreateApiFunction( |
832 isolate(), js_global_object_constructor, factory()->the_hole_value(), | 832 isolate(), js_global_object_constructor, factory()->the_hole_value(), |
833 ApiNatives::GlobalObjectType); | 833 ApiNatives::GlobalObjectType); |
834 } | 834 } |
835 | 835 |
| 836 js_global_object_function->initial_map()->set_is_prototype_map(true); |
836 js_global_object_function->initial_map()->set_is_hidden_prototype(); | 837 js_global_object_function->initial_map()->set_is_hidden_prototype(); |
837 js_global_object_function->initial_map()->set_dictionary_map(true); | 838 js_global_object_function->initial_map()->set_dictionary_map(true); |
838 Handle<GlobalObject> global_object = | 839 Handle<GlobalObject> global_object = |
839 factory()->NewGlobalObject(js_global_object_function); | 840 factory()->NewGlobalObject(js_global_object_function); |
840 | 841 |
841 // Step 2: (re)initialize the global proxy object. | 842 // Step 2: (re)initialize the global proxy object. |
842 Handle<JSFunction> global_proxy_function; | 843 Handle<JSFunction> global_proxy_function; |
843 if (global_proxy_template.IsEmpty()) { | 844 if (global_proxy_template.IsEmpty()) { |
844 Handle<String> name = Handle<String>(heap()->empty_string()); | 845 Handle<String> name = Handle<String>(heap()->empty_string()); |
845 Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin( | 846 Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin( |
(...skipping 2109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2955 return from + sizeof(NestingCounterType); | 2956 return from + sizeof(NestingCounterType); |
2956 } | 2957 } |
2957 | 2958 |
2958 | 2959 |
2959 // Called when the top-level V8 mutex is destroyed. | 2960 // Called when the top-level V8 mutex is destroyed. |
2960 void Bootstrapper::FreeThreadResources() { | 2961 void Bootstrapper::FreeThreadResources() { |
2961 DCHECK(!IsActive()); | 2962 DCHECK(!IsActive()); |
2962 } | 2963 } |
2963 | 2964 |
2964 } } // namespace v8::internal | 2965 } } // namespace v8::internal |
OLD | NEW |