v8/test
Jakob Gruber 91da38831d [osr] Use the new OSR cache
This CL switches over our OSR system to be based on the feedback
vector osr caches.

- OSRing to Sparkplug is fully separated from OSR urgency. If
  SP code exists, we simply jump to it, no need to maintain an
  installation request.
- Each JumpLoop checks its dedicated FeedbackVector cache slot.
  If a valid target code object exists, we enter it *without*
  calling into runtime to fetch the code object.
- Finally, OSR urgency still remains as the heuristic for
  requesting Turbofan OSR compile jobs. Note it no longer has a
  double purpose of being a generic untargeted installation
  request.

With the new system in place, we can remove now-unnecessary
hacks:

- Early OSR tierup is replaced by the standard OSR system. Any
  present OSR code is automatically entered.
- The synchronous OSR compilation fallback is removed. With
  precise installation (= per-JumpLoop-bytecode) we no longer
  have the problem of 'getting unlucky' with JumpLoop/cache entry
  mismatches. Execution has moved on while compiling? Simply spawn
  a new concurrent compile job.
- Remove the synchronous (non-OSR) Turbofan compile request now
  that we always enter available OSR code as early as possible.
- Tiering into Sparkplug no longer messes with OSR state.

Bug: v8:12161
Change-Id: I0a85e53d363504b7dac174dbaf69c03c35e66700
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596167
Commit-Queue: Jakob Linke <jgruber@chromium.org>
Auto-Submit: Jakob Linke <jgruber@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80147}
2022-04-25 13:01:43 +00:00
..
benchmarks [tests] Skip slow tests on certain configurations 2022-01-31 13:52:22 +00:00
bigint [bigint][test] Better random input generation 2021-09-08 15:39:27 +00:00
cctest [osr] Use the new OSR cache 2022-04-25 13:01:43 +00:00
common [wasm-simd] Remove F32x4RecipApprox and F32x4RecipSqrtApprox 2022-04-22 17:37:19 +00:00
debugger [ic] name Set/Define/Store property operations more consistently 2022-03-08 18:48:16 +00:00
debugging [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
fuzzer [liftoff] Move more options into LiftoffOptions 2022-04-19 16:21:21 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector [inspector] Add 'canBeRestarted' flag to CallFrames when debugger pauses 2022-04-20 12:40:34 +00:00
intl [maglev] Create test variant 2022-03-23 10:12:52 +00:00
js-perf-test Reland "[interpreter] Optimize strict equal boolean" 2022-04-25 10:02:05 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message [error] Improve error message for array spread 2022-04-15 01:23:54 +00:00
mjsunit [osr] Use the new OSR cache 2022-04-25 13:01:43 +00:00
mkgrokdump [py3] Bump v8heapconstants.py and related files 2022-04-04 13:27:13 +00:00
mozilla [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
test262 [Temporal] Add Calendar.prototype.fields 2022-04-22 21:50:26 +00:00
torque Reland "Reland "[Torque] Generalize Torque literals to larger size"" 2022-02-04 09:40:24 +00:00
unittests [osr] Use the new OSR cache 2022-04-25 13:01:43 +00:00
wasm-api-tests [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
wasm-js [wasm] Update spec tests 2022-04-20 09:23:44 +00:00
wasm-spec-tests [wasm] Update spec tests 2022-04-20 09:23:44 +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