v8/test
Ross McIlroy 4a60191149 [TurboProp] Add support for deferred block spills in fast reg alloc
Adds support for avoiding spills in non-deferred blocks by instead
restricting the spill ranges to deferred blocks if the virtual
register is only spilled in deferred blocks.

It does this by tracking registers that reach the exit point of deferred
blocks and spilling them them pre-emptively in the deferred block while
treating them as committed from the point of view of the non-deferred
blocks. We also now track whether virtual registers need to be spilled
at their SSA definition point (where they are output by an instruction),
or can instead be spilled at the entry to deferred blocks for use as
spill slots within those deferred blocks. In both cases, the tracking
of these deferred spills is kept as a pending operation until the
allocator confirms that adding these spills will avoid spills in the
non-deferred pathways, to avoid adding unnecessary extra spills in
deferred blocks.

BUG=v8:9684

Change-Id: Ib151e795567f0e4e7f95538415a8cc117d235b64
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2440603
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#70374}
2020-10-07 10:08:29 +00:00
..
benchmarks [test] Skip some slow benchmarks 2020-09-14 08:43:44 +00:00
cctest Reland^4 "[serializer] Allocate during deserialization" 2020-10-07 08:15:50 +00:00
common [wasm-simd][arm64] Prototype saturating rounding multiply high 2020-10-06 19:18:25 +00:00
debugger [debug] consider Object.keys free of side effects 2020-10-01 10:40:02 +00:00
debugging [Py3] Fix flake8 warnings 2020-07-10 16:57:15 +00:00
fuzzer [wasm][fuzzer] Fix data race when setting flags 2020-10-05 16:31:11 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector [wasm][debug] Ignore empty local names. 2020-10-05 10:42:51 +00:00
intl [intl] Fix timezone bug in test 2020-10-05 14:41:51 +00:00
js-perf-test [super property speed] Invert benchmark graphs 2020-08-31 09:24:46 +00:00
memory Reland^4 "[serializer] Allocate during deserialization" 2020-10-07 08:15:50 +00:00
message Reland "[d8] Avoid recursive unhandled rejected Promise processing" 2020-09-23 08:12:59 +00:00
mjsunit [runtime] Fix global_dictionary case in SetOrCopyDataProperties 2020-10-06 12:27:15 +00:00
mkgrokdump [heap] Move BaseSpace into base-space.h 2020-06-19 09:38:24 +00:00
mozilla [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
test262 Reland "[intl] Impl ECMA402 PR 471 rounding behavior" 2020-10-02 00:14:46 +00:00
torque Reland "[torque] typed context slot access" 2020-08-06 11:32:38 +00:00
unittests [TurboProp] Add support for deferred block spills in fast reg alloc 2020-10-07 10:08:29 +00:00
wasm-api-tests [ukm][wasm] Add event WasmModuleDecoded 2020-08-17 12:44:33 +00:00
wasm-js Revert "[wasm] Update spec tests" 2020-10-01 07:35:51 +00:00
wasm-spec-tests [wasm-simd][scalar-lowering] Fix lowering of narrowing 2020-10-01 21:01:56 +00:00
webkit Disallow \8 and \9 in strict mode and template literals 2020-08-03 18:05:14 +00:00
BUILD.gn [turbofan] Make OSR and stack slots compatible 2020-10-05 17:41:02 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00