GeezerVison is showing github.com — src: remove ContextEmbedderIndex::kBindingDataStoreIndex · nodejs/node@e0fdb7b
File treeExpand file treeCollapse file tree Open diff view settings Expand file treeCollapse file tree Open diff view settings Collapse file Copy file name to clipboardExpand all lines: src/README.md +1-2Lines changed: 1 addition & 2 deletions - Display the source diff
- Display the rich diff
| Original file line number | Diff line number | Diff line change |
|---|
@@ -574,8 +574,7 @@ void InitializeHttpParser(Local<Object> target, | 574 | 574 | Local<Context> context, | 575 | 575 | void* priv) { | 576 | 576 | Realm* realm = Realm::GetCurrent(context); | 577 | | - BindingData* const binding_data = | 578 | | - realm->AddBindingData<BindingData>(context, target); | | 577 | + BindingData* const binding_data = realm->AddBindingData<BindingData>(target); | 579 | 578 | if (binding_data == nullptr) return; | 580 | 579 |
| 581 | 580 | Local<FunctionTemplate> t = NewFunctionTemplate(realm->isolate(), Parser::New); | |
Collapse file Copy file name to clipboardExpand all lines: src/encoding_binding.cc +2-2Lines changed: 2 additions & 2 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -78,7 +78,7 @@ void BindingData::Deserialize(Local<Context> context, | 78 | 78 | // Recreate the buffer in the constructor. | 79 | 79 | InternalFieldInfo* casted_info = static_cast<InternalFieldInfo*>(info); | 80 | 80 | BindingData* binding = | 81 | | - realm->AddBindingData<BindingData>(context, holder, casted_info); | | 81 | + realm->AddBindingData<BindingData>(holder, casted_info); | 82 | 82 | CHECK_NOT_NULL(binding); | 83 | 83 | } | 84 | 84 |
| @@ -232,7 +232,7 @@ void BindingData::CreatePerContextProperties(Local<Object> target, | 232 | 232 | Local<Context> context, | 233 | 233 | void* priv) { | 234 | 234 | Realm* realm = Realm::GetCurrent(context); | 235 | | - realm->AddBindingData<BindingData>(context, target); | | 235 | + realm->AddBindingData<BindingData>(target); | 236 | 236 | } | 237 | 237 |
| 238 | 238 | void BindingData::RegisterTimerExternalReferences( | |
Collapse file Copy file name to clipboardExpand all lines: src/env.cc -6Lines changed: 0 additions & 6 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -572,10 +572,6 @@ void Environment::AssignToContext(Local<v8::Context> context, | 572 | 572 | context->SetAlignedPointerInEmbedderData(ContextEmbedderIndex::kEnvironment, | 573 | 573 | this); | 574 | 574 | context->SetAlignedPointerInEmbedderData(ContextEmbedderIndex::kRealm, realm); | 575 | | - // Used to retrieve bindings | 576 | | - context->SetAlignedPointerInEmbedderData( | 577 | | - ContextEmbedderIndex::kBindingDataStoreIndex, | 578 | | - realm != nullptr ? realm->binding_data_store() : nullptr); | 579 | 575 |
| 580 | 576 | // ContextifyContexts will update this to a pointer to the native object. | 581 | 577 | context->SetAlignedPointerInEmbedderData( | @@ -598,8 +594,6 @@ void Environment::UnassignFromContext(Local<v8::Context> context) { | 598 | 594 | nullptr); | 599 | 595 | context->SetAlignedPointerInEmbedderData(ContextEmbedderIndex::kRealm, | 600 | 596 | nullptr); | 601 | | - context->SetAlignedPointerInEmbedderData( | 602 | | - ContextEmbedderIndex::kBindingDataStoreIndex, nullptr); | 603 | 597 | context->SetAlignedPointerInEmbedderData( | 604 | 598 | ContextEmbedderIndex::kContextifyContext, nullptr); | 605 | 599 | } | |
Collapse file Copy file name to clipboardExpand all lines: src/node_blob.cc +2-3Lines changed: 2 additions & 3 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -130,7 +130,7 @@ void Blob::CreatePerContextProperties(Local<Object> target, | 130 | 130 | Local<Context> context, | 131 | 131 | void* priv) { | 132 | 132 | Realm* realm = Realm::GetCurrent(context); | 133 | | - realm->AddBindingData<BlobBindingData>(context, target); | | 133 | + realm->AddBindingData<BlobBindingData>(target); | 134 | 134 | } | 135 | 135 |
| 136 | 136 | Local<FunctionTemplate> Blob::GetConstructorTemplate(Environment* env) { | @@ -535,8 +535,7 @@ void BlobBindingData::Deserialize(Local<Context> context, | 535 | 535 | DCHECK_EQ(index, BaseObject::kEmbedderType); | 536 | 536 | HandleScope scope(context->GetIsolate()); | 537 | 537 | Realm* realm = Realm::GetCurrent(context); | 538 | | - BlobBindingData* binding = | 539 | | - realm->AddBindingData<BlobBindingData>(context, holder); | | 538 | + BlobBindingData* binding = realm->AddBindingData<BlobBindingData>(holder); | 540 | 539 | CHECK_NOT_NULL(binding); | 541 | 540 | } | 542 | 541 |
| |
Collapse file Copy file name to clipboardExpand all lines: src/node_context_data.h -1Lines changed: 0 additions & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
@@ -51,7 +51,6 @@ enum ContextEmbedderIndex { | 51 | 51 | kEnvironment = NODE_CONTEXT_EMBEDDER_DATA_INDEX, | 52 | 52 | kSandboxObject = NODE_CONTEXT_SANDBOX_OBJECT_INDEX, | 53 | 53 | kAllowWasmCodeGeneration = NODE_CONTEXT_ALLOW_WASM_CODE_GENERATION_INDEX, | 54 | | - kBindingDataStoreIndex = NODE_BINDING_DATA_STORE_INDEX, | 55 | 54 | kAllowCodeGenerationFromStrings = | 56 | 55 | NODE_CONTEXT_ALLOW_CODE_GENERATION_FROM_STRINGS_INDEX, | 57 | 56 | kContextifyContext = NODE_CONTEXT_CONTEXTIFY_CONTEXT_INDEX, | |
Collapse file Copy file name to clipboardExpand all lines: src/node_file.cc +2-2Lines changed: 2 additions & 2 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -3155,7 +3155,7 @@ void BindingData::Deserialize(Local<Context> context, | 3155 | 3155 | Realm* realm = Realm::GetCurrent(context); | 3156 | 3156 | InternalFieldInfo* casted_info = static_cast<InternalFieldInfo*>(info); | 3157 | 3157 | BindingData* binding = | 3158 | | - realm->AddBindingData<BindingData>(context, holder, casted_info); | | 3158 | + realm->AddBindingData<BindingData>(holder, casted_info); | 3159 | 3159 | CHECK_NOT_NULL(binding); | 3160 | 3160 | } | 3161 | 3161 |
| @@ -3308,7 +3308,7 @@ static void CreatePerContextProperties(Local<Object> target, | 3308 | 3308 | Local<Context> context, | 3309 | 3309 | void* priv) { | 3310 | 3310 | Realm* realm = Realm::GetCurrent(context); | 3311 | | - realm->AddBindingData<BindingData>(context, target); | | 3311 | + realm->AddBindingData<BindingData>(target); | 3312 | 3312 | } | 3313 | 3313 |
| 3314 | 3314 | BindingData* FSReqBase::binding_data() { | |
Collapse file Copy file name to clipboardExpand all lines: src/node_http2.cc +1-1Lines changed: 1 addition & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
@@ -3180,7 +3180,7 @@ void Initialize(Local<Object> target, | 3180 | 3180 | Isolate* isolate = env->isolate(); | 3181 | 3181 | HandleScope handle_scope(isolate); | 3182 | 3182 |
| 3183 | | - Http2State* const state = realm->AddBindingData<Http2State>(context, target); | | 3183 | + Http2State* const state = realm->AddBindingData<Http2State>(target); | 3184 | 3184 | if (state == nullptr) return; | 3185 | 3185 |
| 3186 | 3186 | #define SET_STATE_TYPEDARRAY(name, field) \ | |
Collapse file Copy file name to clipboardExpand all lines: src/node_http_parser.cc +1-2Lines changed: 1 addition & 2 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -1203,8 +1203,7 @@ void InitializeHttpParser(Local<Object> target, | 1203 | 1203 | Realm* realm = Realm::GetCurrent(context); | 1204 | 1204 | Environment* env = realm->env(); | 1205 | 1205 | Isolate* isolate = env->isolate(); | 1206 | | - BindingData* const binding_data = | 1207 | | - realm->AddBindingData<BindingData>(context, target); | | 1206 | + BindingData* const binding_data = realm->AddBindingData<BindingData>(target); | 1208 | 1207 | if (binding_data == nullptr) return; | 1209 | 1208 |
| 1210 | 1209 | Local<FunctionTemplate> t = NewFunctionTemplate(isolate, Parser::New); | |
Collapse file Copy file name to clipboardExpand all lines: src/node_process_methods.cc +2-2Lines changed: 2 additions & 2 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -566,7 +566,7 @@ void BindingData::Deserialize(Local<Context> context, | 566 | 566 | v8::HandleScope scope(context->GetIsolate()); | 567 | 567 | Realm* realm = Realm::GetCurrent(context); | 568 | 568 | // Recreate the buffer in the constructor. | 569 | | - BindingData* binding = realm->AddBindingData<BindingData>(context, holder); | | 569 | + BindingData* binding = realm->AddBindingData<BindingData>(holder); | 570 | 570 | CHECK_NOT_NULL(binding); | 571 | 571 | } | 572 | 572 |
| @@ -607,7 +607,7 @@ static void CreatePerContextProperties(Local<Object> target, | 607 | 607 | Local<Context> context, | 608 | 608 | void* priv) { | 609 | 609 | Realm* realm = Realm::GetCurrent(context); | 610 | | - realm->AddBindingData<BindingData>(context, target); | | 610 | + realm->AddBindingData<BindingData>(target); | 611 | 611 | } | 612 | 612 |
| 613 | 613 | void RegisterExternalReferences(ExternalReferenceRegistry* registry) { | |
Collapse file Copy file name to clipboardExpand all lines: src/node_realm-inl.h +5-12Lines changed: 5 additions & 12 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -66,9 +66,9 @@ inline T* Realm::GetBindingData( | 66 | 66 | // static | 67 | 67 | template <typename T> | 68 | 68 | inline T* Realm::GetBindingData(v8::Local<v8::Context> context) { | 69 | | - BindingDataStore* map = | 70 | | - static_cast<BindingDataStore*>(context->GetAlignedPointerFromEmbedderData( | 71 | | - ContextEmbedderIndex::kBindingDataStoreIndex)); | | 69 | + Realm* realm = GetCurrent(context); | | 70 | + DCHECK_NOT_NULL(realm); | | 71 | + BindingDataStore* map = realm->binding_data_store(); | 72 | 72 | DCHECK_NOT_NULL(map); | 73 | 73 | constexpr size_t binding_index = static_cast<size_t>(T::binding_type_int); | 74 | 74 | static_assert(binding_index < std::tuple_size_v<BindingDataStore>); | @@ -81,10 +81,7 @@ inline T* Realm::GetBindingData(v8::Local<v8::Context> context) { | 81 | 81 | } | 82 | 82 |
| 83 | 83 | template <typename T, typename... Args> | 84 | | -inline T* Realm::AddBindingData(v8::Local<v8::Context> context, | 85 | | - v8::Local<v8::Object> target, | 86 | | - Args&&... args) { | 87 | | - DCHECK_EQ(GetCurrent(context), this); | | 84 | +inline T* Realm::AddBindingData(v8::Local<v8::Object> target, Args&&... args) { | 88 | 85 | // This won't compile if T is not a BaseObject subclass. | 89 | 86 | static_assert(std::is_base_of_v<BaseObject, T>); | 90 | 87 | // The binding data must be weak so that it won't keep the realm reachable | @@ -93,15 +90,11 @@ inline T* Realm::AddBindingData(v8::Local<v8::Context> context, | 93 | 90 | // reachable throughout the lifetime of the realm. | 94 | 91 | BaseObjectWeakPtr<T> item = | 95 | 92 | MakeWeakBaseObject<T>(this, target, std::forward<Args>(args)...); | 96 | | - DCHECK_EQ(context->GetAlignedPointerFromEmbedderData( | 97 | | - ContextEmbedderIndex::kBindingDataStoreIndex), | 98 | | - &binding_data_store_); | 99 | 93 | constexpr size_t binding_index = static_cast<size_t>(T::binding_type_int); | 100 | 94 | static_assert(binding_index < std::tuple_size_v<BindingDataStore>); | 101 | | - // Should not insert the binding twice. | | 95 | + // Each slot is expected to be assigned only once. | 102 | 96 | CHECK(!binding_data_store_[binding_index]); | 103 | 97 | binding_data_store_[binding_index] = item; | 104 | | - DCHECK_EQ(GetBindingData<T>(context), item.get()); | 105 | 98 | return item.get(); | 106 | 99 | } | 107 | 100 |
| |
|