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

Side by Side Diff: src/bootstrapper.cc

Issue 2741683004: [rename] Rename internal field to embedder field. (Closed)
Patch Set: DEPRECATE_SOON(GetInternalField) Created 3 years, 9 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
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/api-natives.h" 8 #include "src/api-natives.h"
9 #include "src/base/ieee754.h" 9 #include "src/base/ieee754.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 140
141 extensions_cache_.Initialize(isolate_, false); // Yes, symmetrical 141 extensions_cache_.Initialize(isolate_, false); // Yes, symmetrical
142 } 142 }
143 143
144 144
145 class Genesis BASE_EMBEDDED { 145 class Genesis BASE_EMBEDDED {
146 public: 146 public:
147 Genesis(Isolate* isolate, MaybeHandle<JSGlobalProxy> maybe_global_proxy, 147 Genesis(Isolate* isolate, MaybeHandle<JSGlobalProxy> maybe_global_proxy,
148 v8::Local<v8::ObjectTemplate> global_proxy_template, 148 v8::Local<v8::ObjectTemplate> global_proxy_template,
149 size_t context_snapshot_index, 149 size_t context_snapshot_index,
150 v8::DeserializeInternalFieldsCallback internal_fields_deserializer, 150 v8::DeserializeEmbedderFieldsCallback embedder_fields_deserializer,
151 GlobalContextType context_type); 151 GlobalContextType context_type);
152 Genesis(Isolate* isolate, MaybeHandle<JSGlobalProxy> maybe_global_proxy, 152 Genesis(Isolate* isolate, MaybeHandle<JSGlobalProxy> maybe_global_proxy,
153 v8::Local<v8::ObjectTemplate> global_proxy_template); 153 v8::Local<v8::ObjectTemplate> global_proxy_template);
154 ~Genesis() { } 154 ~Genesis() { }
155 155
156 Isolate* isolate() const { return isolate_; } 156 Isolate* isolate() const { return isolate_; }
157 Factory* factory() const { return isolate_->factory(); } 157 Factory* factory() const { return isolate_->factory(); }
158 Heap* heap() const { return isolate_->heap(); } 158 Heap* heap() const { return isolate_->heap(); }
159 159
160 Handle<Context> result() { return result_; } 160 Handle<Context> result() { return result_; }
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 313
314 void Bootstrapper::Iterate(ObjectVisitor* v) { 314 void Bootstrapper::Iterate(ObjectVisitor* v) {
315 extensions_cache_.Iterate(v); 315 extensions_cache_.Iterate(v);
316 v->Synchronize(VisitorSynchronization::kExtensions); 316 v->Synchronize(VisitorSynchronization::kExtensions);
317 } 317 }
318 318
319 Handle<Context> Bootstrapper::CreateEnvironment( 319 Handle<Context> Bootstrapper::CreateEnvironment(
320 MaybeHandle<JSGlobalProxy> maybe_global_proxy, 320 MaybeHandle<JSGlobalProxy> maybe_global_proxy,
321 v8::Local<v8::ObjectTemplate> global_proxy_template, 321 v8::Local<v8::ObjectTemplate> global_proxy_template,
322 v8::ExtensionConfiguration* extensions, size_t context_snapshot_index, 322 v8::ExtensionConfiguration* extensions, size_t context_snapshot_index,
323 v8::DeserializeInternalFieldsCallback internal_fields_deserializer, 323 v8::DeserializeEmbedderFieldsCallback embedder_fields_deserializer,
324 GlobalContextType context_type) { 324 GlobalContextType context_type) {
325 HandleScope scope(isolate_); 325 HandleScope scope(isolate_);
326 Genesis genesis(isolate_, maybe_global_proxy, global_proxy_template, 326 Genesis genesis(isolate_, maybe_global_proxy, global_proxy_template,
327 context_snapshot_index, internal_fields_deserializer, 327 context_snapshot_index, embedder_fields_deserializer,
328 context_type); 328 context_type);
329 Handle<Context> env = genesis.result(); 329 Handle<Context> env = genesis.result();
330 if (env.is_null() || !InstallExtensions(env, extensions)) { 330 if (env.is_null() || !InstallExtensions(env, extensions)) {
331 return Handle<Context>(); 331 return Handle<Context>();
332 } 332 }
333 return scope.CloseAndEscape(env); 333 return scope.CloseAndEscape(env);
334 } 334 }
335 335
336 Handle<JSGlobalProxy> Bootstrapper::NewRemoteContext( 336 Handle<JSGlobalProxy> Bootstrapper::NewRemoteContext(
337 MaybeHandle<JSGlobalProxy> maybe_global_proxy, 337 MaybeHandle<JSGlobalProxy> maybe_global_proxy,
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after
1019 Handle<JSGlobalObject> global_object = 1019 Handle<JSGlobalObject> global_object =
1020 factory()->NewJSGlobalObject(js_global_object_function); 1020 factory()->NewJSGlobalObject(js_global_object_function);
1021 1021
1022 // Step 2: (re)initialize the global proxy object. 1022 // Step 2: (re)initialize the global proxy object.
1023 Handle<JSFunction> global_proxy_function; 1023 Handle<JSFunction> global_proxy_function;
1024 if (global_proxy_template.IsEmpty()) { 1024 if (global_proxy_template.IsEmpty()) {
1025 Handle<String> name = Handle<String>(heap()->empty_string()); 1025 Handle<String> name = Handle<String>(heap()->empty_string());
1026 Handle<Code> code = isolate()->builtins()->Illegal(); 1026 Handle<Code> code = isolate()->builtins()->Illegal();
1027 global_proxy_function = 1027 global_proxy_function =
1028 factory()->NewFunction(name, code, JS_GLOBAL_PROXY_TYPE, 1028 factory()->NewFunction(name, code, JS_GLOBAL_PROXY_TYPE,
1029 JSGlobalProxy::SizeWithInternalFields(0)); 1029 JSGlobalProxy::SizeWithEmbedderFields(0));
1030 } else { 1030 } else {
1031 Handle<ObjectTemplateInfo> data = 1031 Handle<ObjectTemplateInfo> data =
1032 v8::Utils::OpenHandle(*global_proxy_template); 1032 v8::Utils::OpenHandle(*global_proxy_template);
1033 Handle<FunctionTemplateInfo> global_constructor( 1033 Handle<FunctionTemplateInfo> global_constructor(
1034 FunctionTemplateInfo::cast(data->constructor())); 1034 FunctionTemplateInfo::cast(data->constructor()));
1035 global_proxy_function = ApiNatives::CreateApiFunction( 1035 global_proxy_function = ApiNatives::CreateApiFunction(
1036 isolate(), global_constructor, factory()->the_hole_value(), 1036 isolate(), global_constructor, factory()->the_hole_value(),
1037 ApiNatives::GlobalProxyType); 1037 ApiNatives::GlobalProxyType);
1038 } 1038 }
1039 Handle<String> global_name = factory()->global_string(); 1039 Handle<String> global_name = factory()->global_string();
(...skipping 1602 matching lines...) Expand 10 before | Expand all | Expand 10 after
2642 InstallWithIntrinsicDefaultProto( 2642 InstallWithIntrinsicDefaultProto(
2643 isolate, construct_by_length, 2643 isolate, construct_by_length,
2644 Context::TYPED_ARRAY_CONSTRUCT_BY_LENGTH_INDEX); 2644 Context::TYPED_ARRAY_CONSTRUCT_BY_LENGTH_INDEX);
2645 } 2645 }
2646 2646
2647 { // -- D a t a V i e w 2647 { // -- D a t a V i e w
2648 Handle<JSObject> prototype = 2648 Handle<JSObject> prototype =
2649 factory->NewJSObject(isolate->object_function(), TENURED); 2649 factory->NewJSObject(isolate->object_function(), TENURED);
2650 Handle<JSFunction> data_view_fun = 2650 Handle<JSFunction> data_view_fun =
2651 InstallFunction(global, "DataView", JS_DATA_VIEW_TYPE, 2651 InstallFunction(global, "DataView", JS_DATA_VIEW_TYPE,
2652 JSDataView::kSizeWithInternalFields, prototype, 2652 JSDataView::kSizeWithEmbedderFields, prototype,
2653 Builtins::kDataViewConstructor); 2653 Builtins::kDataViewConstructor);
2654 InstallWithIntrinsicDefaultProto(isolate, data_view_fun, 2654 InstallWithIntrinsicDefaultProto(isolate, data_view_fun,
2655 Context::DATA_VIEW_FUN_INDEX); 2655 Context::DATA_VIEW_FUN_INDEX);
2656 data_view_fun->shared()->SetConstructStub( 2656 data_view_fun->shared()->SetConstructStub(
2657 *isolate->builtins()->DataViewConstructor_ConstructStub()); 2657 *isolate->builtins()->DataViewConstructor_ConstructStub());
2658 data_view_fun->shared()->set_length(3); 2658 data_view_fun->shared()->set_length(3);
2659 data_view_fun->shared()->DontAdaptArguments(); 2659 data_view_fun->shared()->DontAdaptArguments();
2660 2660
2661 // Install the @@toStringTag property on the {prototype}. 2661 // Install the @@toStringTag property on the {prototype}.
2662 JSObject::AddProperty( 2662 JSObject::AddProperty(
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
3031 Handle<JSObject> global = Handle<JSObject>(native_context()->global_object()); 3031 Handle<JSObject> global = Handle<JSObject>(native_context()->global_object());
3032 3032
3033 Handle<JSObject> typed_array_prototype = 3033 Handle<JSObject> typed_array_prototype =
3034 Handle<JSObject>(isolate()->typed_array_prototype()); 3034 Handle<JSObject>(isolate()->typed_array_prototype());
3035 Handle<JSFunction> typed_array_function = 3035 Handle<JSFunction> typed_array_function =
3036 Handle<JSFunction>(isolate()->typed_array_function()); 3036 Handle<JSFunction>(isolate()->typed_array_function());
3037 3037
3038 Handle<JSObject> prototype = 3038 Handle<JSObject> prototype =
3039 factory()->NewJSObject(isolate()->object_function(), TENURED); 3039 factory()->NewJSObject(isolate()->object_function(), TENURED);
3040 Handle<JSFunction> result = InstallFunction( 3040 Handle<JSFunction> result = InstallFunction(
3041 global, name, JS_TYPED_ARRAY_TYPE, JSTypedArray::kSizeWithInternalFields, 3041 global, name, JS_TYPED_ARRAY_TYPE, JSTypedArray::kSizeWithEmbedderFields,
3042 prototype, Builtins::kIllegal); 3042 prototype, Builtins::kIllegal);
3043 result->initial_map()->set_elements_kind(elements_kind); 3043 result->initial_map()->set_elements_kind(elements_kind);
3044 3044
3045 CHECK(JSObject::SetPrototype(result, typed_array_function, false, 3045 CHECK(JSObject::SetPrototype(result, typed_array_function, false,
3046 Object::DONT_THROW) 3046 Object::DONT_THROW)
3047 .FromJust()); 3047 .FromJust());
3048 3048
3049 CHECK(JSObject::SetPrototype(prototype, typed_array_prototype, false, 3049 CHECK(JSObject::SetPrototype(prototype, typed_array_prototype, false,
3050 Object::DONT_THROW) 3050 Object::DONT_THROW)
3051 .FromJust()); 3051 .FromJust());
(...skipping 846 matching lines...) Expand 10 before | Expand all | Expand 10 after
3898 // Setup the {prototype} with the given {name} for @@toStringTag. 3898 // Setup the {prototype} with the given {name} for @@toStringTag.
3899 Handle<JSObject> prototype = 3899 Handle<JSObject> prototype =
3900 factory()->NewJSObject(isolate()->object_function(), TENURED); 3900 factory()->NewJSObject(isolate()->object_function(), TENURED);
3901 JSObject::AddProperty(prototype, factory()->to_string_tag_symbol(), 3901 JSObject::AddProperty(prototype, factory()->to_string_tag_symbol(),
3902 factory()->NewStringFromAsciiChecked(name), 3902 factory()->NewStringFromAsciiChecked(name),
3903 static_cast<PropertyAttributes>(DONT_ENUM | READ_ONLY)); 3903 static_cast<PropertyAttributes>(DONT_ENUM | READ_ONLY));
3904 3904
3905 // Allocate the constructor with the given {prototype}. 3905 // Allocate the constructor with the given {prototype}.
3906 Handle<JSFunction> array_buffer_fun = 3906 Handle<JSFunction> array_buffer_fun =
3907 InstallFunction(target, name, JS_ARRAY_BUFFER_TYPE, 3907 InstallFunction(target, name, JS_ARRAY_BUFFER_TYPE,
3908 JSArrayBuffer::kSizeWithInternalFields, prototype, 3908 JSArrayBuffer::kSizeWithEmbedderFields, prototype,
3909 Builtins::kArrayBufferConstructor); 3909 Builtins::kArrayBufferConstructor);
3910 array_buffer_fun->shared()->SetConstructStub( 3910 array_buffer_fun->shared()->SetConstructStub(
3911 *isolate()->builtins()->ArrayBufferConstructor_ConstructStub()); 3911 *isolate()->builtins()->ArrayBufferConstructor_ConstructStub());
3912 array_buffer_fun->shared()->DontAdaptArguments(); 3912 array_buffer_fun->shared()->DontAdaptArguments();
3913 array_buffer_fun->shared()->set_length(1); 3913 array_buffer_fun->shared()->set_length(1);
3914 3914
3915 // Install the "constructor" property on the {prototype}. 3915 // Install the "constructor" property on the {prototype}.
3916 JSObject::AddProperty(prototype, factory()->constructor_string(), 3916 JSObject::AddProperty(prototype, factory()->constructor_string(),
3917 array_buffer_fun, DONT_ENUM); 3917 array_buffer_fun, DONT_ENUM);
3918 3918
(...skipping 955 matching lines...) Expand 10 before | Expand all | Expand 10 after
4874 4874
4875 private: 4875 private:
4876 bool flag_; 4876 bool flag_;
4877 bool enabled_; 4877 bool enabled_;
4878 }; 4878 };
4879 4879
4880 Genesis::Genesis( 4880 Genesis::Genesis(
4881 Isolate* isolate, MaybeHandle<JSGlobalProxy> maybe_global_proxy, 4881 Isolate* isolate, MaybeHandle<JSGlobalProxy> maybe_global_proxy,
4882 v8::Local<v8::ObjectTemplate> global_proxy_template, 4882 v8::Local<v8::ObjectTemplate> global_proxy_template,
4883 size_t context_snapshot_index, 4883 size_t context_snapshot_index,
4884 v8::DeserializeInternalFieldsCallback internal_fields_deserializer, 4884 v8::DeserializeEmbedderFieldsCallback embedder_fields_deserializer,
4885 GlobalContextType context_type) 4885 GlobalContextType context_type)
4886 : isolate_(isolate), active_(isolate->bootstrapper()) { 4886 : isolate_(isolate), active_(isolate->bootstrapper()) {
4887 NoTrackDoubleFieldsForSerializerScope disable_scope(isolate); 4887 NoTrackDoubleFieldsForSerializerScope disable_scope(isolate);
4888 result_ = Handle<Context>::null(); 4888 result_ = Handle<Context>::null();
4889 global_proxy_ = Handle<JSGlobalProxy>::null(); 4889 global_proxy_ = Handle<JSGlobalProxy>::null();
4890 4890
4891 // Before creating the roots we must save the context and restore it 4891 // Before creating the roots we must save the context and restore it
4892 // on all function exits. 4892 // on all function exits.
4893 SaveContext saved_context(isolate); 4893 SaveContext saved_context(isolate);
4894 4894
(...skipping 13 matching lines...) Expand all
4908 if (!maybe_global_proxy.ToHandle(&global_proxy)) { 4908 if (!maybe_global_proxy.ToHandle(&global_proxy)) {
4909 int instance_size = 0; 4909 int instance_size = 0;
4910 if (context_snapshot_index > 0) { 4910 if (context_snapshot_index > 0) {
4911 // The global proxy function to reinitialize this global proxy is in the 4911 // The global proxy function to reinitialize this global proxy is in the
4912 // context that is yet to be deserialized. We need to prepare a global 4912 // context that is yet to be deserialized. We need to prepare a global
4913 // proxy of the correct size. 4913 // proxy of the correct size.
4914 Object* size = isolate->heap()->serialized_global_proxy_sizes()->get( 4914 Object* size = isolate->heap()->serialized_global_proxy_sizes()->get(
4915 static_cast<int>(context_snapshot_index) - 1); 4915 static_cast<int>(context_snapshot_index) - 1);
4916 instance_size = Smi::cast(size)->value(); 4916 instance_size = Smi::cast(size)->value();
4917 } else { 4917 } else {
4918 instance_size = JSGlobalProxy::SizeWithInternalFields( 4918 instance_size = JSGlobalProxy::SizeWithEmbedderFields(
4919 global_proxy_template.IsEmpty() 4919 global_proxy_template.IsEmpty()
4920 ? 0 4920 ? 0
4921 : global_proxy_template->InternalFieldCount()); 4921 : global_proxy_template->EmbedderFieldCount());
4922 } 4922 }
4923 global_proxy = 4923 global_proxy =
4924 isolate->factory()->NewUninitializedJSGlobalProxy(instance_size); 4924 isolate->factory()->NewUninitializedJSGlobalProxy(instance_size);
4925 } 4925 }
4926 4926
4927 // We can only de-serialize a context if the isolate was initialized from 4927 // We can only de-serialize a context if the isolate was initialized from
4928 // a snapshot. Otherwise we have to build the context from scratch. 4928 // a snapshot. Otherwise we have to build the context from scratch.
4929 // Also create a context from scratch to expose natives, if required by flag. 4929 // Also create a context from scratch to expose natives, if required by flag.
4930 if (!isolate->initialized_from_snapshot() || 4930 if (!isolate->initialized_from_snapshot() ||
4931 !Snapshot::NewContextFromSnapshot(isolate, global_proxy, 4931 !Snapshot::NewContextFromSnapshot(isolate, global_proxy,
4932 context_snapshot_index, 4932 context_snapshot_index,
4933 internal_fields_deserializer) 4933 embedder_fields_deserializer)
4934 .ToHandle(&native_context_)) { 4934 .ToHandle(&native_context_)) {
4935 native_context_ = Handle<Context>(); 4935 native_context_ = Handle<Context>();
4936 } 4936 }
4937 4937
4938 if (!native_context().is_null()) { 4938 if (!native_context().is_null()) {
4939 AddToWeakNativeContextList(*native_context()); 4939 AddToWeakNativeContextList(*native_context());
4940 isolate->set_context(*native_context()); 4940 isolate->set_context(*native_context());
4941 isolate->counters()->contexts_created_by_snapshot()->Increment(); 4941 isolate->counters()->contexts_created_by_snapshot()->Increment();
4942 #if TRACE_MAPS 4942 #if TRACE_MAPS
4943 if (FLAG_trace_maps) { 4943 if (FLAG_trace_maps) {
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
5037 5037
5038 // During genesis, the boilerplate for stack overflow won't work until the 5038 // During genesis, the boilerplate for stack overflow won't work until the
5039 // environment has been at least partially initialized. Add a stack check 5039 // environment has been at least partially initialized. Add a stack check
5040 // before entering JS code to catch overflow early. 5040 // before entering JS code to catch overflow early.
5041 StackLimitCheck check(isolate); 5041 StackLimitCheck check(isolate);
5042 if (check.HasOverflowed()) { 5042 if (check.HasOverflowed()) {
5043 isolate->StackOverflow(); 5043 isolate->StackOverflow();
5044 return; 5044 return;
5045 } 5045 }
5046 5046
5047 const int proxy_size = JSGlobalProxy::SizeWithInternalFields( 5047 const int proxy_size = JSGlobalProxy::SizeWithEmbedderFields(
5048 global_proxy_template->InternalFieldCount()); 5048 global_proxy_template->EmbedderFieldCount());
5049 5049
5050 Handle<JSGlobalProxy> global_proxy; 5050 Handle<JSGlobalProxy> global_proxy;
5051 if (!maybe_global_proxy.ToHandle(&global_proxy)) { 5051 if (!maybe_global_proxy.ToHandle(&global_proxy)) {
5052 global_proxy = factory()->NewUninitializedJSGlobalProxy(proxy_size); 5052 global_proxy = factory()->NewUninitializedJSGlobalProxy(proxy_size);
5053 } 5053 }
5054 5054
5055 // Create a remote object as the global object. 5055 // Create a remote object as the global object.
5056 Handle<ObjectTemplateInfo> global_proxy_data = 5056 Handle<ObjectTemplateInfo> global_proxy_data =
5057 Utils::OpenHandle(*global_proxy_template); 5057 Utils::OpenHandle(*global_proxy_template);
5058 Handle<FunctionTemplateInfo> global_constructor( 5058 Handle<FunctionTemplateInfo> global_constructor(
5059 FunctionTemplateInfo::cast(global_proxy_data->constructor())); 5059 FunctionTemplateInfo::cast(global_proxy_data->constructor()));
5060 5060
5061 Handle<ObjectTemplateInfo> global_object_template( 5061 Handle<ObjectTemplateInfo> global_object_template(
5062 ObjectTemplateInfo::cast(global_constructor->prototype_template())); 5062 ObjectTemplateInfo::cast(global_constructor->prototype_template()));
5063 Handle<JSObject> global_object = 5063 Handle<JSObject> global_object =
5064 ApiNatives::InstantiateRemoteObject( 5064 ApiNatives::InstantiateRemoteObject(
5065 global_object_template).ToHandleChecked(); 5065 global_object_template).ToHandleChecked();
5066 5066
5067 // (Re)initialize the global proxy object. 5067 // (Re)initialize the global proxy object.
5068 Handle<SharedFunctionInfo> shared = 5068 Handle<SharedFunctionInfo> shared =
5069 FunctionTemplateInfo::GetOrCreateSharedFunctionInfo(isolate, 5069 FunctionTemplateInfo::GetOrCreateSharedFunctionInfo(isolate,
5070 global_constructor); 5070 global_constructor);
5071 Handle<Map> initial_map = 5071 Handle<Map> initial_map =
5072 factory()->CreateSloppyFunctionMap(FUNCTION_WITH_WRITEABLE_PROTOTYPE); 5072 factory()->CreateSloppyFunctionMap(FUNCTION_WITH_WRITEABLE_PROTOTYPE);
5073 Handle<JSFunction> global_proxy_function = 5073 Handle<JSFunction> global_proxy_function =
5074 isolate->factory()->NewFunctionFromSharedFunctionInfo( 5074 isolate->factory()->NewFunctionFromSharedFunctionInfo(
5075 initial_map, shared, factory()->undefined_value()); 5075 initial_map, shared, factory()->undefined_value());
5076 DCHECK_EQ(global_proxy_data->internal_field_count(), 5076 DCHECK_EQ(global_proxy_data->embedder_field_count(),
5077 global_proxy_template->InternalFieldCount()); 5077 global_proxy_template->EmbedderFieldCount());
5078 Handle<Map> global_proxy_map = isolate->factory()->NewMap( 5078 Handle<Map> global_proxy_map = isolate->factory()->NewMap(
5079 JS_GLOBAL_PROXY_TYPE, proxy_size, FAST_HOLEY_SMI_ELEMENTS); 5079 JS_GLOBAL_PROXY_TYPE, proxy_size, FAST_HOLEY_SMI_ELEMENTS);
5080 JSFunction::SetInitialMap(global_proxy_function, global_proxy_map, 5080 JSFunction::SetInitialMap(global_proxy_function, global_proxy_map,
5081 factory()->null_value()); 5081 factory()->null_value());
5082 global_proxy_map->set_is_access_check_needed(true); 5082 global_proxy_map->set_is_access_check_needed(true);
5083 global_proxy_map->set_has_hidden_prototype(true); 5083 global_proxy_map->set_has_hidden_prototype(true);
5084 5084
5085 Handle<String> global_name = factory()->global_string(); 5085 Handle<String> global_name = factory()->global_string();
5086 global_proxy_function->shared()->set_instance_class_name(*global_name); 5086 global_proxy_function->shared()->set_instance_class_name(*global_name);
5087 factory()->ReinitializeJSGlobalProxy(global_proxy, global_proxy_function); 5087 factory()->ReinitializeJSGlobalProxy(global_proxy, global_proxy_function);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
5121 } 5121 }
5122 5122
5123 5123
5124 // Called when the top-level V8 mutex is destroyed. 5124 // Called when the top-level V8 mutex is destroyed.
5125 void Bootstrapper::FreeThreadResources() { 5125 void Bootstrapper::FreeThreadResources() {
5126 DCHECK(!IsActive()); 5126 DCHECK(!IsActive());
5127 } 5127 }
5128 5128
5129 } // namespace internal 5129 } // namespace internal
5130 } // namespace v8 5130 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698