From 44de2321aa4ee7db176a8d1552b82142221ed861 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sun, 6 Nov 2022 08:40:08 +0100 Subject: [PATCH] deps: patch V8 to 10.7.193.20 Refs: https://github.com/v8/v8/compare/10.7.193.16...10.7.193.20 PR-URL: https://github.com/nodejs/node/pull/45228 Reviewed-By: Colin Ihrig Reviewed-By: Jiawen Geng --- deps/v8/DEPS | 3 +-- deps/v8/include/v8-version.h | 2 +- deps/v8/src/compiler/access-info.cc | 12 +++++++++--- deps/v8/src/wasm/graph-builder-interface.cc | 8 ++++++++ 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/deps/v8/DEPS b/deps/v8/DEPS index 595c243abcc602..457fcc13f7477e 100644 --- a/deps/v8/DEPS +++ b/deps/v8/DEPS @@ -37,7 +37,6 @@ vars = { 'download_jsfunfuzz': False, 'download_prebuilt_bazel': False, 'check_v8_header_includes': False, - 'checkout_reclient': False, # By default, download the fuchsia sdk from the public sdk directory. 'fuchsia_sdk_cipd_prefix': 'fuchsia/sdk/gn/', @@ -143,7 +142,7 @@ deps = { } ], 'dep_type': 'cipd', - 'condition': '(host_os == "linux" or host_os == "mac" or host_os == "win") and checkout_reclient', + 'condition': '(host_os == "linux" or host_os == "mac" or host_os == "win") and host_cpu != "s390" and host_cpu != "ppc"', }, 'test/benchmarks/data': Var('chromium_url') + '/v8/deps/third_party/benchmarks.git' + '@' + '05d7188267b4560491ff9155c5ee13e207ecd65f', diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index 491bdca61070fa..d521b624637dab 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 10 #define V8_MINOR_VERSION 7 #define V8_BUILD_NUMBER 193 -#define V8_PATCH_LEVEL 16 +#define V8_PATCH_LEVEL 20 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/src/compiler/access-info.cc b/deps/v8/src/compiler/access-info.cc index 024a8031cbe26f..4c8923325b4d06 100644 --- a/deps/v8/src/compiler/access-info.cc +++ b/deps/v8/src/compiler/access-info.cc @@ -451,9 +451,15 @@ PropertyAccessInfo AccessInfoFactory::ComputeDataFieldAccessInfo( map, descriptor, details_representation)); } else if (details_representation.IsHeapObject()) { if (descriptors_field_type->IsNone()) { - // Store is not safe if the field type was cleared. - if (access_mode == AccessMode::kStore) { - return Invalid(); + switch (access_mode) { + case AccessMode::kStore: + case AccessMode::kStoreInLiteral: + case AccessMode::kDefine: + // Store is not safe if the field type was cleared. + return Invalid(); + case AccessMode::kLoad: + case AccessMode::kHas: + break; } // The field type was cleared by the GC, so we don't know anything diff --git a/deps/v8/src/wasm/graph-builder-interface.cc b/deps/v8/src/wasm/graph-builder-interface.cc index 78a6b5572a7632..1279b426b15002 100644 --- a/deps/v8/src/wasm/graph-builder-interface.cc +++ b/deps/v8/src/wasm/graph-builder-interface.cc @@ -88,6 +88,7 @@ class WasmGraphBuildingInterface { struct TryInfo : public ZoneObject { SsaEnv* catch_env; TFNode* exception = nullptr; + bool first_catch = true; bool might_throw() const { return exception != nullptr; } @@ -936,6 +937,10 @@ class WasmGraphBuildingInterface { TFNode* exception = block->try_info->exception; SetEnv(block->try_info->catch_env); + if (block->try_info->first_catch) { + LoadContextIntoSsa(ssa_env_, decoder); + block->try_info->first_catch = false; + } TFNode* if_catch = nullptr; TFNode* if_no_catch = nullptr; @@ -1013,6 +1018,9 @@ class WasmGraphBuildingInterface { } SetEnv(block->try_info->catch_env); + if (block->try_info->first_catch) { + LoadContextIntoSsa(ssa_env_, decoder); + } } void AtomicOp(FullDecoder* decoder, WasmOpcode opcode,