• clemensh's avatar
    Revert of [wasm] Fix location for error in asm.js ToNumber conversion... · d3d12541
    clemensh authored
    Revert of [wasm] Fix location for error in asm.js ToNumber conversion (patchset #5 id:80001 of https://codereview.chromium.org/2555243002/ )
    
    Reason for revert:
    gc-stress failures
    
    Original issue's description:
    > [wasm] Fix location for error in asm.js ToNumber conversion
    >
    > In the asm.js code translated to wasm, we call imported functions via a
    > WASM_TO_JS stub, which first calls the function and then calls ToNumber
    > on the return value. Exceptions can happen in both calls.
    > We were only ever reporting the location of the function call, whereas
    > asm.js code executed via turbofan reported the location of the type
    > coercion operator ("+" on "+foo()" or "|" on "foo()|0").
    >
    > This CL implements the same behaviour for asm.js code translated to
    > wasm. The following is changed:
    > - the AsmWasmBuilder records the parent node when descending on a binary
    >   operator (also "+foo()" is represented by a binary operation).
    > - it stores not one location per call in the source position side
    >   table, but two (one for the call, one for the parent which does the
    >   type coercion).
    > - the wasm compiler annotates the source positions "0" and "1" to the
    >   two calls in the WASM_TO_JS wrapper (only if the module origin is
    >   asm.js).
    > - during stack trace generation (in the StackTraceIterator), when we
    >   move from the WASM_TO_JS frame to the WASM frame, we remember at which
    >   call inside the WASM_TO_JS wrapper we are, and encode this information
    >   in the generated caller state, used for the WASM frame.
    > - the same information is also stored in the FrameArray which is used
    >   to reconstruct the stack trace later.
    >
    > R=titzer@chromium.org, bradnelson@chromium.org
    > CC=jgruber@chromium.org
    > BUG=v8:4203,v8:5724
    >
    > Committed: https://crrev.com/94cd46b55e24fa2bb7b06b3da4d5ba7f029bc262
    > Cr-Commit-Position: refs/heads/master@{#41599}
    
    TBR=bradnelson@chromium.org,mstarzinger@chromium.org,titzer@chromium.org
    # Skipping CQ checks because original CL landed less than 1 days ago.
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    BUG=v8:4203,v8:5724
    
    Review-Url: https://codereview.chromium.org/2563613003
    Cr-Commit-Position: refs/heads/master@{#41601}
    d3d12541
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
common Loading commit data...
debugger Loading commit data...
fuzzer Loading commit data...
inspector Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
simdjs Loading commit data...
test262 Loading commit data...
unittests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...
perf.gyp Loading commit data...
perf.isolate Loading commit data...