v8/test/cctest/wasm
ahaas ac187c0323 [wasm] Refactor the non-determinism detection in the interpreter.
Apparently it happens quite easily that different NaNs are produced in
the interpreter than in the execution of the compiled code. This
non-determinism caused problems for the fuzzer which compares the
equality of the results of the interpreter and the compiled code.

I decided therefore to refactor the detection of non-determinism in the
interpreter. Instead of tracking whether potentially non-deterministic
NaNs were produced, I track now whether potentially non-deterministic
NaNs could have been observed. The only way the NaN non-determinism can
be observed is by observing the non-deterministic bit pattern of the
NaN. AFAICT the only way to observe the bit pattern is with a
I(32|64)_REINTERPRET_F(32|64) instruction or with a F(32|64)_STORE
followed by a load. Therefore I flag an execution as potentially
non-deterministic when either a NaN is reinterpreted to an int, or when
a NaN is stored to memory.

R=titzer@chromium.org, eholk@chromium.org
BUG=682180

Review-Url: https://codereview.chromium.org/2671803002
Cr-Commit-Position: refs/heads/master@{#42917}
2017-02-03 09:51:04 +00:00
..
OWNERS Make clemensh owner (wasm, asmjs and general) 2017-01-13 10:20:44 +00:00
test-managed.cc [wasm] Add a Managed<T> wrapper class for allocating C++ classes that are deleted when the wrapper is garbage collected. 2016-10-17 09:28:40 +00:00
test-run-wasm-64.cc [wasm] Check for replacements of IndexNodes in the Int64Lowering. 2017-01-20 13:39:25 +00:00
test-run-wasm-asmjs.cc [wasm] Make WasmRunner the central test structure 2016-12-16 10:13:11 +00:00
test-run-wasm-interpreter.cc [wasm] Refactor the non-determinism detection in the interpreter. 2017-02-03 09:51:04 +00:00
test-run-wasm-js.cc [wasm] Rename wasm::LocalType to wasm::ValueType and kAst* to kWasm* 2016-12-21 13:43:00 +00:00
test-run-wasm-module.cc [wasm] Check segment bounds beforehand 2017-01-23 17:21:39 +00:00
test-run-wasm-relocation.cc [wasm] Make WasmRunner the central test structure 2016-12-16 10:13:11 +00:00
test-run-wasm-simd-lowering.cc [wasm] Implement polymorphic checking, matching the reference interpreter. 2017-02-02 23:06:21 +00:00
test-run-wasm-simd.cc [wasm] Implement polymorphic checking, matching the reference interpreter. 2017-02-02 23:06:21 +00:00
test-run-wasm.cc [wasm] Implement polymorphic checking, matching the reference interpreter. 2017-02-02 23:06:21 +00:00
test-wasm-breakpoints.cc [wasm] Implement polymorphic checking, matching the reference interpreter. 2017-02-02 23:06:21 +00:00
test-wasm-stack.cc Assert that context creation doesn't throw 2017-01-17 13:01:03 +00:00
test-wasm-trap-position.cc [wasm] Fix and tighten memory validation 2017-01-18 12:07:57 +00:00
wasm-run-utils.h [wasm] Do float constant folding if the origin is not wasm 2017-02-01 11:51:59 +00:00