diff options
author | Michaël Zasso <targos@protonmail.com> | 2022-01-14 19:41:42 +0300 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2022-02-02 19:24:46 +0300 |
commit | ae5edcf2d80ad7b05a4369aaea938695ae560c00 (patch) | |
tree | 7bfcddb33024fa6d558385dfae61f3c6bdbb297e /deps | |
parent | 3c8782f70e659e0a7bd5dc71b30cfbeda0d2c664 (diff) |
deps: V8: cherry-pick 3b6b21f595f6
Original commit message:
[liftoff] Allow bailout for missing ARMv7
The bailout is there explicitly in the code, so we should allow it in
{CheckBailoutAllowed}.
R=ahaas@chromium.org
Bug: v8:12527
Change-Id: Ifd906afb5f034f05c2bf7d9a28e3ab458549e7ef
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3372915
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78515}
Refs: https://github.com/v8/v8/commit/3b6b21f595f6c172b5b77bf85a3882516f7d7f1b
Fixes: https://github.com/nodejs/node/issues/41402
PR-URL: https://github.com/nodejs/node/pull/41457
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Diffstat (limited to 'deps')
-rw-r--r-- | deps/v8/src/wasm/baseline/arm/liftoff-assembler-arm.h | 2 | ||||
-rw-r--r-- | deps/v8/src/wasm/baseline/liftoff-compiler.cc | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/deps/v8/src/wasm/baseline/arm/liftoff-assembler-arm.h b/deps/v8/src/wasm/baseline/arm/liftoff-assembler-arm.h index 19e4833ebc0..daf4ff94889 100644 --- a/deps/v8/src/wasm/baseline/arm/liftoff-assembler-arm.h +++ b/deps/v8/src/wasm/baseline/arm/liftoff-assembler-arm.h @@ -442,7 +442,7 @@ inline void EmitAnyTrue(LiftoffAssembler* assm, LiftoffRegister dst, int LiftoffAssembler::PrepareStackFrame() { if (!CpuFeatures::IsSupported(ARMv7)) { - bailout(kUnsupportedArchitecture, "Armv6 not supported"); + bailout(kUnsupportedArchitecture, "Liftoff needs ARMv7"); return 0; } uint32_t offset = static_cast<uint32_t>(pc_offset()); diff --git a/deps/v8/src/wasm/baseline/liftoff-compiler.cc b/deps/v8/src/wasm/baseline/liftoff-compiler.cc index 089996884d0..1fcc2f7b863 100644 --- a/deps/v8/src/wasm/baseline/liftoff-compiler.cc +++ b/deps/v8/src/wasm/baseline/liftoff-compiler.cc @@ -316,6 +316,13 @@ void CheckBailoutAllowed(LiftoffBailoutReason reason, const char* detail, return; #endif +#if V8_TARGET_ARCH_ARM + // Allow bailout for missing ARMv7 support. + if (!CpuFeatures::IsSupported(ARMv7) && reason == kUnsupportedArchitecture) { + return; + } +#endif + #define LIST_FEATURE(name, ...) kFeature_##name, constexpr WasmFeatures kExperimentalFeatures{ FOREACH_WASM_EXPERIMENTAL_FEATURE_FLAG(LIST_FEATURE)}; |