v8/test
Leszek Swirski 3b9091c827 [compiler-dispatcher] Move Job pointer to SFI
Reduce the enqueuing cost of compiler-dispatcher jobs by getting rid of
the sets and hashmaps, and instead:

  1. Turning the pending job set into a queue, and
  2. Making the SharedFunctionInfo's UncompiledData hold a pointer to
     the LazyCompilerDispatcher::Job, instead of maintaining an
     IdentityMap from one to the other.

To avoid bloating all UncompiledData, this adds two new UncompiledData
subclasses, making it four subclasses total, for with/without Preparse
data and with/without a Job pointer. "should_parallel_compile"
FunctionLiterals get allocated an UncompiledData with a job pointer by
default, otherwise enqueueing a SFI without a job pointer triggers a
reallocation of the UncompiledData to add a job pointer.

Since there is no longer a set of all Jobs (aside from one for
debug-only), we need to be careful to manually clear the Job pointer
from the UncompiledData whenever we finish a Job (whether successfully
or by aborting) and we have to make sure that we implicitly can reach
all Jobs via the pending/finalizable lists, or the set of currently
running jobs.

Change-Id: I3aae78e6dfbdc74f5f7c1411de398433907b2705
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3314833
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78302}
2021-12-08 16:03:35 +00:00
..
benchmarks cppgc: Add binary trees benchmark 2021-11-18 16:42:24 +00:00
bigint [bigint][test] Better random input generation 2021-09-08 15:39:27 +00:00
cctest [class] implement reparsing of class instance member initializers 2021-12-08 14:41:56 +00:00
common [wasm] Internal representation for function references 2021-11-24 13:07:28 +00:00
debugger [class] implement reparsing of class instance member initializers 2021-12-08 14:41:56 +00:00
debugging [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
fuzzer [compiler] Introduce ReusableUnoptimizedCompileState 2021-12-08 11:14:27 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector [class] implement reparsing of class instance member initializers 2021-12-08 14:41:56 +00:00
intl [intl] Update Intl.Locale.weekInfo sync latest 2021-11-30 23:17:28 +00:00
js-perf-test [js-perf-test] Performance benchmarks for BigInt left and right shift 2021-12-02 14:16:15 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message Reland "[top-level-await] Remove --harmony-top-level-await" 2021-12-06 23:02:33 +00:00
mjsunit [d8] Use explicit variable to track Worker state 2021-12-08 14:49:06 +00:00
mkgrokdump [api] V8::Initialize cleanup 2021-11-30 14:30:38 +00:00
mozilla Reland "[test] Unmark TSAN tests as SLOW/SKIP" 2021-06-28 10:19:20 +00:00
test262 [test262] Roll test262 2021-12-07 04:46:37 +00:00
torque [builtins] catch and rethrow the message together with the exception 2021-12-06 22:14:56 +00:00
unittests [compiler-dispatcher] Move Job pointer to SFI 2021-12-08 16:03:35 +00:00
wasm-api-tests [wasm][test] Cleanup macros 2021-09-24 16:47:54 +00:00
wasm-js Reland^2 "[wasm] Update spec tests" 2021-11-30 04:14:58 +00:00
wasm-spec-tests Reland^2 "[wasm] Update spec tests" 2021-11-30 04:14:58 +00:00
webkit [test] Disable failing MSVC test 2021-12-01 15:51:59 +00:00
BUILD.gn Reland^2 "[bigint] Karatsuba multiplication" 2021-06-07 11:01:14 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00