• clemensh's avatar
    [wasm] Generate correct locations for error messages · 222541df
    clemensh authored
    The current logic in Isolate::GetLocationFromStackTrace just ignores
    wasm frames, making the computed location point to the first javascript
    frame, like this:
    
    test.js:17: RuntimeError: divide by zero
    module.exports.main();
                   ^
    RuntimeError: divide by zero
        at main (<WASM>[1]+5)
        at test.js:17:16
    
    This CL not only fixes the location to point to the top-most wasm
    frame, but also exposes to the embedder that the script of that location
    is a wasm script, allowing for custom printing of wasm locations.
    The Shell::ReportException method now checks for this flag, and prints
    wasm locations like this:
    
    <WASM>[0]+5: RuntimeError: divide by zero
    RuntimeError: divide by zero
        at main (<WASM>[0]+5)
        at test/message/wasm-trap.js:15:16
    
    R=titzer@chromium.org, yangguo@chromium.org
    BUG=chromium:613110
    
    Review-Url: https://codereview.chromium.org/2563673002
    Cr-Commit-Position: refs/heads/master@{#41640}
    222541df
wasm-trap.js 509 Bytes