v8/test/mjsunit/wasm
Clemens Hammacher c39c6eba00 [wasm] [debug] Implement calling imported wasm functions
The interpreter was not able to call imported wasm functions (hitting
UNIMPLEMENTED). This CL fixes this by creating a "CWasmEntry", which is
signature-specific. It has JS linkage and receives the wasm code object
to call and a buffer containing all arguments (similar to the
interpreter entry). It loads all arguments from the buffer and calls the
given code object.
The c-wasm-entry code objects are cached per instance, such that we
only create them once per signature.

These wasm entry stubs will also allow us to call back to compiled code
from the interpreter, which we might want to do to reduce the slowdown
of executing wasm for debugging.

R=titzer@chromium.org

Bug: chromium:735792
Change-Id: I7fecec3a7bec62a9de40fff115b684759b12a28b
Reviewed-on: https://chromium-review.googlesource.com/600308
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47195}
2017-08-07 12:31:18 +00:00
..
embenchen
adapter-frame.js
add-getters.js
asm-wasm-copy.js
asm-wasm-deopt.js
asm-wasm-exception-in-tonumber.js [asm.js] Fix source positions of ToNumber conversions. 2017-04-05 12:34:55 +00:00
asm-wasm-expr.js [asm.js] Fix source positions in for-statement parsing. 2017-04-19 08:53:57 +00:00
asm-wasm-f32.js
asm-wasm-f64.js
asm-wasm-heap.js
asm-wasm-i32.js
asm-wasm-literals.js [wasm][asm.js] Fix asm.js in tests to be more strictly valid. 2017-03-14 20:17:04 +00:00
asm-wasm-names.js
asm-wasm-stack.js [asm.js] Fix names for forward declared functions. 2017-04-04 07:55:54 +00:00
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 Fix test to not teach ClusterFuzz ugly tricks. 2017-02-28 10:25:50 +00:00
async-compile.js Fix common misspellings 2017-08-02 09:35:28 +00:00
atomics.js [wasm] Implement atomic logical BinOps 2017-08-04 19:04:12 +00:00
calls.js
compilation-limits-asm.js [wasm] [cleanup] Avoid shouting WASM 2017-06-09 16:24:19 +00:00
compilation-limits.js Revert "Revert "[wasm] Remove override-ability from async compile and instantiate."" 2017-05-24 15:55:04 +00:00
compiled-module-management.js
compiled-module-serialization.js [wasm] Fix serialization after instantiation 2017-03-29 21:22:57 +00:00
data-segments.js
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 Reland "Start migration of try/throw/catch to match proposal." 2017-08-02 22:35:07 +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
ffi-error.js [wasm] Fix wasm to js wrapper on ia32 for i64 return 2017-03-15 16:14:19 +00:00
ffi.js
float-constant-folding.js [wasm] Do not fold f32-to-f64 and f64-to-f32 conversions. 2017-02-03 12:05:29 +00:00
function-names.js [wasm] Implement extensible name section 2017-04-07 16:31:47 +00:00
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] Inspect right control frames for unreachable flag 2017-02-16 14:12:01 +00:00
graceful_shutdown.js [wasm] Remove the state from tasks of an AsyncCompileJob 2017-06-13 14:26:51 +00:00
grow-memory.js [wasm] Increase WebAssembly.Memory maximum size to 2GB 2017-06-16 03:35:09 +00:00
huge-memory.js [wasm] add a test case for 3GB memory 2017-04-26 05:09:03 +00:00
import-memory.js [wasm] Add test for growing exported memory past maximum 2017-08-01 08:03:22 +00:00
import-table.js
incrementer.wasm [wasm] Accept version 0x1 binaries. 2017-02-09 02:09:47 +00:00
indirect-calls.js [wasm] Fix test utils and tests 2017-03-22 14:04:10 +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] Update signature map on indirect calls 2017-07-14 08:42:40 +00:00
instance-gc.js
instance-memory-gc-stress.js
instantiate-module-basic.js Revert "Revert "Reland "Introducing an event loop mechanism for d8.""" 2017-05-10 18:34:10 +00:00
instantiate-run-basic.js [wasm] instantiate expressed in terms of compile 2017-04-18 01:31:16 +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 [wasm] Turn instance exports into an accessor 2017-08-03 16:49:21 +00:00
jsapi-harness.js [wasm] Turn instance exports into an accessor 2017-08-03 16:49:21 +00:00
large-offset.js [wasm] Increase WebAssembly.Memory maximum size to 2GB 2017-06-16 03:35:09 +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
module-memory.js
names.js
OWNERS
parallel_compilation.js
params.js
receiver.js
shared-memory.js [wasm] WebAssembly.Memory constructor should accept SharedArrayBuffers. 2017-07-10 22:37:48 +00:00
stack.js [wasm] [cleanup] Avoid shouting WASM 2017-06-09 16:24:19 +00:00
stackwalk.js
start-function.js [wasm] Use pending exceptions consistently 2017-06-29 10:23:45 +00:00
table.js [wasm] Allow full u32 range for table maximum in WebAssembly.Table constructor. 2017-07-10 11:18:45 +00:00
test-import-export-wrapper.js
test-wasm-module-builder.js
trap-location.js
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] Inspect right control frames for unreachable flag 2017-02-16 14:12:01 +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 [wasm] Remove support for overloading async APIs. 2017-06-06 05:47:03 +00:00
wasm-constants.js [wasm] Implement atomic logical BinOps 2017-08-04 19:04:12 +00:00
wasm-default.js
wasm-module-builder.js [wasm][test] Avoid stack overflow that can happen with spread call to Array.push. 2017-08-03 12:33:28 +00:00
wasm-object-api.js