| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 83861fb commit 456d250
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -39,7 +39,7 @@ | |||
| 39 | 39 | ||
| 40 | 40 | # Reset this number to 0 on major V8 upgrades. | |
| 41 | 41 | # Increment by one for each non-official patch applied to deps/v8. | |
| 42 | - 'v8_embedder_string': '-node.21', | ||
| 42 | + 'v8_embedder_string': '-node.22', | ||
| 43 | 43 | ||
| 44 | 44 | ##### V8 defaults for Node.js ##### | |
| 45 | 45 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1053,8 +1053,7 @@ void AccessorAssembler::HandleStoreICHandlerCase( | |||
| 1053 | 1053 | { | |
| 1054 | 1054 | Comment("store_interceptor"); | |
| 1055 | 1055 | TailCallRuntime(Runtime::kStorePropertyWithInterceptor, p->context(), | |
| 1056 | - p->value(), p->slot(), p->vector(), p->receiver(), | ||
| 1057 | - p->name()); | ||
| 1056 | + p->value(), p->receiver(), p->name()); | ||
| 1058 | 1057 | } | |
| 1059 | 1058 | ||
| 1060 | 1059 | BIND(&if_slow); | |
@@ -1516,8 +1515,7 @@ void AccessorAssembler::HandleStoreICProtoHandler( | |||
| 1516 | 1515 | ||
| 1517 | 1516 | { | |
| 1518 | 1517 | Label if_add_normal(this), if_store_global_proxy(this), if_api_setter(this), | |
| 1519 | - if_accessor(this), if_native_data_property(this), if_slow(this), | ||
| 1520 | - if_interceptor(this); | ||
| 1518 | + if_accessor(this), if_native_data_property(this), if_slow(this); | ||
| 1521 | 1519 | ||
| 1522 | 1520 | CSA_ASSERT(this, TaggedIsSmi(smi_handler)); | |
| 1523 | 1521 | TNode<Int32T> handler_word = SmiToInt32(CAST(smi_handler)); | |
@@ -1547,9 +1545,6 @@ void AccessorAssembler::HandleStoreICProtoHandler( | |||
| 1547 | 1545 | GotoIf(Word32Equal(handler_kind, Int32Constant(StoreHandler::kSlow)), | |
| 1548 | 1546 | &if_slow); | |
| 1549 | 1547 | ||
| 1550 | - GotoIf(Word32Equal(handler_kind, Int32Constant(StoreHandler::kInterceptor)), | ||
| 1551 | - &if_interceptor); | ||
| 1552 | - | ||
| 1553 | 1548 | GotoIf( | |
| 1554 | 1549 | Word32Equal(handler_kind, | |
| 1555 | 1550 | Int32Constant(StoreHandler::kApiSetterHolderIsPrototype)), | |
@@ -1574,14 +1569,6 @@ void AccessorAssembler::HandleStoreICProtoHandler( | |||
| 1574 | 1569 | } | |
| 1575 | 1570 | } | |
| 1576 | 1571 | ||
| 1577 | - BIND(&if_interceptor); | ||
| 1578 | - { | ||
| 1579 | - Comment("store_interceptor"); | ||
| 1580 | - TailCallRuntime(Runtime::kStorePropertyWithInterceptor, p->context(), | ||
| 1581 | - p->value(), p->slot(), p->vector(), p->receiver(), | ||
| 1582 | - p->name()); | ||
| 1583 | - } | ||
| 1584 | - | ||
| 1585 | 1572 | BIND(&if_add_normal); | |
| 1586 | 1573 | { | |
| 1587 | 1574 | // This is a case of "transitioning store" to a dictionary mode object | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1308,8 +1308,7 @@ bool StoreIC::LookupForWrite(LookupIterator* it, Handle<Object> value, | |||
| 1308 | 1308 | case LookupIterator::INTERCEPTOR: { | |
| 1309 | 1309 | Handle<JSObject> holder = it->GetHolder<JSObject>(); | |
| 1310 | 1310 | InterceptorInfo info = holder->GetNamedInterceptor(); | |
| 1311 | - if ((it->HolderIsReceiverOrHiddenPrototype() && | ||
| 1312 | - !info.non_masking()) || | ||
| 1311 | + if (it->HolderIsReceiverOrHiddenPrototype() || | ||
| 1313 | 1312 | !info.getter().IsUndefined(isolate()) || | |
| 1314 | 1313 | !info.query().IsUndefined(isolate())) { | |
| 1315 | 1314 | return true; | |
@@ -2718,23 +2717,20 @@ RUNTIME_FUNCTION(Runtime_LoadPropertyWithInterceptor) { | |||
| 2718 | 2717 | ||
| 2719 | 2718 | RUNTIME_FUNCTION(Runtime_StorePropertyWithInterceptor) { | |
| 2720 | 2719 | HandleScope scope(isolate); | |
| 2721 | - DCHECK_EQ(5, args.length()); | ||
| 2720 | + DCHECK_EQ(3, args.length()); | ||
| 2722 | 2721 | // Runtime functions don't follow the IC's calling convention. | |
| 2723 | 2722 | Handle<Object> value = args.at(0); | |
| 2724 | - Handle<Smi> slot = args.at<Smi>(1); | ||
| 2725 | - Handle<FeedbackVector> vector = args.at<FeedbackVector>(2); | ||
| 2726 | - Handle<JSObject> receiver = args.at<JSObject>(3); | ||
| 2727 | - Handle<Name> name = args.at<Name>(4); | ||
| 2728 | - FeedbackSlot vector_slot = FeedbackVector::ToSlot(slot->value()); | ||
| 2723 | + Handle<JSObject> receiver = args.at<JSObject>(1); | ||
| 2724 | + Handle<Name> name = args.at<Name>(2); | ||
| 2729 | 2725 | ||
| 2730 | 2726 | // TODO(ishell): Cache interceptor_holder in the store handler like we do | |
| 2731 | 2727 | // for LoadHandler::kInterceptor case. | |
| 2732 | 2728 | Handle<JSObject> interceptor_holder = receiver; | |
| 2733 | - if (receiver->IsJSGlobalProxy()) { | ||
| 2734 | - FeedbackSlotKind kind = vector->GetKind(vector_slot); | ||
| 2735 | - if (IsStoreGlobalICKind(kind)) { | ||
| 2736 | - interceptor_holder = Handle<JSObject>::cast(isolate->global_object()); | ||
| 2737 | - } | ||
| 2729 | + if (receiver->IsJSGlobalProxy() && | ||
| 2730 | + (!receiver->HasNamedInterceptor() || | ||
| 2731 | + receiver->GetNamedInterceptor().non_masking())) { | ||
| 2732 | + interceptor_holder = | ||
| 2733 | + handle(JSObject::cast(receiver->map().prototype()), isolate); | ||
| 2738 | 2734 | } | |
| 2739 | 2735 | DCHECK(interceptor_holder->HasNamedInterceptor()); | |
| 2740 | 2736 | Handle<InterceptorInfo> interceptor(interceptor_holder->GetNamedInterceptor(), | |
| Back | FazBrowse Home | New Git URL |
0 commit comments