v8/test/mjsunit/wasm
clemensh d3d125417d 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}
2016-12-08 17:36:14 +00:00
..
embenchen
adapter-frame.js
asm-wasm-copy.js
asm-wasm-deopt.js
asm-wasm-expr.js
asm-wasm-f32.js [wasm] Avoid using const that triggers ignition and flakes on ARM. 2016-12-02 13:54:43 +00:00
asm-wasm-f64.js
asm-wasm-heap.js
asm-wasm-i32.js
asm-wasm-literals.js
asm-wasm-names.js [wasm] Honor the names section for modules coming from asm.js. 2016-12-06 14:31:51 +00:00
asm-wasm-stack.js [wasm] Fix binary search for asm.js offsets 2016-10-25 09:00:57 +00:00
asm-wasm-stdlib.js
asm-wasm-switch.js
asm-wasm-u32.js
asm-wasm.js [wasm][asm.js] Utf8 encode exported function names. 2016-12-08 08:52:53 +00:00
calls.js
compiled-module-management.js [wasm] Fix compiled-module-management lifetime issues. 2016-11-03 15:53:56 +00:00
compiled-module-serialization.js [wasm] make WebAssembly.Instance require a WebAssembly.Memory 2016-10-28 18:13:28 +00:00
data-segments.js [wasm] Only immutable imported globals are valid initializer expressions 2016-11-09 15:52:36 +00:00
divrem-trap.js [mjsunit] Change assertThrows such that it can check the exception message. 2016-11-28 10:26:44 +00:00
ensure-wasm-binaries-up-to-date.js
errors.js [wasm] Implement {Compile,Runtime}Error; fix traps from start function 2016-10-13 16:18:10 +00:00
exceptions.js [wasm] Reduce usage of old Wasm.* API in JS tests. 2016-10-13 16:55:57 +00:00
export-table.js [wasm] Names of exported functions should be the stringified function index. 2016-12-06 15:33:42 +00:00
ffi-error.js [wasm] Fix ToNumber conversion 2016-12-07 13:54:27 +00:00
ffi.js [wasm] Fix ToNumber conversion 2016-12-07 13:54:27 +00:00
function-names.js
function-prototype.js [wasm] Names of exported functions should be the stringified function index. 2016-12-06 15:33:42 +00:00
gc-buffer.js [wasm] Use a Managed<WasmModule> to hold metadata about modules. 2016-10-19 13:07:22 +00:00
gc-frame.js
gc-stress.js
globals.js
grow-memory.js [wasm] Linear/Exported memory maximum property should be set when maximum is defined. 2016-11-08 09:55:27 +00:00
import-memory.js [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. 2016-11-23 20:44:29 +00:00
import-table.js
incrementer.wasm [wasm] Binary 0xD: update encoding of opcodes, types, and add immediates. 2016-10-26 16:56:49 +00:00
indirect-calls.js [wasm] Binary 0xD: update encoding of opcodes, types, and add immediates. 2016-10-26 16:56:49 +00:00
indirect-tables.js [wasm] Names of exported functions should be the stringified function index. 2016-12-06 15:33:42 +00:00
instance-gc.js
instance-memory-gc-stress.js [wasm] Fix WasmInstanceWrapper allocation. 2016-12-03 01:29:49 +00:00
instantiate-module-basic.js [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. 2016-11-23 20:44:29 +00:00
instantiate-run-basic.js
memory-instance-validation.js [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. 2016-11-23 20:44:29 +00:00
memory-size.js [wasm] Binary 0xD: update encoding of opcodes, types, and add immediates. 2016-10-26 16:56:49 +00:00
memory.js
module-memory.js [wasm] make WebAssembly.Instance require a WebAssembly.Memory 2016-10-28 18:13:28 +00:00
no-wasm-by-default.js
OWNERS
parallel_compilation.js
params.js
receiver.js
stack.js [wasm] Binary 0xD: update encoding of opcodes, types, and add immediates. 2016-10-26 16:56:49 +00:00
stackwalk.js
start-function.js [wasm] Wrap start function in a JS->WASM wrapper before calling it during initialization. 2016-11-08 12:37:09 +00:00
table.js Test that table object indexing does not interfere with backing table 2016-11-17 12:55:45 +00:00
test-import-export-wrapper.js [wasm] Imported WebAssembly function are never wrapped. 2016-11-10 15:05:52 +00:00
test-wasm-module-builder.js [wasm] Remove the "Wasm" object. 2016-10-26 16:58:53 +00:00
trap-location.js [wasm] Indirect calls without function table cause validation errors. 2016-11-09 08:37:44 +00:00
unicode-validation.js
unreachable.js
verify-module-basic-errors.js [wasm] Reduce usage of old Wasm.* API in JS tests. 2016-10-13 16:55:57 +00:00
wasm-constants.js [wasm] Store the function_index directly in the js-to-wasm wrapper. 2016-11-03 14:28:37 +00:00
wasm-module-builder.js [wasm] Be more lenient on the names section. 2016-11-15 20:55:55 +00:00
wasm-object-api.js [wasm] Remove the "Wasm" object. 2016-10-26 16:58:53 +00:00