| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 5173c55 commit e0fdb7b
16 files changed
| 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); | |
| 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( | |
| 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 | } | |
| 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 | ||
| 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, | |
| 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() { | |
| 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) \ | |
| 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); | |
| 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) { | |
| 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 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments