From 8382da1bc1dc4b2a4fb70ae538611477a5fea31a Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Fri, 24 May 2024 09:19:26 +0300 Subject: [PATCH] deps: patch V8 to 12.4.254.19 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/v8/v8/compare/12.4.254.18...12.4.254.19 PR-URL: https://github.com/nodejs/node/pull/53094 Reviewed-By: Michaƫl Zasso Reviewed-By: Luigi Pinca Reviewed-By: Jiawen Geng Reviewed-By: Marco Ippolito Reviewed-By: Richard Lau --- 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().