v8/test/mjsunit/wasm
Karl Schimpf 1719ecb9dc Add capability to handle CSP 'wasm-eval' in V8
Like CSP flag 'unsafe-eval', which communicates if both JS source
files and WASM binary files may be compiled, this CL adds a similar
flag for the compilation of WASM binary files.

That is, a WASM binary file will be compiled only if the new flag is
defined, or the flag for 'unsafe-eval' allows it. These flags are
implemented as callback functions on the isolate. The callbacks get a
(CSP) context, and a string, and returns the corresponding value of
the flag.

Both callbacks are initialized with the nullptr, and is used to
communicate that no CSP policy is defined. This allows this concept to
work, independent of it running in Chrome.

It also does a small clean up in api.cc to use macro CALLER_SETTERS,
instead of explicit code when appropriate.

Bug: v8:7041
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Idb3356574ae2a298057e6b7bccbd3492831952ae
Reviewed-on: https://chromium-review.googlesource.com/759162
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Eric Holk <eholk@chromium.org>
Commit-Queue: Karl Schimpf <kschimpf@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49243}
2017-11-09 00:40:42 +00:00
..
embenchen [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
adapter-frame.js [wasm] Rename wasm::LocalType to wasm::ValueType and kAst* to kWasm* 2016-12-21 13:43:00 +00:00
add-getters.js [wasm] Freeze exports object 2016-12-19 18:45:07 +00:00
asm-wasm-copy.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
asm-wasm-deopt.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
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 [wasm] Avoid using const that triggers ignition and flakes on ARM. 2016-12-02 13:54:43 +00:00
asm-wasm-f64.js [wasm] [asm.js] Fix various asm.js issues. 2016-09-28 16:37:04 +00:00
asm-wasm-heap.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
asm-wasm-i32.js [wasm] [asm.js] Fix various asm.js issues. 2016-09-28 16:37:04 +00:00
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 [wasm] Honor the names section for modules coming from asm.js. 2016-12-06 14:31:51 +00:00
asm-wasm-stack.js [asm.js] Fix names for forward declared functions. 2017-04-04 07:55:54 +00:00
asm-wasm-stdlib.js [wasm] Remove obsolete %IsNotAsmWasmCode predicate. 2016-12-09 11:56:05 +00:00
asm-wasm-switch.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
asm-wasm-u32.js [wasm] [asm.js] Fix various asm.js issues. 2016-09-28 16:37:04 +00:00
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 Revert "[test] Refactor assertPromiseResult" 2017-10-25 14:42:25 +00:00
atomics.js [wasm] Speed up mjsunit/atomics.js 2017-10-25 11:38:46 +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 [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
compilation-limits-asm.js [wasm] [cleanup] Avoid shouting WASM 2017-06-09 16:24:19 +00:00
compilation-limits.js Revert "[test] Refactor assertPromiseResult" 2017-10-25 14:42:25 +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 [wasm] Rename wasm::LocalType to wasm::ValueType and kAst* to kWasm* 2016-12-21 13:43:00 +00:00
default-liftoff-setting.js [wasm] Test the --liftoff flag 2017-10-27 08:55:46 +00:00
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 Add capability to handle CSP 'wasm-eval' in V8 2017-11-09 00:40:42 +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 [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
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 [wasm] Remove non-standard kExprI8Const bytecode 2017-01-09 13:57:26 +00:00
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 [wasm] Remove non-standard kExprI8Const bytecode 2017-01-09 13:57:26 +00:00
gc-buffer.js [wasm] [cleanup] Avoid shouting WASM 2017-06-09 16:24:19 +00:00
gc-frame.js [wasm] Rename wasm::LocalType to wasm::ValueType and kAst* to kWasm* 2016-12-21 13:43:00 +00:00
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 Revert "[test] Refactor assertPromiseResult" 2017-10-25 14:42:25 +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 [wasm] add a test case for 3GB memory 2017-04-26 05:09:03 +00:00
import-memory.js [wasm] Fix memory initialization on instantiate 2017-09-20 22:52:31 +00:00
import-table.js [wasm] Remove non-standard kExprI8Const bytecode 2017-01-09 13:57:26 +00:00
incrementer.wasm [wasm] Accept version 0x1 binaries. 2017-02-09 02:09:47 +00:00
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 [wasm] Refactor import handling for 0xC. 2016-10-06 15:43:22 +00:00
instance-memory-gc-stress.js [wasm] Implement correct 2-level namespace for imports. 2016-12-20 15:32:56 +00:00
instantiate-module-basic.js Revert "[test] Refactor assertPromiseResult" 2017-10-25 14:42:25 +00:00
instantiate-run-basic.js Revert "[test] Refactor assertPromiseResult" 2017-10-25 14:42:25 +00:00
interpreter-mixed.js [wasm] [debug] Implement calling imported wasm functions 2017-08-07 12:31:18 +00:00
interpreter.js [wasm] [interpreter] Handle ToNumber failure on imports 2017-10-25 09:59:14 +00:00
js-api.js Revert "[test] Refactor assertPromiseResult" 2017-10-25 14:42:25 +00:00
jsapi-harness.js Revert "[test] Refactor assertPromiseResult" 2017-10-25 14:42:25 +00:00
large-offset.js [wasm] Increase WebAssembly.Memory maximum size to 2GB 2017-06-16 03:35:09 +00:00
liftoff.js [wasm] Test the --liftoff flag 2017-10-27 08:55:46 +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 [wasm] Fix and tighten memory validation 2017-01-18 12:07:57 +00:00
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
multi-value.js [wasm] Int64 lowering for return values 2017-10-27 11:34:14 +00:00
names.js [wasm] Errors in names section do not fail the whole module. 2017-01-24 13:13:26 +00:00
OWNERS Add eholk to Wasm-related OWNERS files 2017-08-10 18:58:00 +00:00
parallel_compilation.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
params.js [wasm] Rename wasm::LocalType to wasm::ValueType and kAst* to kWasm* 2016-12-21 13:43:00 +00:00
receiver.js [wasm] Implement correct 2-level namespace for imports. 2016-12-20 15:32:56 +00:00
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 [wasm] Implement correct 2-level namespace for imports. 2016-12-20 15:32:56 +00:00
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 Revert "[test] Refactor assertPromiseResult" 2017-10-25 14:42:25 +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 Revert "[test] Refactor assertPromiseResult" 2017-10-25 14:42:25 +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 [wasm] Binary 11: Bump module version to 0xB. 2016-04-29 09:40:24 +00:00
user-properties-common.js [wasm/test] Split test/mjsunit/wasm/user-properties.js into smaller tests. 2017-10-27 10:37:55 +00:00
user-properties-constructed.js [wasm/test] Split test/mjsunit/wasm/user-properties.js into smaller tests. 2017-10-27 10:37:55 +00:00
user-properties-exported.js [wasm/test] Split test/mjsunit/wasm/user-properties.js into smaller tests. 2017-10-27 10:37:55 +00:00
user-properties-module.js [wasm/test] Split test/mjsunit/wasm/user-properties.js into smaller tests. 2017-10-27 10:37:55 +00:00
user-properties-reexport.js [wasm/test] Split test/mjsunit/wasm/user-properties.js into smaller tests. 2017-10-27 10:37:55 +00:00
verify-module-basic-errors.js [wasm] Reduce usage of old Wasm.* API in JS tests. 2016-10-13 16:55:57 +00:00
wasm-api-overloading.js Revert "[test] Refactor assertPromiseResult" 2017-10-25 14:42:25 +00:00
wasm-constants.js [wasm] Int64 lowering for return values 2017-10-27 11:34:14 +00:00
wasm-default.js [wasm] Enable WASM by default (--expose-wasm=true). 2017-01-12 12:04:35 +00:00
wasm-module-builder.js Add capability of throwing values in WASM 2017-09-25 16:58:19 +00:00
wasm-object-api.js [wasm] Remove the "Wasm" object. 2016-10-26 16:58:53 +00:00
worker-memory.js Fix WebAssembly.Memory deserialization in more complex objects 2017-10-20 01:18:13 +00:00