v8/test
Clemens Backes 851a395fb5 [wasm] Fix OSR on wasm calls
This fixes issues with replacing the return address of deeper (non-top)
wasm frames, i.e. frames which are at a call position. The replaced
address should also point after the call in the new code, so we don't
execute the same call again.

This is achieved by using slightly different encodings for breakpoint
positions and other (wasm instruction) positions. Breakpoints set
{is_instruction} to {false} in the source position table entry, whereas
usual wasm instruction set it to {true}.
Also, during stack walking for OSR, we remember whether we want to OSR
to the position before the instruction (if it's the top frame), or after
the call instruction (if it's deeper in the stack). We then use the
{is_instruction} predicate to find the right location.

R=thibaudm@chromium.org

Bug: v8:10321
Change-Id: I73212a7532c6ecf4c82bde76fe4059c8203e422c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116206
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66850}
2020-03-24 17:44:25 +00:00
..
benchmarks Create master files per benchmark in csuite 2020-02-26 10:37:33 +00:00
cctest [wasm] Make traps non-catchable 2020-03-23 13:45:45 +00:00
common [wasm] Turn ValueType from an enum to a class 2020-03-12 17:03:16 +00:00
debugger [wasm] Tierup wasm module on debugger.disable 2020-03-09 17:39:37 +00:00
debugging Add initial support for Wasm debugging with LLDB: implements a GDB-remote stub 2020-02-20 22:27:58 +00:00
fuzzer Revert "[parser] Introduce UnoptimizedCompileFlags" 2020-03-19 08:46:52 +00:00
inspector [wasm] Fix OSR on wasm calls 2020-03-24 17:44:25 +00:00
intl [regexp] Fix and unify non-unicode case-folding algorithms 2020-03-10 11:09:28 +00:00
js-perf-test [cleanup][test] Fix typo in js-perf-test/Scope/with.js 2020-02-12 10:59:54 +00:00
memory [owners] Remove redundant OWNERS files in test/ 2019-06-24 12:44:32 +00:00
message [weakrefs] Rename FinalizationGroup to FinalizationRegistry for JS 2020-02-25 22:53:20 +00:00
mjsunit [wasm] Speed up some tests in grow-memory 2020-03-24 17:00:00 +00:00
mkgrokdump [heap] Enable Verify for RO_SPACE when it is shared 2019-11-04 09:55:45 +00:00
mozilla Remove and update some outdated TODO(mstarzinger). 2019-12-13 10:18:04 +00:00
test262 Correctly remove fractionalSecond tests 2020-03-09 20:02:17 +00:00
torque [torque] ensure array lengths are const 2020-03-18 09:44:59 +00:00
unittests cppgc: Add GCInfo machinery 2020-03-24 16:48:57 +00:00
wasm-api-tests [wasm] Clean up WASM_CALL_INDIRECT macros 2019-11-28 14:44:06 +00:00
wasm-js [test] Skip wasm limits test on ARM hardware 2020-02-27 11:02:42 +00:00
wasm-spec-tests [wasm][reference-types] Check type on Table.Init & Table.Copy 2020-02-26 09:29:43 +00:00
webkit [class] Improve error message for calling anonymous class constructors 2019-12-05 21:13:07 +00:00
BUILD.gn [preparser] deprecate stand-alone "preparser" test-suite 2019-11-20 08:52:59 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00