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

Side by Side Diff: src/bootstrapper.cc

Issue 716833002: Various clean-ups after top-level lexical declarations are done. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: CR feedback Created 6 years, 1 month 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
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 846 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 global_proxy->set_hash(heap()->undefined_value()); 857 global_proxy->set_hash(heap()->undefined_value());
858 } 858 }
859 return global_proxy; 859 return global_proxy;
860 } 860 }
861 861
862 862
863 void Genesis::HookUpGlobalProxy(Handle<GlobalObject> global_object, 863 void Genesis::HookUpGlobalProxy(Handle<GlobalObject> global_object,
864 Handle<JSGlobalProxy> global_proxy) { 864 Handle<JSGlobalProxy> global_proxy) {
865 // Set the native context for the global object. 865 // Set the native context for the global object.
866 global_object->set_native_context(*native_context()); 866 global_object->set_native_context(*native_context());
867 global_object->set_global_context(*native_context());
868 global_object->set_global_proxy(*global_proxy); 867 global_object->set_global_proxy(*global_proxy);
869 global_proxy->set_native_context(*native_context()); 868 global_proxy->set_native_context(*native_context());
870 native_context()->set_global_proxy(*global_proxy); 869 native_context()->set_global_proxy(*global_proxy);
871 } 870 }
872 871
873 872
874 void Genesis::HookUpGlobalObject(Handle<GlobalObject> global_object) { 873 void Genesis::HookUpGlobalObject(Handle<GlobalObject> global_object) {
875 Handle<GlobalObject> global_object_from_snapshot( 874 Handle<GlobalObject> global_object_from_snapshot(
876 GlobalObject::cast(native_context()->extension())); 875 GlobalObject::cast(native_context()->extension()));
877 Handle<JSBuiltinsObject> builtins_global(native_context()->builtins()); 876 Handle<JSBuiltinsObject> builtins_global(native_context()->builtins());
(...skipping 24 matching lines...) Expand all
902 native_context()->set_global_object(*global_object); 901 native_context()->set_global_object(*global_object);
903 // Security setup: Set the security token of the native context to the global 902 // Security setup: Set the security token of the native context to the global
904 // object. This makes the security check between two different contexts fail 903 // object. This makes the security check between two different contexts fail
905 // by default even in case of global object reinitialization. 904 // by default even in case of global object reinitialization.
906 native_context()->set_security_token(*global_object); 905 native_context()->set_security_token(*global_object);
907 906
908 Isolate* isolate = global_object->GetIsolate(); 907 Isolate* isolate = global_object->GetIsolate();
909 Factory* factory = isolate->factory(); 908 Factory* factory = isolate->factory();
910 Heap* heap = isolate->heap(); 909 Heap* heap = isolate->heap();
911 910
912 Handle<GlobalContextTable> global_context_table = 911 Handle<ScriptContextTable> script_context_table =
913 factory->NewGlobalContextTable(); 912 factory->NewScriptContextTable();
914 native_context()->set_global_context_table(*global_context_table); 913 native_context()->set_script_context_table(*script_context_table);
915 914
916 Handle<String> object_name = factory->Object_string(); 915 Handle<String> object_name = factory->Object_string();
917 JSObject::AddProperty( 916 JSObject::AddProperty(
918 global_object, object_name, isolate->object_function(), DONT_ENUM); 917 global_object, object_name, isolate->object_function(), DONT_ENUM);
919 918
920 Handle<JSObject> global(native_context()->global_object()); 919 Handle<JSObject> global(native_context()->global_object());
921 920
922 // Install global Function object 921 // Install global Function object
923 InstallFunction(global, "Function", JS_FUNCTION_TYPE, JSFunction::kSize, 922 InstallFunction(global, "Function", JS_FUNCTION_TYPE, JSFunction::kSize,
924 empty_function, Builtins::kIllegal); 923 empty_function, Builtins::kIllegal);
(...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after
1700 factory()->InternalizeOneByteString(STATIC_CHAR_VECTOR("builtins")); 1699 factory()->InternalizeOneByteString(STATIC_CHAR_VECTOR("builtins"));
1701 builtins_fun->shared()->set_instance_class_name(*name); 1700 builtins_fun->shared()->set_instance_class_name(*name);
1702 builtins_fun->initial_map()->set_dictionary_map(true); 1701 builtins_fun->initial_map()->set_dictionary_map(true);
1703 builtins_fun->initial_map()->set_prototype(heap()->null_value()); 1702 builtins_fun->initial_map()->set_prototype(heap()->null_value());
1704 1703
1705 // Allocate the builtins object. 1704 // Allocate the builtins object.
1706 Handle<JSBuiltinsObject> builtins = 1705 Handle<JSBuiltinsObject> builtins =
1707 Handle<JSBuiltinsObject>::cast(factory()->NewGlobalObject(builtins_fun)); 1706 Handle<JSBuiltinsObject>::cast(factory()->NewGlobalObject(builtins_fun));
1708 builtins->set_builtins(*builtins); 1707 builtins->set_builtins(*builtins);
1709 builtins->set_native_context(*native_context()); 1708 builtins->set_native_context(*native_context());
1710 builtins->set_global_context(*native_context());
1711 builtins->set_global_proxy(native_context()->global_proxy()); 1709 builtins->set_global_proxy(native_context()->global_proxy());
1712 1710
1713 1711
1714 // Set up the 'global' properties of the builtins object. The 1712 // Set up the 'global' properties of the builtins object. The
1715 // 'global' property that refers to the global object is the only 1713 // 'global' property that refers to the global object is the only
1716 // way to get from code running in the builtins context to the 1714 // way to get from code running in the builtins context to the
1717 // global object. 1715 // global object.
1718 static const PropertyAttributes attributes = 1716 static const PropertyAttributes attributes =
1719 static_cast<PropertyAttributes>(READ_ONLY | DONT_DELETE); 1717 static_cast<PropertyAttributes>(READ_ONLY | DONT_DELETE);
1720 Handle<String> global_string = 1718 Handle<String> global_string =
(...skipping 1104 matching lines...) Expand 10 before | Expand all | Expand 10 after
2825 return from + sizeof(NestingCounterType); 2823 return from + sizeof(NestingCounterType);
2826 } 2824 }
2827 2825
2828 2826
2829 // Called when the top-level V8 mutex is destroyed. 2827 // Called when the top-level V8 mutex is destroyed.
2830 void Bootstrapper::FreeThreadResources() { 2828 void Bootstrapper::FreeThreadResources() {
2831 DCHECK(!IsActive()); 2829 DCHECK(!IsActive());
2832 } 2830 }
2833 2831
2834 } } // namespace v8::internal 2832 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm64/macro-assembler-arm64.cc ('k') | src/code-stubs.h » ('j') | src/parser.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698