v8/test/mjsunit/wasm
Andreas Haas 50ecc42cc7 [wasm] Change the memory access offset to pointer size
TurboFan expects the offset input of a Load or Store node to be a
pointer-size input, i.e. an int32 input on 32-bit platforms, and int64
on 64-bit platforms. In WebAssembly we always provided 32-bit offset
though, which caused problems when the high word of the register which
contained the offset was not empty.

With this CL we change the offset input to int64 on 64-bit platforms.
In addition we also change the type of the memory_size_ node to int64,
so that that we do not have to adjust the type of the memory size at
every memory load.

This CL will cause performance regressions but is necessary for
correctness and to avoid crashes.

R=titzer@chromium.org

Bug: chromium:766666
Change-Id: I5301e108d05e125258d2a06d500c1b75e91697b8
Reviewed-on: https://chromium-review.googlesource.com/723379
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48689}
2017-10-18 13:41:04 +00:00
..
embenchen
adapter-frame.js
add-getters.js
asm-wasm-copy.js
asm-wasm-deopt.js
asm-wasm-exception-in-tonumber.js
asm-wasm-expr.js
asm-wasm-f32.js
asm-wasm-f64.js
asm-wasm-heap.js
asm-wasm-i32.js
asm-wasm-literals.js
asm-wasm-names.js
asm-wasm-stack.js
asm-wasm-stdlib.js
asm-wasm-switch.js
asm-wasm-u32.js
asm-wasm.js [asm.js] Ensure coercion of imports is non-observable. 2017-06-20 13:55:35 +00:00
asm-with-wasm-off.js [wasm] Honor AllowCodegenFromStrings() for all WASM compile types. 2017-10-06 08:50:51 +00:00
async-compile.js [test] Refactor assertPromiseResult 2017-10-16 08:39:15 +00:00
atomics.js [wasm] Compute opcode length for Atomic ops 2017-10-04 00:59:08 +00:00
bounds-check-64bit.js [wasm] Change the memory access offset to pointer size 2017-10-18 13:41:04 +00:00
calls.js
compilation-limits-asm.js [wasm] [cleanup] Avoid shouting WASM 2017-06-09 16:24:19 +00:00
compilation-limits.js [test] Refactor assertPromiseResult 2017-10-16 08:39:15 +00:00
compiled-module-management.js Revert "Revert "[wasm] Reference indirect tables as addresses of global handles"" 2017-08-19 16:35:34 +00:00
compiled-module-serialization.js [wasm] Fix tables bounds check, add Table.Grow tests 2017-09-05 18:24:39 +00:00
data-segments.js
disable-trap-handler.js [wasm] Enable trap handlers by default in D8 on Linux x64 2017-09-25 17:43:33 +00:00
disallow-codegen.js [test] Refactor assertPromiseResult 2017-10-16 08:39:15 +00:00
divrem-trap.js
ensure-wasm-binaries-up-to-date.js
errors.js [wasm] Test more error messages 2017-07-25 08:29:13 +00:00
exceptions.js Add capability of throwing values in WASM 2017-09-25 16:58:19 +00:00
export-global.js [wasm] Limit output length of user-provided strings 2017-08-04 09:20:34 +00:00
export-table.js [wasm] Fix error output for duplicate exports 2017-07-10 09:53:32 +00:00
expose-wasm.js [asmjs] --validate-asm should not expose the WASM API. 2017-09-04 13:31:32 +00:00
ffi-error.js [wasm] Store the globals_start in WasmContext. 2017-10-16 09:35:47 +00:00
ffi.js
float-constant-folding.js
function-names.js
function-prototype.js
gc-buffer.js [wasm] [cleanup] Avoid shouting WASM 2017-06-09 16:24:19 +00:00
gc-frame.js
gc-stress.js [wasm] Reduce run-time of GC stress test. 2017-07-14 16:02:42 +00:00
globals.js [wasm] Store the globals_start in WasmContext. 2017-10-16 09:35:47 +00:00
graceful_shutdown.js [test] Refactor assertPromiseResult 2017-10-16 08:39:15 +00:00
grow-memory-in-branch.js [wasm] Add tests for grow_memory in conditional branches 2017-08-19 10:33:11 +00:00
grow-memory-in-call.js [wasm] Add tests for grow_memory in functions inside loops 2017-08-29 11:01:37 +00:00
grow-memory-in-loop.js [wasm] Add tests for grow_memory in loops 2017-08-21 09:42:34 +00:00
grow-memory.js [wasm] Add tests for grow_memory inside functions 2017-08-17 12:35:51 +00:00
huge-memory.js
import-memory.js [wasm] Fix memory initialization on instantiate 2017-09-20 22:52:31 +00:00
import-table.js
incrementer.wasm
indirect-calls.js [wasm] Fix tables bounds check, add Table.Grow tests 2017-09-05 18:24:39 +00:00
indirect-sig-mismatch.js [wasm] More extensive indirect dispatch signature mismatch tests. 2017-07-24 19:21:28 +00:00
indirect-tables.js [wasm] Fix tables bounds check, add Table.Grow tests 2017-09-05 18:24:39 +00:00
instance-gc.js
instance-memory-gc-stress.js
instantiate-module-basic.js [test] Refactor assertPromiseResult 2017-10-16 08:39:15 +00:00
instantiate-run-basic.js [test] Refactor assertPromiseResult 2017-10-16 08:39:15 +00:00
interpreter-mixed.js [wasm] [debug] Implement calling imported wasm functions 2017-08-07 12:31:18 +00:00
interpreter.js [wasm] [cleanup] Avoid shouting WASM 2017-06-09 16:24:19 +00:00
js-api.js [test] Refactor assertPromiseResult 2017-10-16 08:39:15 +00:00
jsapi-harness.js [test] Refactor assertPromiseResult 2017-10-16 08:39:15 +00:00
large-offset.js [wasm] Increase WebAssembly.Memory maximum size to 2GB 2017-06-16 03:35:09 +00:00
many-parameters.js [turbofan] Fix passing float parameters on the stack 2017-09-27 13:49:55 +00:00
memory-external-call.js [wasm] Store the globals_start in WasmContext. 2017-10-16 09:35:47 +00:00
memory-instance-validation.js [wasm] Use WeakFixedArray for list of instances sharing a WasmMemoryObject. 2017-07-07 13:52:21 +00:00
memory-size.js
memory.js [wasm] Add tests for grow_memory inside functions 2017-08-17 12:35:51 +00:00
module-memory.js [wasm] Track and expose number of recovered Wasm faults 2017-09-19 04:10:20 +00:00
names.js
OWNERS Add eholk to Wasm-related OWNERS files 2017-08-10 18:58:00 +00:00
parallel_compilation.js
params.js
receiver.js
shared-memory.js [wasm] Module bytes can set shared attribute on memory 2017-09-14 18:16:31 +00:00
stack.js [wasm] Use right data type for storing error location 2017-08-31 11:07:25 +00:00
stackwalk.js
start-function.js [wasm] Use pending exceptions consistently 2017-06-29 10:23:45 +00:00
streaming-compile.js [wasm] Streaming compilation for WebAssembly. 2017-09-15 06:36:25 +00:00
streaming-error-position.js [test] Refactor assertPromiseResult 2017-10-16 08:39:15 +00:00
streaming-trap-location.js [wasm] Streaming compilation for WebAssembly. 2017-09-15 06:36:25 +00:00
table-grow.js [wasm] Fix tables bounds check, add Table.Grow tests 2017-09-05 18:24:39 +00:00
table.js [wasm] get length at the right time Table.p.grow 2017-08-28 11:27:46 +00:00
test-import-export-wrapper.js [wasm] Store the globals_start in WasmContext. 2017-10-16 09:35:47 +00:00
test-wasm-module-builder.js Revert "Revert "[wasm] Move the ModuleEnv to compiler and make it immutable."" 2017-08-19 16:33:17 +00:00
trap-location.js [test] Refactor assertPromiseResult 2017-10-16 08:39:15 +00:00
unicode-validation.js [wasm] Also kBadChar is a valid utf8 character 2017-05-23 09:28:06 +00:00
unicode.js [wasm] Fix unicode names occuring in error messages 2017-06-26 15:36:34 +00:00
unreachable-validation.js [wasm] Decoder should narrow unreachable types on the stack. 2017-08-30 11:49:16 +00:00
unreachable.js
user-properties.js [wasm] Fix user properties for exported wasm functions and add extensive tests. 2017-07-19 17:06:37 +00:00
verify-module-basic-errors.js
wasm-api-overloading.js [test] Refactor assertPromiseResult 2017-10-16 08:39:15 +00:00
wasm-constants.js [wasm][cleanup] Rename kResizableMaximumFlag kHasMaximumFlag 2017-10-13 08:05:11 +00:00
wasm-default.js
wasm-module-builder.js Add capability of throwing values in WASM 2017-09-25 16:58:19 +00:00
wasm-object-api.js
worker-memory.js Support postMessage of shared WebAssembly.Memory 2017-10-16 17:43:51 +00:00