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
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-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
compilation-limits-asm.js
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
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
ensure-wasm-binaries-up-to-date.js
errors.js
exceptions.js Add capability of throwing values in WASM 2017-09-25 16:58:19 +00:00
export-global.js
export-table.js
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
gc-frame.js
gc-stress.js
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
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
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 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
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
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
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
multi-value.js [wasm] Int64 lowering for return values 2017-10-27 11:34:14 +00:00
names.js
OWNERS
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
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
unicode.js
unreachable-validation.js [wasm] Decoder should narrow unreachable types on the stack. 2017-08-30 11:49:16 +00:00
unreachable.js
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-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-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 Fix WebAssembly.Memory deserialization in more complex objects 2017-10-20 01:18:13 +00:00