Description[wasm] Provide better stack traces for asm.js code
For the asm.js to WASM pipeline, the current stack traces only show
low-level WASM information.
This CL maps this back to asm.js source positions.
It does so by attaching the asm.js source Script to the compiled WASM
module, and emitting a delta-encoded table which maps from WASM byte
offsets to positions within that Script. As asm.js code does not throw
exceptions, we only store a mapping for call instructions.
The new AsmJsWasmStackFrame implementation inherits from
WasmStackFrame, but contains the logic to provide the source script and
the position inside of it.
What is still missing is the JSFunction object returned by
CallSite.getFunction(). We currently return null.
R=jgruber@chromium.org, titzer@chromium.org
BUG=v8:4203
Committed: https://crrev.com/5d9fa102a792a9882be0ff463eaee7d89d259c4e
Cr-Commit-Position: refs/heads/master@{#40205}
Patch Set 1 #Patch Set 2 : Add missing override #Patch Set 3 : Fix expected path for windows #Patch Set 4 : Add explicit casts #Patch Set 5 : Fix signed/unsigned comparison #Patch Set 6 : Rebase & fix paths for windows #
Total comments: 4
Patch Set 7 : Pass encoded bytes directly instead of embedding them in the module #
Total comments: 14
Patch Set 8 : Clean up test case #Patch Set 9 : Address jgruber's comments #Patch Set 10 : Fix build error on bots #
Total comments: 6
Patch Set 11 : Address titzer's comments #
Depends on Patchset: Messages
Total messages: 57 (45 generated)
|