From fc868a4164a0b37f74bb99bd652e87eb9f600050 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Wed, 22 May 2024 06:17:03 +0000 Subject: [PATCH] deps: patch V8 to 12.4.254.19 Refs: https://github.com/v8/v8/compare/12.4.254.18...12.4.254.19 --- deps/v8/include/v8-version.h | 2 +- deps/v8/src/ic/ic.cc | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 460ec45badd30c..da386ccda1ab2b 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 12 #define V8_MINOR_VERSION 4 #define V8_BUILD_NUMBER 254 -#define V8_PATCH_LEVEL 18 +#define V8_PATCH_LEVEL 19 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/src/ic/ic.cc b/deps/v8/src/ic/ic.cc index 4f2a88a90efe70..4d031d183c1f19 100644 --- a/deps/v8/src/ic/ic.cc +++ b/deps/v8/src/ic/ic.cc @@ -2377,15 +2377,16 @@ Handle KeyedStoreIC::StoreElementHandler( isolate()), IsStoreInArrayLiteralIC()); - if (IsJSProxyMap(*receiver_map)) { + if (!IsJSObjectMap(*receiver_map)) { // DefineKeyedOwnIC, which is used to define computed fields in instances, - // should be handled by the slow stub. - if (IsDefineKeyedOwnIC()) { - TRACE_HANDLER_STATS(isolate(), KeyedStoreIC_SlowStub); - return StoreHandler::StoreSlow(isolate(), store_mode); + // should handled by the slow stub below instead of the proxy stub. + if (IsJSProxyMap(*receiver_map) && !IsDefineKeyedOwnIC()) { + return StoreHandler::StoreProxy(isolate()); } - return StoreHandler::StoreProxy(isolate()); + // Wasm objects or other kind of special objects go through the slow stub. + TRACE_HANDLER_STATS(isolate(), KeyedStoreIC_SlowStub); + return StoreHandler::StoreSlow(isolate(), store_mode); } // TODO(ishell): move to StoreHandler::StoreElement().