v8/test
Leszek Swirski 732f394c5d [sparkplug] Clobber accumulator in StaGlobal
StaGlobal didn't write the accumulator, but the baseline implementation
assumed that it could preserve the accumulator by taking the return
value of the StoreGlobalIC. This almost always worked, except for
setters on the global object.

Fix this by marking StaGlobal as clobbering the accumulator, same as
StaNamedProperty (StaNamedProperty needs to do this anyway to avoid
inlined setters from needing to create accumulator-preserving frames;
StaGlobal would have needed the same thing if we'd ever inlined setters
for it).

Also, add a new debug scope, EnsureAccumulatorPreservedScope, to the
baseline compiler, which checks if the accumulator value is preserved
across non-accumulator-writing bytecodes. This found a (benign) bug with
ForInPrepare, so fix that too.

Fixed: chromium:1242306
Change-Id: I220b5b1c41010c16ac9f944cbd55d2705c299434
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3122325
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76525}
2021-08-27 09:06:13 +00:00
..
benchmarks [test] Mark pdfjs as slow for TSAN builds 2021-07-28 14:03:46 +00:00
bigint [bigint] Faster parsing from long strings 2021-08-20 10:54:34 +00:00
cctest [sparkplug] Clobber accumulator in StaGlobal 2021-08-27 09:06:13 +00:00
common Reland "[arm64][wasm] Use NEON S/Usra for Wasm SIMD add(shr(x, imm), y)" 2021-08-17 09:27:26 +00:00
debugger [compiler][test] Remove --block-concurrent-recompilation 2021-08-16 10:15:53 +00:00
debugging [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
fuzzer [fuzzer] Use new d8.file.execute API in generated test case 2021-08-25 15:59:05 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector [sandbox] Disallow ArrayBuffers outside the VM Cage 2021-08-25 09:52:38 +00:00
intl [mjsunit] Fix intl test when LC_MESSAGES is set 2021-08-24 10:10:12 +00:00
js-perf-test [class] add microbenchmark for evaluating classes with fields 2021-08-26 10:07:59 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message Skip {map,set}-grow-failed tests on more slow bots 2021-08-18 07:05:30 +00:00
mjsunit [sparkplug] Clobber accumulator in StaGlobal 2021-08-27 09:06:13 +00:00
mkgrokdump [sandbox] Disallow ArrayBuffers outside the VM Cage 2021-08-25 09:52:38 +00:00
mozilla Reland "[test] Unmark TSAN tests as SLOW/SKIP" 2021-06-28 10:19:20 +00:00
test262 [regexp] Early errors 🤯 2021-08-26 11:33:39 +00:00
torque [torque] Add LazyNode support 2021-02-23 16:51:53 +00:00
unittests [x64] Consolidate SSE/AVX Float32/Float64 Abs/Neg 2021-08-27 00:58:51 +00:00
wasm-api-tests Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
wasm-js [wasm] Update wasm spec tests 2021-07-08 12:46:48 +00:00
wasm-spec-tests [LOONG64] Add LoongArch64 backend 2021-08-16 13:05:19 +00:00
webkit Revert "Reland "[build] Add V8-specific dcheck_always_on"" 2021-07-27 11:14:57 +00:00
BUILD.gn Reland^2 "[bigint] Karatsuba multiplication" 2021-06-07 11:01:14 +00:00
OWNERS