Changeset 271993 in webkit
- Timestamp:
- Jan 27, 2021 5:31:34 PM (18 months ago)
- Location:
- trunk
- Files:
-
- 6 added
- 71 edited
- 2 copied
-
ChangeLog (modified) (1 diff)
-
JSTests/ChangeLog (modified) (1 diff)
-
JSTests/wasm/stress/resources (added)
-
JSTests/wasm/stress/resources/tsf.wasm (added)
-
JSTests/wasm/stress/wasm-streaming-compiler-compile.js (added)
-
JSTests/wasm/stress/wasm-streaming-compiler-instantiate.js (added)
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/wasm_stream_compile_test-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/wasm_stream_compile_test.html (modified) (2 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/wasm_stream_instantiate_test-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/wasm_stream_instantiate_test.html (modified) (2 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/abort.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/abort.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/body.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/body.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/contenttype.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/contenttype.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/empty-body.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/empty-body.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/historical.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/historical.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/idlharness.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/idlharness.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/invalid-args.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/invalid-args.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/invalid-code.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/invalid-code.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/modified-contenttype.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/modified-contenttype.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/origin.sub.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/origin.sub.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/rejected-arg.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/rejected-arg.any.worker-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/status.any-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/status.any.worker-expected.txt (modified) (1 diff)
-
Source/JavaScriptCore/CMakeLists.txt (modified) (1 diff)
-
Source/JavaScriptCore/ChangeLog (modified) (1 diff)
-
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (modified) (8 diffs)
-
Source/JavaScriptCore/Sources.txt (modified) (1 diff)
-
Source/JavaScriptCore/builtins/WebAssembly.js (modified) (1 diff)
-
Source/JavaScriptCore/runtime/DeferredWorkTimer.cpp (modified) (1 diff)
-
Source/JavaScriptCore/runtime/DeferredWorkTimer.h (modified) (1 diff)
-
Source/JavaScriptCore/runtime/JSGlobalObject.cpp (modified) (1 diff)
-
Source/JavaScriptCore/runtime/JSGlobalObject.h (modified) (1 diff)
-
Source/JavaScriptCore/runtime/OptionsList.h (modified) (2 diffs)
-
Source/JavaScriptCore/tools/JSDollarVM.cpp (modified) (5 diffs)
-
Source/JavaScriptCore/wasm/WasmBBQPlan.cpp (modified) (1 diff)
-
Source/JavaScriptCore/wasm/WasmBBQPlan.h (modified) (1 diff)
-
Source/JavaScriptCore/wasm/WasmCodeBlock.cpp (modified) (1 diff)
-
Source/JavaScriptCore/wasm/WasmEntryPlan.cpp (modified) (1 diff)
-
Source/JavaScriptCore/wasm/WasmEntryPlan.h (modified) (2 diffs)
-
Source/JavaScriptCore/wasm/WasmLLIntPlan.cpp (modified) (4 diffs)
-
Source/JavaScriptCore/wasm/WasmLLIntPlan.h (modified) (3 diffs)
-
Source/JavaScriptCore/wasm/WasmModule.cpp (modified) (2 diffs)
-
Source/JavaScriptCore/wasm/WasmStreamingCompiler.cpp (added)
-
Source/JavaScriptCore/wasm/WasmStreamingCompiler.h (added)
-
Source/JavaScriptCore/wasm/WasmStreamingParser.cpp (modified) (1 diff)
-
Source/JavaScriptCore/wasm/WasmStreamingParser.h (modified) (3 diffs)
-
Source/JavaScriptCore/wasm/WasmStreamingPlan.cpp (copied) (copied from trunk/Source/JavaScriptCore/builtins/WebAssembly.js) (2 diffs)
-
Source/JavaScriptCore/wasm/WasmStreamingPlan.h (copied) (copied from trunk/Source/JavaScriptCore/wasm/js/JSWebAssembly.h) (2 diffs)
-
Source/JavaScriptCore/wasm/js/JSWebAssembly.cpp (modified) (6 diffs)
-
Source/JavaScriptCore/wasm/js/JSWebAssembly.h (modified) (1 diff)
-
Source/WTF/ChangeLog (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/Modules/fetch/FetchResponse.cpp (modified) (1 diff)
-
Source/WebCore/Modules/fetch/FetchResponse.h (modified) (1 diff)
-
Source/WebCore/bindings/js/JSDOMGlobalObject.cpp (modified) (4 diffs)
-
Source/WebCore/bindings/js/JSDOMGlobalObject.h (modified) (1 diff)
-
Source/WebCore/bindings/js/JSDOMPromiseDeferred.cpp (modified) (1 diff)
-
Source/WebCore/bindings/js/JSDOMWindowBase.cpp (modified) (1 diff)
-
Source/WebCore/bindings/js/JSDOMWindowBase.h (modified) (1 diff)
-
Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp (modified) (1 diff)
-
Source/WebCore/bindings/js/JSWorkletGlobalScopeBase.cpp (modified) (1 diff)
-
Source/cmake/OptionsFTW.cmake (modified) (1 diff)
-
Source/cmake/WebKitFeatures.cmake (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r271945 r271993 1 2021-01-27 Yusuke Suzuki <ysuzuki@apple.com> 2 3 WebAssembly: add support for stream APIs 4 https://bugs.webkit.org/show_bug.cgi?id=173105 5 6 Reviewed by Keith Miller. 7 8 * Source/cmake/OptionsFTW.cmake: 9 * Source/cmake/WebKitFeatures.cmake: 10 1 11 2021-01-27 Angelos Oikonomopoulos <angelos@igalia.com> 2 12 -
trunk/JSTests/ChangeLog
r271967 r271993 1 2021-01-27 Yusuke Suzuki <ysuzuki@apple.com> 2 3 WebAssembly: add support for stream APIs 4 https://bugs.webkit.org/show_bug.cgi?id=173105 5 6 Reviewed by Keith Miller. 7 8 * wasm/stress/resources/tsf.wasm: Added. 9 * wasm/stress/wasm-streaming-compiler-compile.js: Added. 10 (shouldBe): 11 (slice): 12 (async main): 13 (main.catch): 14 * wasm/stress/wasm-streaming-compiler-instantiate.js: Added. 15 (shouldBe): 16 (slice): 17 (async main.): 18 (async main): 19 (main.catch): 20 1 21 2021-01-27 Commit Queue <commit-queue@webkit.org> 2 22 -
trunk/LayoutTests/imported/w3c/ChangeLog
r271992 r271993 1 2021-01-27 Yusuke Suzuki <ysuzuki@apple.com> 2 3 WebAssembly: add support for stream APIs 4 https://bugs.webkit.org/show_bug.cgi?id=173105 5 6 Reviewed by Keith Miller. 7 8 * web-platform-tests/wasm/wasm_stream_compile_test-expected.txt: 9 * web-platform-tests/wasm/wasm_stream_compile_test.html: 10 * web-platform-tests/wasm/wasm_stream_instantiate_test-expected.txt: 11 * web-platform-tests/wasm/wasm_stream_instantiate_test.html: 12 * web-platform-tests/wasm/webapi/abort.any-expected.txt: 13 * web-platform-tests/wasm/webapi/abort.any.worker-expected.txt: 14 * web-platform-tests/wasm/webapi/body.any-expected.txt: 15 * web-platform-tests/wasm/webapi/body.any.worker-expected.txt: 16 * web-platform-tests/wasm/webapi/contenttype.any-expected.txt: 17 * web-platform-tests/wasm/webapi/contenttype.any.worker-expected.txt: 18 * web-platform-tests/wasm/webapi/empty-body.any-expected.txt: 19 * web-platform-tests/wasm/webapi/empty-body.any.worker-expected.txt: 20 * web-platform-tests/wasm/webapi/historical.any-expected.txt: 21 * web-platform-tests/wasm/webapi/historical.any.worker-expected.txt: 22 * web-platform-tests/wasm/webapi/idlharness.any-expected.txt: 23 * web-platform-tests/wasm/webapi/idlharness.any.worker-expected.txt: 24 * web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any-expected.txt: 25 * web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker-expected.txt: 26 * web-platform-tests/wasm/webapi/instantiateStreaming.any-expected.txt: 27 * web-platform-tests/wasm/webapi/instantiateStreaming.any.worker-expected.txt: 28 * web-platform-tests/wasm/webapi/invalid-args.any-expected.txt: 29 * web-platform-tests/wasm/webapi/invalid-args.any.worker-expected.txt: 30 * web-platform-tests/wasm/webapi/invalid-code.any-expected.txt: 31 * web-platform-tests/wasm/webapi/invalid-code.any.worker-expected.txt: 32 * web-platform-tests/wasm/webapi/modified-contenttype.any-expected.txt: 33 * web-platform-tests/wasm/webapi/modified-contenttype.any.worker-expected.txt: 34 * web-platform-tests/wasm/webapi/origin.sub.any-expected.txt: 35 * web-platform-tests/wasm/webapi/origin.sub.any.worker-expected.txt: 36 * web-platform-tests/wasm/webapi/rejected-arg.any-expected.txt: 37 * web-platform-tests/wasm/webapi/rejected-arg.any.worker-expected.txt: 38 * web-platform-tests/wasm/webapi/status.any-expected.txt: 39 * web-platform-tests/wasm/webapi/status.any.worker-expected.txt: 40 1 41 2021-01-27 Sam Weinig <weinig@apple.com> 2 42 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/wasm_stream_compile_test-expected.txt
r231194 r271993 1 1 2 FAIL compileStreaming using resolved response promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined)" 3 FAIL compileStreaming using resolved response and check instantiate promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined)" 4 FAIL compileStreaming using promise response from fetch and check instantiate promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(result)', 'WebAssembly.compileStreaming' is undefined)" 5 FAIL compileStreaming raise error if wrong mime type assert_true: expected true got false6 FAIL compileStreaming raise error if no mime type assert_true: expected true got false7 FAIL compileStreaming raise error if 404 status assert_equals: expected "Response has not returned OK status" but got "WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(result)', 'WebAssembly.compileStreaming' is undefined)" 8 FAIL compileStreaming check CORS promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(result)', 'WebAssembly.compileStreaming' is undefined)" 9 FAIL compileStreaming raise error if no-cors assert_equals: expected "Response is not CORS-same-origin" but got "WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(result)', 'WebAssembly.compileStreaming' is undefined)" 10 FAIL compileStreaming receive promise with response created from ArrayBuffer promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(new Response(v, { headers: { "Content-Type" : "application/wasm" }}))', 'WebAssembly.compileStreaming' is undefined)" 11 FAIL compileStreaming receive response that deliver data by chunks as bufferArray promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(new Response(stream, { headers: { "Content-Type" : "application/wasm" }}))', 'WebAssembly.compileStreaming' is undefined)" 2 PASS compileStreaming using resolved response 3 PASS compileStreaming using resolved response and check instantiate 4 PASS compileStreaming using promise response from fetch and check instantiate 5 PASS compileStreaming raise error if wrong mime type 6 PASS compileStreaming raise error if no mime type 7 PASS compileStreaming raise error if 404 status 8 PASS compileStreaming check CORS 9 PASS compileStreaming raise error if no-cors 10 PASS compileStreaming receive promise with response created from ArrayBuffer 11 PASS compileStreaming receive response that deliver data by chunks as bufferArray 12 12 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/wasm_stream_compile_test.html
r231194 r271993 38 38 promise_test(async function() { 39 39 try { 40 var result = fetch('resources/incrementer.no_mime_type.wasm ');40 var result = fetch('resources/incrementer.no_mime_type.wasm?pipe=header(Content-Type,)'); 41 41 const module = await WebAssembly.compileStreaming(result); 42 42 assert_true(false); … … 49 49 promise_test(async function() { 50 50 try { 51 var result = fetch(' resources/incrementer1.wasm');51 var result = fetch('webapi/status.py?status=404'); 52 52 const module = await WebAssembly.compileStreaming(result); 53 53 assert_true(false); -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/wasm_stream_instantiate_test-expected.txt
r231194 r271993 1 1 2 FAIL instantiateStreaming using resolved response promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined)" 3 FAIL instantiateStreaming using resolved response and check instantiate promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined)" 4 FAIL instantiateStreaming using promise response from fetch and check instantiate promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(result)', 'WebAssembly.instantiateStreaming' is undefined)" 5 FAIL instantiateStreaming raise error if wrong mime type assert_true: expected true got false6 FAIL instantiateStreaming raise error if no mime type assert_true: expected true got false7 FAIL instantiateStreaming raise error if 404 status assert_equals: expected "Response has not returned OK status" but got "WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(result)', 'WebAssembly.instantiateStreaming' is undefined)" 8 FAIL instantiateStreaming check CORS promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(result)', 'WebAssembly.instantiateStreaming' is undefined)" 9 FAIL instantiateStreaming raise error if no-cors assert_equals: expected "Response is not CORS-same-origin" but got "WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(result)', 'WebAssembly.instantiateStreaming' is undefined)" 10 FAIL instantiateStreaming receive promise with response created from ArrayBuffer promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(new Response(v, { headers: { "Content-Type" : "application/wasm" }}))', 'WebAssembly.instantiateStreaming' is undefined)" 11 FAIL instantiateStreaming receive response that deliver data by chunks as bufferArray promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(new Response(stream, { headers: { "Content-Type" : "application/wasm" }}))', 'WebAssembly.instantiateStreaming' is undefined)" 2 PASS instantiateStreaming using resolved response 3 PASS instantiateStreaming using resolved response and check instantiate 4 PASS instantiateStreaming using promise response from fetch and check instantiate 5 PASS instantiateStreaming raise error if wrong mime type 6 PASS instantiateStreaming raise error if no mime type 7 PASS instantiateStreaming raise error if 404 status 8 PASS instantiateStreaming check CORS 9 PASS instantiateStreaming raise error if no-cors 10 PASS instantiateStreaming receive promise with response created from ArrayBuffer 11 PASS instantiateStreaming receive response that deliver data by chunks as bufferArray 12 12 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/wasm_stream_instantiate_test.html
r231194 r271993 36 36 promise_test(async function() { 37 37 try { 38 var result = fetch('resources/incrementer.no_mime_type.wasm ');38 var result = fetch('resources/incrementer.no_mime_type.wasm?pipe=header(Content-Type,)'); 39 39 const { instance } = await WebAssembly.instantiateStreaming(result); 40 40 assert_true(false); … … 47 47 promise_test(async function() { 48 48 try { 49 var result = fetch(' resources/incrementer1.wasm');49 var result = fetch('webapi/status.py?status=404'); 50 50 const { instance } = await WebAssembly.instantiateStreaming(result); 51 51 assert_true(false); -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/abort.any-expected.txt
r269866 r271993 1 CONSOLE MESSAGE: Unhandled Promise Rejection: AbortError: Request signal is aborted2 CONSOLE MESSAGE: Unhandled Promise Rejection: AbortError: Request signal is aborted3 1 4 Harness Error (FAIL), message = Unhandled rejection: Request signal is aborted 2 PASS compileStreaming() on an already-aborted request should reject with AbortError 3 PASS compileStreaming() synchronously followed by abort should reject with AbortError 4 PASS compileStreaming() asynchronously racing with abort should succeed or reject with AbortError 5 PASS instantiateStreaming() on an already-aborted request should reject with AbortError 6 PASS instantiateStreaming() synchronously followed by abort should reject with AbortError 7 PASS instantiateStreaming() asynchronously racing with abort should succeed or reject with AbortError 5 8 6 FAIL compileStreaming() on an already-aborted request should reject with AbortError promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](request)', 'WebAssembly[method]' is undefined)"7 FAIL compileStreaming() synchronously followed by abort should reject with AbortError promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](request)', 'WebAssembly[method]' is undefined)"8 FAIL compileStreaming() asynchronously racing with abort should succeed or reject with AbortError assert_equals: expected "AbortError" but got "TypeError"9 FAIL instantiateStreaming() on an already-aborted request should reject with AbortError promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](request)', 'WebAssembly[method]' is undefined)"10 FAIL instantiateStreaming() synchronously followed by abort should reject with AbortError promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](request)', 'WebAssembly[method]' is undefined)"11 FAIL instantiateStreaming() asynchronously racing with abort should succeed or reject with AbortError assert_equals: expected "AbortError" but got "TypeError"12 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/abort.any.worker-expected.txt
r269866 r271993 1 1 2 Harness Error (FAIL), message = Unhandled rejection: Request signal is aborted 2 PASS compileStreaming() on an already-aborted request should reject with AbortError 3 PASS compileStreaming() synchronously followed by abort should reject with AbortError 4 PASS compileStreaming() asynchronously racing with abort should succeed or reject with AbortError 5 PASS instantiateStreaming() on an already-aborted request should reject with AbortError 6 PASS instantiateStreaming() synchronously followed by abort should reject with AbortError 7 PASS instantiateStreaming() asynchronously racing with abort should succeed or reject with AbortError 3 8 4 FAIL compileStreaming() on an already-aborted request should reject with AbortError promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](request)', 'WebAssembly[method]' is undefined)"5 FAIL compileStreaming() synchronously followed by abort should reject with AbortError promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](request)', 'WebAssembly[method]' is undefined)"6 FAIL compileStreaming() asynchronously racing with abort should succeed or reject with AbortError assert_equals: expected "AbortError" but got "TypeError"7 FAIL instantiateStreaming() on an already-aborted request should reject with AbortError promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](request)', 'WebAssembly[method]' is undefined)"8 FAIL instantiateStreaming() synchronously followed by abort should reject with AbortError promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](request)', 'WebAssembly[method]' is undefined)"9 FAIL instantiateStreaming() asynchronously racing with abort should succeed or reject with AbortError assert_equals: expected "AbortError" but got "TypeError"10 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/body.any-expected.txt
r269866 r271993 1 1 2 FAIL compileStreaming after consumption WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 3 FAIL compileStreaming before consumption WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 4 FAIL instantiateStreaming after consumption WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 5 FAIL instantiateStreaming before consumption WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 2 PASS compileStreaming after consumption 3 PASS compileStreaming before consumption 4 PASS instantiateStreaming after consumption 5 PASS instantiateStreaming before consumption 6 6 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/body.any.worker-expected.txt
r269866 r271993 1 1 2 FAIL compileStreaming after consumption WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 3 FAIL compileStreaming before consumption WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 4 FAIL instantiateStreaming after consumption WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 5 FAIL instantiateStreaming before consumption WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 2 PASS compileStreaming after consumption 3 PASS compileStreaming before consumption 4 PASS instantiateStreaming after consumption 5 PASS instantiateStreaming before consumption 6 6 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/contenttype.any-expected.txt
r269866 r271993 1 1 2 FAIL Response with Content-Type "": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 3 FAIL Response with Content-Type "": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 4 FAIL Response with Content-Type "application/javascript": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 5 FAIL Response with Content-Type "application/javascript": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 6 FAIL Response with Content-Type "application/octet-stream": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 7 FAIL Response with Content-Type "application/octet-stream": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 8 FAIL Response with Content-Type "text/wasm": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 9 FAIL Response with Content-Type "text/wasm": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 10 FAIL Response with Content-Type "application/wasm;": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 11 FAIL Response with Content-Type "application/wasm;": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 12 FAIL Response with Content-Type "application/wasm;x": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 13 FAIL Response with Content-Type "application/wasm;x": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 14 FAIL Response with Content-Type "application/wasm;charset=UTF-8": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 15 FAIL Response with Content-Type "application/wasm;charset=UTF-8": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 16 FAIL Response with Content-Type "application/wasm": compileStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined)" 17 FAIL Response with Content-Type "application/wasm": instantiateStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined)" 18 FAIL Response with Content-Type "APPLICATION/wasm": compileStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined)" 19 FAIL Response with Content-Type "APPLICATION/wasm": instantiateStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined)" 20 FAIL Response with Content-Type "APPLICATION/WASM": compileStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined)" 21 FAIL Response with Content-Type "APPLICATION/WASM": instantiateStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined)" 2 PASS Response with Content-Type "": compileStreaming 3 PASS Response with Content-Type "": instantiateStreaming 4 PASS Response with Content-Type "application/javascript": compileStreaming 5 PASS Response with Content-Type "application/javascript": instantiateStreaming 6 PASS Response with Content-Type "application/octet-stream": compileStreaming 7 PASS Response with Content-Type "application/octet-stream": instantiateStreaming 8 PASS Response with Content-Type "text/wasm": compileStreaming 9 PASS Response with Content-Type "text/wasm": instantiateStreaming 10 PASS Response with Content-Type "application/wasm;": compileStreaming 11 PASS Response with Content-Type "application/wasm;": instantiateStreaming 12 PASS Response with Content-Type "application/wasm;x": compileStreaming 13 PASS Response with Content-Type "application/wasm;x": instantiateStreaming 14 PASS Response with Content-Type "application/wasm;charset=UTF-8": compileStreaming 15 PASS Response with Content-Type "application/wasm;charset=UTF-8": instantiateStreaming 16 PASS Response with Content-Type "application/wasm": compileStreaming 17 PASS Response with Content-Type "application/wasm": instantiateStreaming 18 PASS Response with Content-Type "APPLICATION/wasm": compileStreaming 19 PASS Response with Content-Type "APPLICATION/wasm": instantiateStreaming 20 PASS Response with Content-Type "APPLICATION/WASM": compileStreaming 21 PASS Response with Content-Type "APPLICATION/WASM": instantiateStreaming 22 22 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/contenttype.any.worker-expected.txt
r269866 r271993 1 1 2 FAIL Response with Content-Type "": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 3 FAIL Response with Content-Type "": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 4 FAIL Response with Content-Type "application/javascript": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 5 FAIL Response with Content-Type "application/javascript": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 6 FAIL Response with Content-Type "application/octet-stream": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 7 FAIL Response with Content-Type "application/octet-stream": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 8 FAIL Response with Content-Type "text/wasm": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 9 FAIL Response with Content-Type "text/wasm": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 10 FAIL Response with Content-Type "application/wasm;": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 11 FAIL Response with Content-Type "application/wasm;": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 12 FAIL Response with Content-Type "application/wasm;x": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 13 FAIL Response with Content-Type "application/wasm;x": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 14 FAIL Response with Content-Type "application/wasm;charset=UTF-8": compileStreaming WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined) 15 FAIL Response with Content-Type "application/wasm;charset=UTF-8": instantiateStreaming WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined) 16 FAIL Response with Content-Type "application/wasm": compileStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined)" 17 FAIL Response with Content-Type "application/wasm": instantiateStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined)" 18 FAIL Response with Content-Type "APPLICATION/wasm": compileStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined)" 19 FAIL Response with Content-Type "APPLICATION/wasm": instantiateStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined)" 20 FAIL Response with Content-Type "APPLICATION/WASM": compileStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(response)', 'WebAssembly.compileStreaming' is undefined)" 21 FAIL Response with Content-Type "APPLICATION/WASM": instantiateStreaming promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response)', 'WebAssembly.instantiateStreaming' is undefined)" 2 PASS Response with Content-Type "": compileStreaming 3 PASS Response with Content-Type "": instantiateStreaming 4 PASS Response with Content-Type "application/javascript": compileStreaming 5 PASS Response with Content-Type "application/javascript": instantiateStreaming 6 PASS Response with Content-Type "application/octet-stream": compileStreaming 7 PASS Response with Content-Type "application/octet-stream": instantiateStreaming 8 PASS Response with Content-Type "text/wasm": compileStreaming 9 PASS Response with Content-Type "text/wasm": instantiateStreaming 10 PASS Response with Content-Type "application/wasm;": compileStreaming 11 PASS Response with Content-Type "application/wasm;": instantiateStreaming 12 PASS Response with Content-Type "application/wasm;x": compileStreaming 13 PASS Response with Content-Type "application/wasm;x": instantiateStreaming 14 PASS Response with Content-Type "application/wasm;charset=UTF-8": compileStreaming 15 PASS Response with Content-Type "application/wasm;charset=UTF-8": instantiateStreaming 16 PASS Response with Content-Type "application/wasm": compileStreaming 17 PASS Response with Content-Type "application/wasm": instantiateStreaming 18 PASS Response with Content-Type "APPLICATION/wasm": compileStreaming 19 PASS Response with Content-Type "APPLICATION/wasm": instantiateStreaming 20 PASS Response with Content-Type "APPLICATION/WASM": compileStreaming 21 PASS Response with Content-Type "APPLICATION/WASM": instantiateStreaming 22 22 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/empty-body.any-expected.txt
r269866 r271993 1 1 2 FAIL compileStreaming: no body WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 3 FAIL compileStreaming: no body in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 4 FAIL compileStreaming: empty body WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 5 FAIL compileStreaming: empty body in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 6 FAIL instantiateStreaming: no body WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 7 FAIL instantiateStreaming: no body in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 8 FAIL instantiateStreaming: empty body WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 9 FAIL instantiateStreaming: empty body in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 2 PASS compileStreaming: no body 3 PASS compileStreaming: no body in a promise 4 PASS compileStreaming: empty body 5 PASS compileStreaming: empty body in a promise 6 PASS instantiateStreaming: no body 7 PASS instantiateStreaming: no body in a promise 8 PASS instantiateStreaming: empty body 9 PASS instantiateStreaming: empty body in a promise 10 10 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/empty-body.any.worker-expected.txt
r269866 r271993 1 1 2 FAIL compileStreaming: no body WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 3 FAIL compileStreaming: no body in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 4 FAIL compileStreaming: empty body WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 5 FAIL compileStreaming: empty body in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 6 FAIL instantiateStreaming: no body WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 7 FAIL instantiateStreaming: no body in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 8 FAIL instantiateStreaming: empty body WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 9 FAIL instantiateStreaming: empty body in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 2 PASS compileStreaming: no body 3 PASS compileStreaming: no body in a promise 4 PASS compileStreaming: empty body 5 PASS compileStreaming: empty body in a promise 6 PASS instantiateStreaming: no body 7 PASS instantiateStreaming: no body in a promise 8 PASS instantiateStreaming: empty body 9 PASS instantiateStreaming: empty body in a promise 10 10 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/historical.any-expected.txt
r269866 r271993 1 1 2 FAIL historical promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(fetch('../incrementer.wasm'))', 'WebAssembly.compileStreaming' is undefined)" 2 PASS historical 3 3 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/historical.any.worker-expected.txt
r269866 r271993 1 1 2 FAIL historical promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.compileStreaming is not a function. (In 'WebAssembly.compileStreaming(fetch('../incrementer.wasm'))', 'WebAssembly.compileStreaming' is undefined)" 2 PASS historical 3 3 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/idlharness.any-expected.txt
r269866 r271993 9 9 PASS WebAssembly namespace: operation instantiate(BufferSource, optional object) 10 10 PASS WebAssembly namespace: operation instantiate(Module, optional object) 11 FAIL WebAssembly namespace: operation compileStreaming(Promise<Response>) assert_own_property: namespace object missing operation "compileStreaming" expected property "compileStreaming" missing 12 FAIL WebAssembly namespace: operation instantiateStreaming(Promise<Response>, optional object) assert_own_property: namespace object missing operation "instantiateStreaming" expected property "instantiateStreaming" missing 11 PASS WebAssembly namespace: operation compileStreaming(Promise<Response>) 12 PASS WebAssembly namespace: operation instantiateStreaming(Promise<Response>, optional object) 13 13 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/idlharness.any.worker-expected.txt
r269866 r271993 9 9 PASS WebAssembly namespace: operation instantiate(BufferSource, optional object) 10 10 PASS WebAssembly namespace: operation instantiate(Module, optional object) 11 FAIL WebAssembly namespace: operation compileStreaming(Promise<Response>) assert_own_property: namespace object missing operation "compileStreaming" expected property "compileStreaming" missing 12 FAIL WebAssembly namespace: operation instantiateStreaming(Promise<Response>, optional object) assert_own_property: namespace object missing operation "instantiateStreaming" expected property "instantiateStreaming" missing 11 PASS WebAssembly namespace: operation compileStreaming(Promise<Response>) 12 PASS WebAssembly namespace: operation instantiateStreaming(Promise<Response>, optional object) 13 13 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any-expected.txt
r271168 r271993 1 1 2 FAIL Non-object imports argument: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 3 FAIL Non-object imports argument: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 4 FAIL Non-object imports argument: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 5 FAIL Non-object imports argument: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 6 FAIL Non-object imports argument: 1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 7 FAIL Non-object imports argument: 0.1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 8 FAIL Non-object imports argument: NaN WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 9 FAIL Non-object module: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 10 FAIL Non-object module: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 11 FAIL Non-object module: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 12 FAIL Non-object module: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 13 FAIL Non-object module: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 14 FAIL Non-object module: 1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 15 FAIL Non-object module: 0.1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 16 FAIL Non-object module: NaN WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 17 FAIL Missing imports argument WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 18 FAIL Imports argument with missing property: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 19 FAIL Imports argument with missing property: empty object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 20 FAIL Imports argument with missing property: wrong property WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 21 FAIL Importing a function with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 22 FAIL Importing a function with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 23 FAIL Importing a function with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 24 FAIL Importing a function with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 25 FAIL Importing a function with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 26 FAIL Importing a function with an incorrectly-typed value: 1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 27 FAIL Importing a function with an incorrectly-typed value: 0.1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 28 FAIL Importing a function with an incorrectly-typed value: NaN WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 29 FAIL Importing a function with an incorrectly-typed value: object "[object Object]" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 30 FAIL Importing an i32 global with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 31 FAIL Importing an i32 global with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 32 FAIL Importing an i32 global with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 33 FAIL Importing an i32 global with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 34 FAIL Importing an i32 global with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 35 FAIL Importing an i32 global with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 36 FAIL Importing an i32 global with an incorrectly-typed value: WebAssembly.Global WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 37 FAIL Importing an i32 global with an incorrectly-typed value: WebAssembly.Global.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 38 FAIL Importing an i32 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)39 FAIL Importing an i32 global with an incorrectly-typed value: BigInt WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 40 FAIL Importing an i32 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)41 FAIL Importing an i64 global with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 42 FAIL Importing an i64 global with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 43 FAIL Importing an i64 global with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 44 FAIL Importing an i64 global with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 45 FAIL Importing an i64 global with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 46 FAIL Importing an i64 global with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 47 FAIL Importing an i64 global with an incorrectly-typed value: WebAssembly.Global WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 48 FAIL Importing an i64 global with an incorrectly-typed value: WebAssembly.Global.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 49 FAIL Importing an i64 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)50 FAIL Importing an i64 global with an incorrectly-typed value: Number WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 51 FAIL Importing an i64 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)52 FAIL Importing an f32 global with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 53 FAIL Importing an f32 global with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 54 FAIL Importing an f32 global with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 55 FAIL Importing an f32 global with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 56 FAIL Importing an f32 global with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 57 FAIL Importing an f32 global with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 58 FAIL Importing an f32 global with an incorrectly-typed value: WebAssembly.Global WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 59 FAIL Importing an f32 global with an incorrectly-typed value: WebAssembly.Global.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 60 FAIL Importing an f32 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)61 FAIL Importing an f32 global with an incorrectly-typed value: BigInt WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 62 FAIL Importing an f32 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)63 FAIL Importing an f64 global with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 64 FAIL Importing an f64 global with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 65 FAIL Importing an f64 global with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 66 FAIL Importing an f64 global with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 67 FAIL Importing an f64 global with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 68 FAIL Importing an f64 global with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 69 FAIL Importing an f64 global with an incorrectly-typed value: WebAssembly.Global WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 70 FAIL Importing an f64 global with an incorrectly-typed value: WebAssembly.Global.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 71 FAIL Importing an f64 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)72 FAIL Importing an f64 global with an incorrectly-typed value: BigInt WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 73 FAIL Importing an f64 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)74 FAIL Importing an i32 mutable global with a primitive value WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 75 FAIL Importing an i32 mutable global with an immutable Global object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 76 FAIL Importing an i64 mutable global with a primitive value WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 77 FAIL Importing an i64 mutable global with an immutable Global object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 78 FAIL Importing an f32 mutable global with a primitive value WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 79 FAIL Importing an f32 mutable global with an immutable Global object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 80 FAIL Importing an f64 mutable global with a primitive value WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 81 FAIL Importing an f64 mutable global with an immutable Global object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 82 FAIL Importing memory with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 83 FAIL Importing memory with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 84 FAIL Importing memory with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 85 FAIL Importing memory with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 86 FAIL Importing memory with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 87 FAIL Importing memory with an incorrectly-typed value: 1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 88 FAIL Importing memory with an incorrectly-typed value: 0.1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 89 FAIL Importing memory with an incorrectly-typed value: NaN WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 90 FAIL Importing memory with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 91 FAIL Importing memory with an incorrectly-typed value: WebAssembly.Memory WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 92 FAIL Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 93 FAIL Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)94 FAIL Importing memory with an incorrectly-typed value: WebAssembly.Memory object (too large) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)95 FAIL Importing table with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 96 FAIL Importing table with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 97 FAIL Importing table with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 98 FAIL Importing table with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 99 FAIL Importing table with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 100 FAIL Importing table with an incorrectly-typed value: 1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 101 FAIL Importing table with an incorrectly-typed value: 0.1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 102 FAIL Importing table with an incorrectly-typed value: NaN WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 103 FAIL Importing table with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 104 FAIL Importing table with an incorrectly-typed value: WebAssembly.Table WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 105 FAIL Importing table with an incorrectly-typed value: WebAssembly.Table.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 106 FAIL Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)107 FAIL Importing table with an incorrectly-typed value: WebAssembly.Table object (too large) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)2 PASS Non-object imports argument: null 3 PASS Non-object imports argument: true 4 PASS Non-object imports argument: "" 5 PASS Non-object imports argument: symbol "Symbol()" 6 PASS Non-object imports argument: 1 7 PASS Non-object imports argument: 0.1 8 PASS Non-object imports argument: NaN 9 PASS Non-object module: undefined 10 PASS Non-object module: null 11 PASS Non-object module: true 12 PASS Non-object module: "" 13 PASS Non-object module: symbol "Symbol()" 14 PASS Non-object module: 1 15 PASS Non-object module: 0.1 16 PASS Non-object module: NaN 17 PASS Missing imports argument 18 PASS Imports argument with missing property: undefined 19 PASS Imports argument with missing property: empty object 20 PASS Imports argument with missing property: wrong property 21 PASS Importing a function with an incorrectly-typed value: undefined 22 PASS Importing a function with an incorrectly-typed value: null 23 PASS Importing a function with an incorrectly-typed value: true 24 PASS Importing a function with an incorrectly-typed value: "" 25 PASS Importing a function with an incorrectly-typed value: symbol "Symbol()" 26 PASS Importing a function with an incorrectly-typed value: 1 27 PASS Importing a function with an incorrectly-typed value: 0.1 28 PASS Importing a function with an incorrectly-typed value: NaN 29 PASS Importing a function with an incorrectly-typed value: object "[object Object]" 30 PASS Importing an i32 global with an incorrectly-typed value: undefined 31 PASS Importing an i32 global with an incorrectly-typed value: null 32 PASS Importing an i32 global with an incorrectly-typed value: true 33 PASS Importing an i32 global with an incorrectly-typed value: "" 34 PASS Importing an i32 global with an incorrectly-typed value: symbol "Symbol()" 35 PASS Importing an i32 global with an incorrectly-typed value: plain object 36 PASS Importing an i32 global with an incorrectly-typed value: WebAssembly.Global 37 PASS Importing an i32 global with an incorrectly-typed value: WebAssembly.Global.prototype 38 PASS Importing an i32 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) 39 PASS Importing an i32 global with an incorrectly-typed value: BigInt 40 PASS Importing an i32 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) 41 PASS Importing an i64 global with an incorrectly-typed value: undefined 42 PASS Importing an i64 global with an incorrectly-typed value: null 43 PASS Importing an i64 global with an incorrectly-typed value: true 44 PASS Importing an i64 global with an incorrectly-typed value: "" 45 PASS Importing an i64 global with an incorrectly-typed value: symbol "Symbol()" 46 PASS Importing an i64 global with an incorrectly-typed value: plain object 47 PASS Importing an i64 global with an incorrectly-typed value: WebAssembly.Global 48 PASS Importing an i64 global with an incorrectly-typed value: WebAssembly.Global.prototype 49 PASS Importing an i64 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) 50 PASS Importing an i64 global with an incorrectly-typed value: Number 51 PASS Importing an i64 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) 52 PASS Importing an f32 global with an incorrectly-typed value: undefined 53 PASS Importing an f32 global with an incorrectly-typed value: null 54 PASS Importing an f32 global with an incorrectly-typed value: true 55 PASS Importing an f32 global with an incorrectly-typed value: "" 56 PASS Importing an f32 global with an incorrectly-typed value: symbol "Symbol()" 57 PASS Importing an f32 global with an incorrectly-typed value: plain object 58 PASS Importing an f32 global with an incorrectly-typed value: WebAssembly.Global 59 PASS Importing an f32 global with an incorrectly-typed value: WebAssembly.Global.prototype 60 PASS Importing an f32 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) 61 PASS Importing an f32 global with an incorrectly-typed value: BigInt 62 PASS Importing an f32 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) 63 PASS Importing an f64 global with an incorrectly-typed value: undefined 64 PASS Importing an f64 global with an incorrectly-typed value: null 65 PASS Importing an f64 global with an incorrectly-typed value: true 66 PASS Importing an f64 global with an incorrectly-typed value: "" 67 PASS Importing an f64 global with an incorrectly-typed value: symbol "Symbol()" 68 PASS Importing an f64 global with an incorrectly-typed value: plain object 69 PASS Importing an f64 global with an incorrectly-typed value: WebAssembly.Global 70 PASS Importing an f64 global with an incorrectly-typed value: WebAssembly.Global.prototype 71 PASS Importing an f64 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) 72 PASS Importing an f64 global with an incorrectly-typed value: BigInt 73 PASS Importing an f64 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) 74 PASS Importing an i32 mutable global with a primitive value 75 PASS Importing an i32 mutable global with an immutable Global object 76 PASS Importing an i64 mutable global with a primitive value 77 PASS Importing an i64 mutable global with an immutable Global object 78 PASS Importing an f32 mutable global with a primitive value 79 PASS Importing an f32 mutable global with an immutable Global object 80 PASS Importing an f64 mutable global with a primitive value 81 PASS Importing an f64 mutable global with an immutable Global object 82 PASS Importing memory with an incorrectly-typed value: undefined 83 PASS Importing memory with an incorrectly-typed value: null 84 PASS Importing memory with an incorrectly-typed value: true 85 PASS Importing memory with an incorrectly-typed value: "" 86 PASS Importing memory with an incorrectly-typed value: symbol "Symbol()" 87 PASS Importing memory with an incorrectly-typed value: 1 88 PASS Importing memory with an incorrectly-typed value: 0.1 89 PASS Importing memory with an incorrectly-typed value: NaN 90 PASS Importing memory with an incorrectly-typed value: plain object 91 PASS Importing memory with an incorrectly-typed value: WebAssembly.Memory 92 PASS Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype 93 PASS Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype) 94 PASS Importing memory with an incorrectly-typed value: WebAssembly.Memory object (too large) 95 PASS Importing table with an incorrectly-typed value: undefined 96 PASS Importing table with an incorrectly-typed value: null 97 PASS Importing table with an incorrectly-typed value: true 98 PASS Importing table with an incorrectly-typed value: "" 99 PASS Importing table with an incorrectly-typed value: symbol "Symbol()" 100 PASS Importing table with an incorrectly-typed value: 1 101 PASS Importing table with an incorrectly-typed value: 0.1 102 PASS Importing table with an incorrectly-typed value: NaN 103 PASS Importing table with an incorrectly-typed value: plain object 104 PASS Importing table with an incorrectly-typed value: WebAssembly.Table 105 PASS Importing table with an incorrectly-typed value: WebAssembly.Table.prototype 106 PASS Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype) 107 PASS Importing table with an incorrectly-typed value: WebAssembly.Table object (too large) 108 108 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker-expected.txt
r271168 r271993 1 1 2 FAIL Non-object imports argument: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 3 FAIL Non-object imports argument: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 4 FAIL Non-object imports argument: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 5 FAIL Non-object imports argument: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 6 FAIL Non-object imports argument: 1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 7 FAIL Non-object imports argument: 0.1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 8 FAIL Non-object imports argument: NaN WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 9 FAIL Non-object module: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 10 FAIL Non-object module: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 11 FAIL Non-object module: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 12 FAIL Non-object module: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 13 FAIL Non-object module: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 14 FAIL Non-object module: 1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 15 FAIL Non-object module: 0.1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 16 FAIL Non-object module: NaN WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 17 FAIL Missing imports argument WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 18 FAIL Imports argument with missing property: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 19 FAIL Imports argument with missing property: empty object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 20 FAIL Imports argument with missing property: wrong property WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 21 FAIL Importing a function with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 22 FAIL Importing a function with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 23 FAIL Importing a function with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 24 FAIL Importing a function with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 25 FAIL Importing a function with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 26 FAIL Importing a function with an incorrectly-typed value: 1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 27 FAIL Importing a function with an incorrectly-typed value: 0.1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 28 FAIL Importing a function with an incorrectly-typed value: NaN WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 29 FAIL Importing a function with an incorrectly-typed value: object "[object Object]" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 30 FAIL Importing an i32 global with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 31 FAIL Importing an i32 global with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 32 FAIL Importing an i32 global with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 33 FAIL Importing an i32 global with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 34 FAIL Importing an i32 global with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 35 FAIL Importing an i32 global with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 36 FAIL Importing an i32 global with an incorrectly-typed value: WebAssembly.Global WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 37 FAIL Importing an i32 global with an incorrectly-typed value: WebAssembly.Global.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 38 FAIL Importing an i32 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)39 FAIL Importing an i32 global with an incorrectly-typed value: BigInt WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 40 FAIL Importing an i32 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)41 FAIL Importing an i64 global with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 42 FAIL Importing an i64 global with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 43 FAIL Importing an i64 global with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 44 FAIL Importing an i64 global with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 45 FAIL Importing an i64 global with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 46 FAIL Importing an i64 global with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 47 FAIL Importing an i64 global with an incorrectly-typed value: WebAssembly.Global WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 48 FAIL Importing an i64 global with an incorrectly-typed value: WebAssembly.Global.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 49 FAIL Importing an i64 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)50 FAIL Importing an i64 global with an incorrectly-typed value: Number WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 51 FAIL Importing an i64 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)52 FAIL Importing an f32 global with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 53 FAIL Importing an f32 global with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 54 FAIL Importing an f32 global with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 55 FAIL Importing an f32 global with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 56 FAIL Importing an f32 global with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 57 FAIL Importing an f32 global with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 58 FAIL Importing an f32 global with an incorrectly-typed value: WebAssembly.Global WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 59 FAIL Importing an f32 global with an incorrectly-typed value: WebAssembly.Global.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 60 FAIL Importing an f32 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)61 FAIL Importing an f32 global with an incorrectly-typed value: BigInt WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 62 FAIL Importing an f32 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)63 FAIL Importing an f64 global with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 64 FAIL Importing an f64 global with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 65 FAIL Importing an f64 global with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 66 FAIL Importing an f64 global with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 67 FAIL Importing an f64 global with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 68 FAIL Importing an f64 global with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 69 FAIL Importing an f64 global with an incorrectly-typed value: WebAssembly.Global WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 70 FAIL Importing an f64 global with an incorrectly-typed value: WebAssembly.Global.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 71 FAIL Importing an f64 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)72 FAIL Importing an f64 global with an incorrectly-typed value: BigInt WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 73 FAIL Importing an f64 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)74 FAIL Importing an i32 mutable global with a primitive value WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 75 FAIL Importing an i32 mutable global with an immutable Global object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 76 FAIL Importing an i64 mutable global with a primitive value WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 77 FAIL Importing an i64 mutable global with an immutable Global object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 78 FAIL Importing an f32 mutable global with a primitive value WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 79 FAIL Importing an f32 mutable global with an immutable Global object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 80 FAIL Importing an f64 mutable global with a primitive value WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 81 FAIL Importing an f64 mutable global with an immutable Global object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 82 FAIL Importing memory with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 83 FAIL Importing memory with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 84 FAIL Importing memory with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 85 FAIL Importing memory with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 86 FAIL Importing memory with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 87 FAIL Importing memory with an incorrectly-typed value: 1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 88 FAIL Importing memory with an incorrectly-typed value: 0.1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 89 FAIL Importing memory with an incorrectly-typed value: NaN WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 90 FAIL Importing memory with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 91 FAIL Importing memory with an incorrectly-typed value: WebAssembly.Memory WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 92 FAIL Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 93 FAIL Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)94 FAIL Importing memory with an incorrectly-typed value: WebAssembly.Memory object (too large) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)95 FAIL Importing table with an incorrectly-typed value: undefined WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 96 FAIL Importing table with an incorrectly-typed value: null WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 97 FAIL Importing table with an incorrectly-typed value: true WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 98 FAIL Importing table with an incorrectly-typed value: "" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 99 FAIL Importing table with an incorrectly-typed value: symbol "Symbol()" WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 100 FAIL Importing table with an incorrectly-typed value: 1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 101 FAIL Importing table with an incorrectly-typed value: 0.1 WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 102 FAIL Importing table with an incorrectly-typed value: NaN WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 103 FAIL Importing table with an incorrectly-typed value: plain object WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 104 FAIL Importing table with an incorrectly-typed value: WebAssembly.Table WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 105 FAIL Importing table with an incorrectly-typed value: WebAssembly.Table.prototype WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined) 106 FAIL Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)107 FAIL Importing table with an incorrectly-typed value: WebAssembly.Table object (too large) WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)2 PASS Non-object imports argument: null 3 PASS Non-object imports argument: true 4 PASS Non-object imports argument: "" 5 PASS Non-object imports argument: symbol "Symbol()" 6 PASS Non-object imports argument: 1 7 PASS Non-object imports argument: 0.1 8 PASS Non-object imports argument: NaN 9 PASS Non-object module: undefined 10 PASS Non-object module: null 11 PASS Non-object module: true 12 PASS Non-object module: "" 13 PASS Non-object module: symbol "Symbol()" 14 PASS Non-object module: 1 15 PASS Non-object module: 0.1 16 PASS Non-object module: NaN 17 PASS Missing imports argument 18 PASS Imports argument with missing property: undefined 19 PASS Imports argument with missing property: empty object 20 PASS Imports argument with missing property: wrong property 21 PASS Importing a function with an incorrectly-typed value: undefined 22 PASS Importing a function with an incorrectly-typed value: null 23 PASS Importing a function with an incorrectly-typed value: true 24 PASS Importing a function with an incorrectly-typed value: "" 25 PASS Importing a function with an incorrectly-typed value: symbol "Symbol()" 26 PASS Importing a function with an incorrectly-typed value: 1 27 PASS Importing a function with an incorrectly-typed value: 0.1 28 PASS Importing a function with an incorrectly-typed value: NaN 29 PASS Importing a function with an incorrectly-typed value: object "[object Object]" 30 PASS Importing an i32 global with an incorrectly-typed value: undefined 31 PASS Importing an i32 global with an incorrectly-typed value: null 32 PASS Importing an i32 global with an incorrectly-typed value: true 33 PASS Importing an i32 global with an incorrectly-typed value: "" 34 PASS Importing an i32 global with an incorrectly-typed value: symbol "Symbol()" 35 PASS Importing an i32 global with an incorrectly-typed value: plain object 36 PASS Importing an i32 global with an incorrectly-typed value: WebAssembly.Global 37 PASS Importing an i32 global with an incorrectly-typed value: WebAssembly.Global.prototype 38 PASS Importing an i32 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) 39 PASS Importing an i32 global with an incorrectly-typed value: BigInt 40 PASS Importing an i32 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) 41 PASS Importing an i64 global with an incorrectly-typed value: undefined 42 PASS Importing an i64 global with an incorrectly-typed value: null 43 PASS Importing an i64 global with an incorrectly-typed value: true 44 PASS Importing an i64 global with an incorrectly-typed value: "" 45 PASS Importing an i64 global with an incorrectly-typed value: symbol "Symbol()" 46 PASS Importing an i64 global with an incorrectly-typed value: plain object 47 PASS Importing an i64 global with an incorrectly-typed value: WebAssembly.Global 48 PASS Importing an i64 global with an incorrectly-typed value: WebAssembly.Global.prototype 49 PASS Importing an i64 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) 50 PASS Importing an i64 global with an incorrectly-typed value: Number 51 PASS Importing an i64 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) 52 PASS Importing an f32 global with an incorrectly-typed value: undefined 53 PASS Importing an f32 global with an incorrectly-typed value: null 54 PASS Importing an f32 global with an incorrectly-typed value: true 55 PASS Importing an f32 global with an incorrectly-typed value: "" 56 PASS Importing an f32 global with an incorrectly-typed value: symbol "Symbol()" 57 PASS Importing an f32 global with an incorrectly-typed value: plain object 58 PASS Importing an f32 global with an incorrectly-typed value: WebAssembly.Global 59 PASS Importing an f32 global with an incorrectly-typed value: WebAssembly.Global.prototype 60 PASS Importing an f32 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) 61 PASS Importing an f32 global with an incorrectly-typed value: BigInt 62 PASS Importing an f32 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) 63 PASS Importing an f64 global with an incorrectly-typed value: undefined 64 PASS Importing an f64 global with an incorrectly-typed value: null 65 PASS Importing an f64 global with an incorrectly-typed value: true 66 PASS Importing an f64 global with an incorrectly-typed value: "" 67 PASS Importing an f64 global with an incorrectly-typed value: symbol "Symbol()" 68 PASS Importing an f64 global with an incorrectly-typed value: plain object 69 PASS Importing an f64 global with an incorrectly-typed value: WebAssembly.Global 70 PASS Importing an f64 global with an incorrectly-typed value: WebAssembly.Global.prototype 71 PASS Importing an f64 global with an incorrectly-typed value: Object.create(WebAssembly.Global.prototype) 72 PASS Importing an f64 global with an incorrectly-typed value: BigInt 73 PASS Importing an f64 global with an incorrectly-typed value: WebAssembly.Global object (wrong value type) 74 PASS Importing an i32 mutable global with a primitive value 75 PASS Importing an i32 mutable global with an immutable Global object 76 PASS Importing an i64 mutable global with a primitive value 77 PASS Importing an i64 mutable global with an immutable Global object 78 PASS Importing an f32 mutable global with a primitive value 79 PASS Importing an f32 mutable global with an immutable Global object 80 PASS Importing an f64 mutable global with a primitive value 81 PASS Importing an f64 mutable global with an immutable Global object 82 PASS Importing memory with an incorrectly-typed value: undefined 83 PASS Importing memory with an incorrectly-typed value: null 84 PASS Importing memory with an incorrectly-typed value: true 85 PASS Importing memory with an incorrectly-typed value: "" 86 PASS Importing memory with an incorrectly-typed value: symbol "Symbol()" 87 PASS Importing memory with an incorrectly-typed value: 1 88 PASS Importing memory with an incorrectly-typed value: 0.1 89 PASS Importing memory with an incorrectly-typed value: NaN 90 PASS Importing memory with an incorrectly-typed value: plain object 91 PASS Importing memory with an incorrectly-typed value: WebAssembly.Memory 92 PASS Importing memory with an incorrectly-typed value: WebAssembly.Memory.prototype 93 PASS Importing memory with an incorrectly-typed value: Object.create(WebAssembly.Memory.prototype) 94 PASS Importing memory with an incorrectly-typed value: WebAssembly.Memory object (too large) 95 PASS Importing table with an incorrectly-typed value: undefined 96 PASS Importing table with an incorrectly-typed value: null 97 PASS Importing table with an incorrectly-typed value: true 98 PASS Importing table with an incorrectly-typed value: "" 99 PASS Importing table with an incorrectly-typed value: symbol "Symbol()" 100 PASS Importing table with an incorrectly-typed value: 1 101 PASS Importing table with an incorrectly-typed value: 0.1 102 PASS Importing table with an incorrectly-typed value: NaN 103 PASS Importing table with an incorrectly-typed value: plain object 104 PASS Importing table with an incorrectly-typed value: WebAssembly.Table 105 PASS Importing table with an incorrectly-typed value: WebAssembly.Table.prototype 106 PASS Importing table with an incorrectly-typed value: Object.create(WebAssembly.Table.prototype) 107 PASS Importing table with an incorrectly-typed value: WebAssembly.Table object (too large) 108 108 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming.any-expected.txt
r271774 r271993 1 1 2 FAIL Empty module without imports argument promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 3 FAIL Empty module with undefined imports argument promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 4 FAIL Empty module with empty imports argument promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 5 FAIL getter order for imports object promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)"6 FAIL imports promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 7 FAIL imports with empty module names promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 8 FAIL imports with empty names promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 9 FAIL exports with empty name: function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 10 FAIL exports with empty name: table promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 11 FAIL exports with empty name: global promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 12 FAIL No imports promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 13 FAIL exports and imports promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 14 FAIL i64 exports and imports promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 15 FAIL import with i32-returning function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 16 FAIL import with function that takes and returns i32 promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 17 FAIL import with i64-returning function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 18 FAIL import with function that takes and returns i64 promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 19 FAIL import with i32-taking function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 20 FAIL import with i64-taking function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 21 FAIL export i64-returning function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 22 FAIL i32 mutable WebAssembly.Global import promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 23 FAIL i64 mutable WebAssembly.Global import promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 24 FAIL Multiple i64 arguments promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 25 FAIL stray argument promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 26 FAIL Synchronous options handling promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, imports)', 'WebAssembly.instantiateStreaming' is undefined)" 2 PASS Empty module without imports argument 3 PASS Empty module with undefined imports argument 4 PASS Empty module with empty imports argument 5 FAIL getter order for imports object assert_array_equals: expected property 1 to be "global1 getter" but got "memory getter" (expected array ["module getter", "global1 getter", "module2 getter", "global3 getter", "module getter", "memory getter", "module getter", "global2 getter"] got ["module getter", "memory getter", "module getter", "global1 getter", "module2 getter", "global3 getter", "module getter", "global2 getter"]) 6 PASS imports 7 PASS imports with empty module names 8 PASS imports with empty names 9 PASS exports with empty name: function 10 PASS exports with empty name: table 11 PASS exports with empty name: global 12 PASS No imports 13 PASS exports and imports 14 PASS i64 exports and imports 15 PASS import with i32-returning function 16 PASS import with function that takes and returns i32 17 PASS import with i64-returning function 18 PASS import with function that takes and returns i64 19 PASS import with i32-taking function 20 PASS import with i64-taking function 21 PASS export i64-returning function 22 PASS i32 mutable WebAssembly.Global import 23 PASS i64 mutable WebAssembly.Global import 24 PASS Multiple i64 arguments 25 PASS stray argument 26 PASS Synchronous options handling 27 27 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/instantiateStreaming.any.worker-expected.txt
r271774 r271993 1 1 2 FAIL Empty module without imports argument promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 3 FAIL Empty module with undefined imports argument promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 4 FAIL Empty module with empty imports argument promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 5 FAIL getter order for imports object promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)"6 FAIL imports promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 7 FAIL imports with empty module names promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 8 FAIL imports with empty names promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 9 FAIL exports with empty name: function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 10 FAIL exports with empty name: table promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 11 FAIL exports with empty name: global promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 12 FAIL No imports promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 13 FAIL exports and imports promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 14 FAIL i64 exports and imports promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 15 FAIL import with i32-returning function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 16 FAIL import with function that takes and returns i32 promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 17 FAIL import with i64-returning function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 18 FAIL import with function that takes and returns i64 promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 19 FAIL import with i32-taking function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 20 FAIL import with i64-taking function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 21 FAIL export i64-returning function promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 22 FAIL i32 mutable WebAssembly.Global import promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 23 FAIL i64 mutable WebAssembly.Global import promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 24 FAIL Multiple i64 arguments promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 25 FAIL stray argument promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, ...args)', 'WebAssembly.instantiateStreaming' is undefined)" 26 FAIL Synchronous options handling promise_test: Unhandled rejection with value: object "TypeError: WebAssembly.instantiateStreaming is not a function. (In 'WebAssembly.instantiateStreaming(response, imports)', 'WebAssembly.instantiateStreaming' is undefined)" 2 PASS Empty module without imports argument 3 PASS Empty module with undefined imports argument 4 PASS Empty module with empty imports argument 5 FAIL getter order for imports object assert_array_equals: expected property 1 to be "global1 getter" but got "memory getter" (expected array ["module getter", "global1 getter", "module2 getter", "global3 getter", "module getter", "memory getter", "module getter", "global2 getter"] got ["module getter", "memory getter", "module getter", "global1 getter", "module2 getter", "global3 getter", "module getter", "global2 getter"]) 6 PASS imports 7 PASS imports with empty module names 8 PASS imports with empty names 9 PASS exports with empty name: function 10 PASS exports with empty name: table 11 PASS exports with empty name: global 12 PASS No imports 13 PASS exports and imports 14 PASS i64 exports and imports 15 PASS import with i32-returning function 16 PASS import with function that takes and returns i32 17 PASS import with i64-returning function 18 PASS import with function that takes and returns i64 19 PASS import with i32-taking function 20 PASS import with i64-taking function 21 PASS export i64-returning function 22 PASS i32 mutable WebAssembly.Global import 23 PASS i64 mutable WebAssembly.Global import 24 PASS Multiple i64 arguments 25 PASS stray argument 26 PASS Synchronous options handling 27 27 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/invalid-args.any-expected.txt
r269866 r271993 1 1 2 FAIL compileStreaming: undefined WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 3 FAIL compileStreaming: undefined in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 4 FAIL compileStreaming: null WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 5 FAIL compileStreaming: null in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 6 FAIL compileStreaming: true WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 7 FAIL compileStreaming: true in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 8 FAIL compileStreaming: "test" WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 9 FAIL compileStreaming: "test" in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 10 FAIL compileStreaming: symbol "Symbol()" WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 11 FAIL compileStreaming: symbol "Symbol()" in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 12 FAIL compileStreaming: 0 WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 13 FAIL compileStreaming: 0 in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 14 FAIL compileStreaming: 0.1 WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 15 FAIL compileStreaming: 0.1 in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 16 FAIL compileStreaming: NaN WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 17 FAIL compileStreaming: NaN in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 18 FAIL compileStreaming: Empty object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 19 FAIL compileStreaming: Empty object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 20 FAIL compileStreaming: Response interface object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 21 FAIL compileStreaming: Response interface object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 22 FAIL compileStreaming: Response interface prototype object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 23 FAIL compileStreaming: Response interface prototype object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 24 FAIL instantiateStreaming: undefined WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 25 FAIL instantiateStreaming: undefined in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 26 FAIL instantiateStreaming: null WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 27 FAIL instantiateStreaming: null in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 28 FAIL instantiateStreaming: true WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 29 FAIL instantiateStreaming: true in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 30 FAIL instantiateStreaming: "test" WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 31 FAIL instantiateStreaming: "test" in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 32 FAIL instantiateStreaming: symbol "Symbol()" WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 33 FAIL instantiateStreaming: symbol "Symbol()" in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 34 FAIL instantiateStreaming: 0 WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 35 FAIL instantiateStreaming: 0 in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 36 FAIL instantiateStreaming: 0.1 WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 37 FAIL instantiateStreaming: 0.1 in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 38 FAIL instantiateStreaming: NaN WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 39 FAIL instantiateStreaming: NaN in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 40 FAIL instantiateStreaming: Empty object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 41 FAIL instantiateStreaming: Empty object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 42 FAIL instantiateStreaming: Response interface object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 43 FAIL instantiateStreaming: Response interface object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 44 FAIL instantiateStreaming: Response interface prototype object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 45 FAIL instantiateStreaming: Response interface prototype object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 2 PASS compileStreaming: undefined 3 PASS compileStreaming: undefined in a promise 4 PASS compileStreaming: null 5 PASS compileStreaming: null in a promise 6 PASS compileStreaming: true 7 PASS compileStreaming: true in a promise 8 PASS compileStreaming: "test" 9 PASS compileStreaming: "test" in a promise 10 PASS compileStreaming: symbol "Symbol()" 11 PASS compileStreaming: symbol "Symbol()" in a promise 12 PASS compileStreaming: 0 13 PASS compileStreaming: 0 in a promise 14 PASS compileStreaming: 0.1 15 PASS compileStreaming: 0.1 in a promise 16 PASS compileStreaming: NaN 17 PASS compileStreaming: NaN in a promise 18 PASS compileStreaming: Empty object 19 PASS compileStreaming: Empty object in a promise 20 PASS compileStreaming: Response interface object 21 PASS compileStreaming: Response interface object in a promise 22 PASS compileStreaming: Response interface prototype object 23 PASS compileStreaming: Response interface prototype object in a promise 24 PASS instantiateStreaming: undefined 25 PASS instantiateStreaming: undefined in a promise 26 PASS instantiateStreaming: null 27 PASS instantiateStreaming: null in a promise 28 PASS instantiateStreaming: true 29 PASS instantiateStreaming: true in a promise 30 PASS instantiateStreaming: "test" 31 PASS instantiateStreaming: "test" in a promise 32 PASS instantiateStreaming: symbol "Symbol()" 33 PASS instantiateStreaming: symbol "Symbol()" in a promise 34 PASS instantiateStreaming: 0 35 PASS instantiateStreaming: 0 in a promise 36 PASS instantiateStreaming: 0.1 37 PASS instantiateStreaming: 0.1 in a promise 38 PASS instantiateStreaming: NaN 39 PASS instantiateStreaming: NaN in a promise 40 PASS instantiateStreaming: Empty object 41 PASS instantiateStreaming: Empty object in a promise 42 PASS instantiateStreaming: Response interface object 43 PASS instantiateStreaming: Response interface object in a promise 44 PASS instantiateStreaming: Response interface prototype object 45 PASS instantiateStreaming: Response interface prototype object in a promise 46 46 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/invalid-args.any.worker-expected.txt
r269866 r271993 1 1 2 FAIL compileStreaming: undefined WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 3 FAIL compileStreaming: undefined in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 4 FAIL compileStreaming: null WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 5 FAIL compileStreaming: null in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 6 FAIL compileStreaming: true WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 7 FAIL compileStreaming: true in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 8 FAIL compileStreaming: "test" WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 9 FAIL compileStreaming: "test" in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 10 FAIL compileStreaming: symbol "Symbol()" WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 11 FAIL compileStreaming: symbol "Symbol()" in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 12 FAIL compileStreaming: 0 WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 13 FAIL compileStreaming: 0 in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 14 FAIL compileStreaming: 0.1 WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 15 FAIL compileStreaming: 0.1 in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 16 FAIL compileStreaming: NaN WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 17 FAIL compileStreaming: NaN in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 18 FAIL compileStreaming: Empty object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 19 FAIL compileStreaming: Empty object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 20 FAIL compileStreaming: Response interface object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 21 FAIL compileStreaming: Response interface object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 22 FAIL compileStreaming: Response interface prototype object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 23 FAIL compileStreaming: Response interface prototype object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 24 FAIL instantiateStreaming: undefined WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 25 FAIL instantiateStreaming: undefined in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 26 FAIL instantiateStreaming: null WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 27 FAIL instantiateStreaming: null in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 28 FAIL instantiateStreaming: true WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 29 FAIL instantiateStreaming: true in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 30 FAIL instantiateStreaming: "test" WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 31 FAIL instantiateStreaming: "test" in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 32 FAIL instantiateStreaming: symbol "Symbol()" WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 33 FAIL instantiateStreaming: symbol "Symbol()" in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 34 FAIL instantiateStreaming: 0 WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 35 FAIL instantiateStreaming: 0 in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 36 FAIL instantiateStreaming: 0.1 WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 37 FAIL instantiateStreaming: 0.1 in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 38 FAIL instantiateStreaming: NaN WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 39 FAIL instantiateStreaming: NaN in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 40 FAIL instantiateStreaming: Empty object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 41 FAIL instantiateStreaming: Empty object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 42 FAIL instantiateStreaming: Response interface object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 43 FAIL instantiateStreaming: Response interface object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 44 FAIL instantiateStreaming: Response interface prototype object WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 45 FAIL instantiateStreaming: Response interface prototype object in a promise WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined) 2 PASS compileStreaming: undefined 3 PASS compileStreaming: undefined in a promise 4 PASS compileStreaming: null 5 PASS compileStreaming: null in a promise 6 PASS compileStreaming: true 7 PASS compileStreaming: true in a promise 8 PASS compileStreaming: "test" 9 PASS compileStreaming: "test" in a promise 10 PASS compileStreaming: symbol "Symbol()" 11 PASS compileStreaming: symbol "Symbol()" in a promise 12 PASS compileStreaming: 0 13 PASS compileStreaming: 0 in a promise 14 PASS compileStreaming: 0.1 15 PASS compileStreaming: 0.1 in a promise 16 PASS compileStreaming: NaN 17 PASS compileStreaming: NaN in a promise 18 PASS compileStreaming: Empty object 19 PASS compileStreaming: Empty object in a promise 20 PASS compileStreaming: Response interface object 21 PASS compileStreaming: Response interface object in a promise 22 PASS compileStreaming: Response interface prototype object 23 PASS compileStreaming: Response interface prototype object in a promise 24 PASS instantiateStreaming: undefined 25 PASS instantiateStreaming: undefined in a promise 26 PASS instantiateStreaming: null 27 PASS instantiateStreaming: null in a promise 28 PASS instantiateStreaming: true 29 PASS instantiateStreaming: true in a promise 30 PASS instantiateStreaming: "test" 31 PASS instantiateStreaming: "test" in a promise 32 PASS instantiateStreaming: symbol "Symbol()" 33 PASS instantiateStreaming: symbol "Symbol()" in a promise 34 PASS instantiateStreaming: 0 35 PASS instantiateStreaming: 0 in a promise 36 PASS instantiateStreaming: 0.1 37 PASS instantiateStreaming: 0.1 in a promise 38 PASS instantiateStreaming: NaN 39 PASS instantiateStreaming: NaN in a promise 40 PASS instantiateStreaming: Empty object 41 PASS instantiateStreaming: Empty object in a promise 42 PASS instantiateStreaming: Response interface object 43 PASS instantiateStreaming: Response interface object in a promise 44 PASS instantiateStreaming: Response interface prototype object 45 PASS instantiateStreaming: Response interface prototype object in a promise 46 46 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/invalid-code.any-expected.txt
r271774 r271993 1 1 2 FAIL Invalid code (0x0000): compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 3 FAIL Invalid code (0xCAFE): compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 4 FAIL Invalid code (0x0000): instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 5 FAIL Invalid code (0xCAFE): instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 2 PASS Invalid code (0x0000): compileStreaming 3 PASS Invalid code (0xCAFE): compileStreaming 4 PASS Invalid code (0x0000): instantiateStreaming 5 PASS Invalid code (0xCAFE): instantiateStreaming 6 6 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/invalid-code.any.worker-expected.txt
r271774 r271993 1 1 2 FAIL Invalid code (0x0000): compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 3 FAIL Invalid code (0xCAFE): compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 4 FAIL Invalid code (0x0000): instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 5 FAIL Invalid code (0xCAFE): instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 2 PASS Invalid code (0x0000): compileStreaming 3 PASS Invalid code (0xCAFE): compileStreaming 4 PASS Invalid code (0x0000): instantiateStreaming 5 PASS Invalid code (0xCAFE): instantiateStreaming 6 6 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/modified-contenttype.any-expected.txt
r271774 r271993 1 1 2 FAIL compileStreaming with Content-Type set late promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined)" 3 FAIL compileStreaming with Content-Type removed late promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined)" 4 FAIL instantiateStreaming with Content-Type set late promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined)" 5 FAIL instantiateStreaming with Content-Type removed late promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined)" 2 PASS compileStreaming with Content-Type set late 3 PASS compileStreaming with Content-Type removed late 4 PASS instantiateStreaming with Content-Type set late 5 PASS instantiateStreaming with Content-Type removed late 6 6 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/modified-contenttype.any.worker-expected.txt
r271774 r271993 1 1 2 FAIL compileStreaming with Content-Type set late promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined)" 3 FAIL compileStreaming with Content-Type removed late promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined)" 4 FAIL instantiateStreaming with Content-Type set late promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined)" 5 FAIL instantiateStreaming with Content-Type removed late promise_test: Unhandled rejection with value: object "TypeError: WebAssembly[method] is not a function. (In 'WebAssembly[method](argument)', 'WebAssembly[method]' is undefined)" 2 PASS compileStreaming with Content-Type set late 3 PASS compileStreaming with Content-Type removed late 4 PASS instantiateStreaming with Content-Type set late 5 PASS instantiateStreaming with Content-Type removed late 6 6 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/origin.sub.any-expected.txt
r269866 r271993 1 1 2 FAIL Opaque response: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 3 FAIL Opaque redirect response: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 4 FAIL Opaque response: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 5 FAIL Opaque redirect response: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 2 PASS Opaque response: compileStreaming 3 PASS Opaque redirect response: compileStreaming 4 PASS Opaque response: instantiateStreaming 5 PASS Opaque redirect response: instantiateStreaming 6 6 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/origin.sub.any.worker-expected.txt
r269866 r271993 1 1 2 FAIL Opaque response: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 3 FAIL Opaque redirect response: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 4 FAIL Opaque response: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 5 FAIL Opaque redirect response: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 2 PASS Opaque response: compileStreaming 3 PASS Opaque redirect response: compileStreaming 4 PASS Opaque response: instantiateStreaming 5 PASS Opaque redirect response: instantiateStreaming 6 6 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/rejected-arg.any-expected.txt
r269866 r271993 1 1 2 FAIL compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](promise)', 'WebAssembly[method]' is undefined) 3 FAIL instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](promise)', 'WebAssembly[method]' is undefined) 2 PASS compileStreaming 3 PASS instantiateStreaming 4 4 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/rejected-arg.any.worker-expected.txt
r269866 r271993 1 1 2 FAIL compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](promise)', 'WebAssembly[method]' is undefined) 3 FAIL instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](promise)', 'WebAssembly[method]' is undefined) 2 PASS compileStreaming 3 PASS instantiateStreaming 4 4 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/status.any-expected.txt
r269866 r271993 1 1 2 FAIL Response with status 0: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 3 FAIL Response with status 300: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 4 FAIL Response with status 400: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 5 FAIL Response with status 404: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 6 FAIL Response with status 500: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 7 FAIL Response with status 600: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 8 FAIL Response with status 700: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 9 FAIL Response with status 999: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 10 FAIL Response with status 0: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 11 FAIL Response with status 300: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 12 FAIL Response with status 400: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 13 FAIL Response with status 404: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 14 FAIL Response with status 500: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 15 FAIL Response with status 600: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 16 FAIL Response with status 700: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 17 FAIL Response with status 999: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 2 PASS Response with status 0: compileStreaming 3 PASS Response with status 300: compileStreaming 4 PASS Response with status 400: compileStreaming 5 PASS Response with status 404: compileStreaming 6 PASS Response with status 500: compileStreaming 7 PASS Response with status 600: compileStreaming 8 PASS Response with status 700: compileStreaming 9 PASS Response with status 999: compileStreaming 10 PASS Response with status 0: instantiateStreaming 11 PASS Response with status 300: instantiateStreaming 12 PASS Response with status 400: instantiateStreaming 13 PASS Response with status 404: instantiateStreaming 14 PASS Response with status 500: instantiateStreaming 15 PASS Response with status 600: instantiateStreaming 16 PASS Response with status 700: instantiateStreaming 17 PASS Response with status 999: instantiateStreaming 18 18 -
trunk/LayoutTests/imported/w3c/web-platform-tests/wasm/webapi/status.any.worker-expected.txt
r269866 r271993 1 1 2 FAIL Response with status 0: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 3 FAIL Response with status 300: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 4 FAIL Response with status 400: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 5 FAIL Response with status 404: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 6 FAIL Response with status 500: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 7 FAIL Response with status 600: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 8 FAIL Response with status 700: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 9 FAIL Response with status 999: compileStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 10 FAIL Response with status 0: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 11 FAIL Response with status 300: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 12 FAIL Response with status 400: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 13 FAIL Response with status 404: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 14 FAIL Response with status 500: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 15 FAIL Response with status 600: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 16 FAIL Response with status 700: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 17 FAIL Response with status 999: instantiateStreaming WebAssembly[method] is not a function. (In 'WebAssembly[method](response)', 'WebAssembly[method]' is undefined) 2 PASS Response with status 0: compileStreaming 3 PASS Response with status 300: compileStreaming 4 PASS Response with status 400: compileStreaming 5 PASS Response with status 404: compileStreaming 6 PASS Response with status 500: compileStreaming 7 PASS Response with status 600: compileStreaming 8 PASS Response with status 700: compileStreaming 9 PASS Response with status 999: compileStreaming 10 PASS Response with status 0: instantiateStreaming 11 PASS Response with status 300: instantiateStreaming 12 PASS Response with status 400: instantiateStreaming 13 PASS Response with status 404: instantiateStreaming 14 PASS Response with status 500: instantiateStreaming 15 PASS Response with status 600: instantiateStreaming 16 PASS Response with status 700: instantiateStreaming 17 PASS Response with status 999: instantiateStreaming 18 18 -
trunk/Source/JavaScriptCore/CMakeLists.txt
r271942 r271993 1104 1104 wasm/WasmNameSection.h 1105 1105 wasm/WasmPageCount.h 1106 wasm/WasmSections.h 1106 1107 wasm/WasmSignature.h 1108 wasm/WasmStreamingCompiler.h 1109 wasm/WasmStreamingParser.h 1107 1110 wasm/WasmTierUpCount.h 1108 1111 -
trunk/Source/JavaScriptCore/ChangeLog
r271987 r271993 1 2021-01-27 Yusuke Suzuki <ysuzuki@apple.com> 2 3 WebAssembly: add support for stream APIs 4 https://bugs.webkit.org/show_bug.cgi?id=173105 5 6 Reviewed by Keith Miller. 7 8 This patch implements WebAssembly.{compileStreaming,instantiateStreaming}. JavaScriptCore offers Wasm::StreamingCompiler interface to WebCore, 9 so that WebCore can feed FetchResponse and compile wasm code in a streaming fashion. 10 11 Wasm::StreamingCompiler drives Wasm::LLIntPlan while it does not use Wasm::Worklist since currently Wasm::Worklist is not suitable abstraction for 12 streaming compilation which generates compilation tasks incrementally. Instead, Wasm::StreamingCompiler generates Wasm::StreamingPlan and enqueues 13 them to Wasm::Worklist, and each StreamingPlan compiles one function at a time. And we gather these compiled functions into the one LLIntPlan and 14 finally Wasm::StreamingCompiler completes Wasm::LLIntPlan. 15 16 We already have Wasm::StreamingParser, which is designed for streaming compilation. We can pass bytes to this parser, and this parser invokes a callback 17 when a new wasm function is found. Then, Wasm::StreamingCompiler generates Wasm::StreamingPlan for that. 18 19 We add WasmStreamingCompiler JS objects to JSC shell to test streaming compilation easily. 20 21 * CMakeLists.txt: 22 * JavaScriptCore.xcodeproj/project.pbxproj: 23 * Sources.txt: 24 * builtins/WebAssembly.js: 25 (compileStreaming): 26 (instantiateStreaming): 27 * runtime/DeferredWorkTimer.cpp: 28 (JSC::DeferredWorkTimer::cancelPendingWork): 29 * runtime/DeferredWorkTimer.h: 30 * runtime/JSGlobalObject.cpp: 31 (JSC::JSGlobalObject::init): 32 * runtime/JSGlobalObject.h: 33 * runtime/OptionsList.h: 34 * tools/JSDollarVM.cpp: 35 (JSC::JSC_DEFINE_HOST_FUNCTION): 36 (JSC::JSDollarVM::finishCreation): 37 * wasm/WasmBBQPlan.cpp: 38 (JSC::Wasm::BBQPlan::BBQPlan): 39 * wasm/WasmBBQPlan.h: 40 * wasm/WasmCodeBlock.cpp: 41 (JSC::Wasm::CodeBlock::CodeBlock): 42 * wasm/WasmEntryPlan.cpp: 43 (JSC::Wasm::EntryPlan::EntryPlan): 44 * wasm/WasmEntryPlan.h: 45 * wasm/WasmLLIntPlan.cpp: 46 (JSC::Wasm::LLIntPlan::LLIntPlan): 47 (JSC::Wasm::LLIntPlan::didCompleteCompilation): 48 (JSC::Wasm::LLIntPlan::completeInStreaming): 49 (JSC::Wasm::LLIntPlan::didCompileFunctionInStreaming): 50 (JSC::Wasm::LLIntPlan::didFailInStreaming): 51 * wasm/WasmLLIntPlan.h: 52 * wasm/WasmModule.cpp: 53 (JSC::Wasm::Module::validateSync): 54 (JSC::Wasm::Module::validateAsync): 55 * wasm/WasmStreamingCompiler.cpp: Added. 56 (JSC::Wasm::StreamingCompiler::StreamingCompiler): 57 (JSC::Wasm::StreamingCompiler::~StreamingCompiler): 58 (JSC::Wasm::StreamingCompiler::create): 59 (JSC::Wasm::StreamingCompiler::didReceiveFunctionData): 60 (JSC::Wasm::StreamingCompiler::didCompileFunction): 61 (JSC::Wasm::StreamingCompiler::didFinishParsing): 62 (JSC::Wasm::StreamingCompiler::completeIfNecessary): 63 (JSC::Wasm::StreamingCompiler::didComplete): 64 (JSC::Wasm::StreamingCompiler::finalize): 65 (JSC::Wasm::StreamingCompiler::fail): 66 (JSC::Wasm::StreamingCompiler::cancel): 67 * wasm/WasmStreamingCompiler.h: Added. 68 * wasm/WasmStreamingParser.cpp: 69 * wasm/WasmStreamingParser.h: 70 * wasm/WasmStreamingPlan.cpp: Copied from Source/JavaScriptCore/builtins/WebAssembly.js. 71 (JSC::Wasm::StreamingPlan::StreamingPlan): 72 (JSC::Wasm::StreamingPlan::work): 73 * wasm/WasmStreamingPlan.h: Copied from Source/JavaScriptCore/wasm/js/JSWebAssembly.h. 74 * wasm/js/JSWebAssembly.cpp: 75 (JSC::JSWebAssembly::finishCreation): 76 (JSC::JSWebAssembly::instantiateForStreaming): 77 (JSC::JSC_DEFINE_HOST_FUNCTION): 78 * wasm/js/JSWebAssembly.h: 79 1 80 2021-01-27 Yusuke Suzuki <ysuzuki@apple.com> 2 81 -
trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
r271942 r271993 1117 1117 53EE01B8218F7EFF00AD1F8D /* JSScriptInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EE01B7218F7EFF00AD1F8D /* JSScriptInternal.h */; }; 1118 1118 53F11F41209138D700E411A7 /* JSImmutableButterfly.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F11F40209138D700E411A7 /* JSImmutableButterfly.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1119 53F40E851D58F9770099A1B6 /* WasmSections.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F40E841D58F9770099A1B6 /* WasmSections.h */; };1119 53F40E851D58F9770099A1B6 /* WasmSections.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F40E841D58F9770099A1B6 /* WasmSections.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1120 1120 53F40E8B1D5901BB0099A1B6 /* WasmFunctionParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F40E8A1D5901BB0099A1B6 /* WasmFunctionParser.h */; }; 1121 1121 53F40E8D1D5901F20099A1B6 /* WasmParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F40E8C1D5901F20099A1B6 /* WasmParser.h */; }; … … 1827 1827 E33A94962255323000D42B06 /* RandomizingFuzzerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = E33A94942255322900D42B06 /* RandomizingFuzzerAgent.h */; }; 1828 1828 E33A94972255323300D42B06 /* FuzzerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = E33A94922255322900D42B06 /* FuzzerAgent.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1829 E33BBE0925BFA0410053690F /* WasmStreamingCompiler.h in Headers */ = {isa = PBXBuildFile; fileRef = E33BBE0825BFA03C0053690F /* WasmStreamingCompiler.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1829 1830 E33E8D1D1B9013C300346B52 /* JSNativeStdFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = E33E8D1B1B9013C300346B52 /* JSNativeStdFunction.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1830 1831 E33F50751B8421C000413856 /* JSInternalPromisePrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = E33F50731B8421C000413856 /* JSInternalPromisePrototype.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 1874 1875 E39EEAF322812450008474F4 /* CachedSpecialPropertyAdaptiveStructureWatchpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = E39EEAF22281244C008474F4 /* CachedSpecialPropertyAdaptiveStructureWatchpoint.h */; }; 1875 1876 E39FEBE32339C5D900B40AB0 /* JSAsyncGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = E39FEBE22339C5D400B40AB0 /* JSAsyncGenerator.h */; }; 1876 E3A0531A21342B680022EC14 /* WasmStreamingParser.h in Headers */ = {isa = PBXBuildFile; fileRef = E3A0531621342B660022EC14 /* WasmStreamingParser.h */; };1877 E3A0531A21342B680022EC14 /* WasmStreamingParser.h in Headers */ = {isa = PBXBuildFile; fileRef = E3A0531621342B660022EC14 /* WasmStreamingParser.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1877 1878 E3A0531C21342B680022EC14 /* WasmSectionParser.h in Headers */ = {isa = PBXBuildFile; fileRef = E3A0531821342B670022EC14 /* WasmSectionParser.h */; }; 1878 1879 E3A32BC71FC83147007D7E76 /* WeakMapImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = E3A32BC61FC8312E007D7E76 /* WeakMapImpl.h */; }; … … 1888 1889 E3C295DD1ED2CBDA00D3016F /* ObjectPropertyChangeAdaptiveWatchpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = E3C295DC1ED2CBAA00D3016F /* ObjectPropertyChangeAdaptiveWatchpoint.h */; }; 1889 1890 E3C694B323026877006FBE42 /* WasmOSREntryData.h in Headers */ = {isa = PBXBuildFile; fileRef = E3C694B123026873006FBE42 /* WasmOSREntryData.h */; }; 1891 E3C73A9125BFA73B00EFE303 /* WasmStreamingPlan.h in Headers */ = {isa = PBXBuildFile; fileRef = E3C73A9025BFA73400EFE303 /* WasmStreamingPlan.h */; }; 1890 1892 E3C79CAB1DB9A4DC00D1ECA4 /* DOMJITEffect.h in Headers */ = {isa = PBXBuildFile; fileRef = E3C79CAA1DB9A4D600D1ECA4 /* DOMJITEffect.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1891 1893 E3C8ED4323A1DBCB00131958 /* IsoInlinedHeapCellType.h in Headers */ = {isa = PBXBuildFile; fileRef = E3C8ED4223A1DBC500131958 /* IsoInlinedHeapCellType.h */; }; … … 5022 5024 E33A94942255322900D42B06 /* RandomizingFuzzerAgent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RandomizingFuzzerAgent.h; sourceTree = "<group>"; }; 5023 5025 E33A94952255322A00D42B06 /* FuzzerAgent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FuzzerAgent.cpp; sourceTree = "<group>"; }; 5026 E33BBE0725BFA03C0053690F /* WasmStreamingCompiler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WasmStreamingCompiler.cpp; sourceTree = "<group>"; }; 5027 E33BBE0825BFA03C0053690F /* WasmStreamingCompiler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WasmStreamingCompiler.h; sourceTree = "<group>"; }; 5024 5028 E33E8D1A1B9013C300346B52 /* JSNativeStdFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSNativeStdFunction.cpp; sourceTree = "<group>"; }; 5025 5029 E33E8D1B1B9013C300346B52 /* JSNativeStdFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSNativeStdFunction.h; sourceTree = "<group>"; }; … … 5122 5126 E3C694B123026873006FBE42 /* WasmOSREntryData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WasmOSREntryData.h; sourceTree = "<group>"; }; 5123 5127 E3C694B223026874006FBE42 /* WasmTierUpCount.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WasmTierUpCount.cpp; sourceTree = "<group>"; }; 5128 E3C73A8F25BFA73400EFE303 /* WasmStreamingPlan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WasmStreamingPlan.cpp; sourceTree = "<group>"; }; 5129 E3C73A9025BFA73400EFE303 /* WasmStreamingPlan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WasmStreamingPlan.h; sourceTree = "<group>"; }; 5124 5130 E3C79CAA1DB9A4D600D1ECA4 /* DOMJITEffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMJITEffect.h; sourceTree = "<group>"; }; 5125 5131 E3C8ED4123A1DBC400131958 /* IsoHeapCellType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IsoHeapCellType.cpp; sourceTree = "<group>"; }; … … 7001 7007 14AB0C92231747B7000250BC /* WasmSlowPaths.cpp */, 7002 7008 14AB0C93231747B7000250BC /* WasmSlowPaths.h */, 7009 E33BBE0725BFA03C0053690F /* WasmStreamingCompiler.cpp */, 7010 E33BBE0825BFA03C0053690F /* WasmStreamingCompiler.h */, 7003 7011 E3A0531921342B670022EC14 /* WasmStreamingParser.cpp */, 7004 7012 E3A0531621342B660022EC14 /* WasmStreamingParser.h */, 7013 E3C73A8F25BFA73400EFE303 /* WasmStreamingPlan.cpp */, 7014 E3C73A9025BFA73400EFE303 /* WasmStreamingPlan.h */, 7005 7015 AD5C36E31F69EC8B000BCAAF /* WasmTable.cpp */, 7006 7016 AD5C36E41F69EC8B000BCAAF /* WasmTable.h */, … … 10556 10566 AD7438C01E0457A400FD0C2A /* WasmSignature.h in Headers */, 10557 10567 4BAA07CEB81F49A296E02203 /* WasmSignatureInlines.h in Headers */, 10568 E33BBE0925BFA0410053690F /* WasmStreamingCompiler.h in Headers */, 10558 10569 E3A0531A21342B680022EC14 /* WasmStreamingParser.h in Headers */, 10570 E3C73A9125BFA73B00EFE303 /* WasmStreamingPlan.h in Headers */, 10559 10571 AD5C36E61F69EC91000BCAAF /* WasmTable.h in Headers */, 10560 10572 5250D2D21E8DA05A0029A932 /* WasmThunks.h in Headers */, -
trunk/Source/JavaScriptCore/Sources.txt
r271942 r271993 1073 1073 wasm/WasmSignature.cpp 1074 1074 wasm/WasmSlowPaths.cpp 1075 wasm/WasmStreamingCompiler.cpp 1075 1076 wasm/WasmStreamingParser.cpp 1077 wasm/WasmStreamingPlan.cpp 1076 1078 wasm/WasmTable.cpp 1077 1079 wasm/WasmThunks.cpp -
trunk/Source/JavaScriptCore/builtins/WebAssembly.js
r247457 r271993 24 24 */ 25 25 26 function compileStreaming( argument) {26 function compileStreaming(source) { 27 27 "use strict"; 28 28 29 return @Promise.@resolve( argument).@then(@webAssemblyCompileStreamingInternal);29 return @Promise.@resolve(source).@then(@webAssemblyCompileStreamingInternal); 30 30 } 31 31 32 function instantiateStreaming( argument) {32 function instantiateStreaming(source) { 33 33 "use strict"; 34 34 35 return @Promise.@resolve(argument).@then(@webAssemblyInstantiateStreamingInternal); 35 var importObject = @argument(1); 36 return @Promise.@resolve(source).@then((source) => { 37 return @webAssemblyInstantiateStreamingInternal(source, importObject); 38 }); 36 39 } 37 40 -
trunk/Source/JavaScriptCore/runtime/DeferredWorkTimer.cpp
r271781 r271993 161 161 } 162 162 163 bool DeferredWorkTimer::cancelPendingWork(Ticket ticket) 164 { 165 ASSERT(ticket->vm().currentThreadIsHoldingAPILock() || (Thread::mayBeGCThread() && ticket->vm().heap.worldIsStopped())); 166 bool result = m_pendingTickets.remove(ticket); 167 168 if (result) 169 dataLogLnIf(DeferredWorkTimerInternal::verbose, "Canceling ticket: ", RawPointer(ticket)); 170 171 return result; 172 } 173 163 174 void DeferredWorkTimer::didResumeScriptExecutionOwner() 164 175 { -
trunk/Source/JavaScriptCore/runtime/DeferredWorkTimer.h
r271781 r271993 55 55 bool hasPendingWork(Ticket); 56 56 bool hasDependancyInPendingWork(Ticket, JSCell* dependency); 57 bool cancelPendingWork(Ticket); 57 58 58 59 // If the script execution owner your ticket is associated with gets canceled -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
r271942 r271993 1326 1326 }); 1327 1327 1328 #if ENABLE(WEBASSEMBLY) && ENABLE(WEBASSEMBLY_STREAMING_API)1328 #if ENABLE(WEBASSEMBLY) 1329 1329 // WebAssembly Streaming API 1330 1330 m_linkTimeConstants[static_cast<unsigned>(LinkTimeConstant::webAssemblyCompileStreamingInternal)].initLater([] (const Initializer<JSCell>& init) { -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h
r271269 r271993 248 248 DefaultLanguageFunctionPtr defaultLanguage; 249 249 250 typedef void (*CompileStreamingPtr)(JSGlobalObject*, JSPromise*, JSValue);250 typedef JSPromise* (*CompileStreamingPtr)(JSGlobalObject*, JSValue); 251 251 CompileStreamingPtr compileStreaming; 252 252 253 typedef void (*InstantiateStreamingPtr)(JSGlobalObject*, JSPromise*, JSValue, JSObject*);253 typedef JSPromise* (*InstantiateStreamingPtr)(JSGlobalObject*, JSValue, JSObject*); 254 254 InstantiateStreamingPtr instantiateStreaming; 255 255 }; -
trunk/Source/JavaScriptCore/runtime/OptionsList.h
r271746 r271993 36 36 #else 37 37 #define MAXIMUM_NUMBER_OF_FTL_COMPILER_THREADS 8 38 #endif39 40 #if ENABLE(WEBASSEMBLY_STREAMING_API)41 constexpr bool enableWebAssemblyStreamingApi = true;42 #else43 constexpr bool enableWebAssemblyStreamingApi = false;44 38 #endif 45 39 … … 488 482 v(Bool, wasmLLIntTiersUpToBBQ, true, Normal, nullptr) \ 489 483 v(Size, webAssemblyBBQAirModeThreshold, isIOS() ? (10 * MB) : 0, Normal, "If 0, we always use BBQ Air. If Wasm module code size hits this threshold, we compile Wasm module with B3 BBQ mode.") \ 490 v(Bool, useWebAssemblyStreaming Api, enableWebAssemblyStreamingApi, Normal, "Allow to run WebAssembly's Streaming API") \484 v(Bool, useWebAssemblyStreaming, true, Normal, "Allow to run WebAssembly's Streaming API") \ 491 485 v(Bool, useEagerWebAssemblyModuleHashing, false, Normal, "Unnamed WebAssembly modules are identified in backtraces through their hash, if available.") \ 492 486 v(Bool, useWebAssemblyReferences, false, Normal, "Allow types from the wasm references spec.") \ -
trunk/Source/JavaScriptCore/tools/JSDollarVM.cpp
r271422 r271993 62 62 #if ENABLE(WEBASSEMBLY) 63 63 #include "JSWebAssemblyHelpers.h" 64 #include "WasmModuleInformation.h" 65 #include "WasmStreamingCompiler.h" 64 66 #include "WasmStreamingParser.h" 65 67 #endif … … 1771 1773 return JSValue::encode(jsBoolean(false)); 1772 1774 return JSValue::encode(jsNumber(static_cast<int32_t>(thisObject->streamingParser().finalize()))); 1775 } 1776 1777 static JSC_DECLARE_HOST_FUNCTION(functionWasmStreamingCompilerAddBytes); 1778 1779 class WasmStreamingCompiler : public JSDestructibleObject { 1780 public: 1781 using Base = JSDestructibleObject; 1782 template<typename CellType, SubspaceAccess> 1783 static CompleteSubspace* subspaceFor(VM& vm) 1784 { 1785 return &vm.destructibleObjectSpace; 1786 } 1787 1788 WasmStreamingCompiler(VM& vm, Structure* structure, Wasm::CompilerMode compilerMode, JSGlobalObject* globalObject, JSPromise* promise, JSObject* importObject) 1789 : Base(vm, structure) 1790 , m_promise(vm, this, promise) 1791 , m_streamingCompiler(Wasm::StreamingCompiler::create(vm, compilerMode, globalObject, promise, importObject)) 1792 { 1793 DollarVMAssertScope assertScope; 1794 } 1795 1796 static WasmStreamingCompiler* create(VM& vm, JSGlobalObject* globalObject, Wasm::CompilerMode compilerMode, JSObject* importObject) 1797 { 1798 DollarVMAssertScope assertScope; 1799 JSPromise* promise = JSPromise::create(vm, globalObject->promiseStructure()); 1800 Structure* structure = createStructure(vm, globalObject, jsNull()); 1801 WasmStreamingCompiler* result = new (NotNull, allocateCell<WasmStreamingCompiler>(vm.heap)) WasmStreamingCompiler(vm, structure, compilerMode, globalObject, promise, importObject); 1802 result->finishCreation(vm); 1803 return result; 1804 } 1805 1806 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype) 1807 { 1808 DollarVMAssertScope assertScope; 1809 return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info()); 1810 } 1811 1812 Wasm::StreamingCompiler& streamingCompiler() { return m_streamingCompiler.get(); } 1813 1814 JSPromise* promise() const { return m_promise.get(); } 1815 1816 void finishCreation(VM& vm) 1817 { 1818 DollarVMAssertScope assertScope; 1819 Base::finishCreation(vm); 1820 1821 JSGlobalObject* globalObject = this->globalObject(vm); 1822 putDirectNativeFunction(vm, globalObject, Identifier::fromString(vm, "addBytes"), 0, functionWasmStreamingCompilerAddBytes, NoIntrinsic, static_cast<unsigned>(PropertyAttribute::DontEnum)); 1823 } 1824 1825 static void visitChildren(JSCell* cell, SlotVisitor& visitor) 1826 { 1827 DollarVMAssertScope assertScope; 1828 auto* thisObject = jsCast<WasmStreamingCompiler*>(cell); 1829 ASSERT_GC_OBJECT_INHERITS(thisObject, info()); 1830 Base::visitChildren(thisObject, visitor); 1831 visitor.append(thisObject->m_promise); 1832 } 1833 1834 DECLARE_INFO; 1835 1836 WriteBarrier<JSPromise> m_promise; 1837 Ref<Wasm::StreamingCompiler> m_streamingCompiler; 1838 }; 1839 1840 const ClassInfo WasmStreamingCompiler::s_info = { "WasmStreamingCompiler", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(WasmStreamingCompiler) }; 1841 1842 JSC_DEFINE_HOST_FUNCTION(functionWasmStreamingCompilerAddBytes, (JSGlobalObject* globalObject, CallFrame* callFrame)) 1843 { 1844 DollarVMAssertScope assertScope; 1845 VM& vm = globalObject->vm(); 1846 auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); 1847 1848 auto* thisObject = jsDynamicCast<WasmStreamingCompiler*>(vm, callFrame->thisValue()); 1849 if (!thisObject) 1850 RELEASE_AND_RETURN(scope, JSValue::encode(jsBoolean(false))); 1851 1852 auto data = getWasmBufferFromValue(globalObject, callFrame->argument(0)); 1853 RETURN_IF_EXCEPTION(scope, { }); 1854 thisObject->streamingCompiler().addBytes(bitwise_cast<const uint8_t*>(data.first), data.second); 1855 return JSValue::encode(jsUndefined()); 1773 1856 } 1774 1857 … … 1828 1911 #if ENABLE(WEBASSEMBLY) 1829 1912 static JSC_DECLARE_HOST_FUNCTION(functionCreateWasmStreamingParser); 1913 static JSC_DECLARE_HOST_FUNCTION(functionCreateWasmStreamingCompilerForCompile); 1914 static JSC_DECLARE_HOST_FUNCTION(functionCreateWasmStreamingCompilerForInstantiate); 1830 1915 #endif 1831 1916 static JSC_DECLARE_HOST_FUNCTION(functionCreateStaticCustomAccessor); … … 2729 2814 return JSValue::encode(WasmStreamingParser::create(vm, globalObject)); 2730 2815 } 2816 2817 JSC_DEFINE_HOST_FUNCTION(functionCreateWasmStreamingCompilerForCompile, (JSGlobalObject* globalObject, CallFrame* callFrame)) 2818 { 2819 DollarVMAssertScope assertScope; 2820 VM& vm = globalObject->vm(); 2821 JSLockHolder lock(vm); 2822 auto scope = DECLARE_THROW_SCOPE(vm); 2823 2824 auto callback = jsDynamicCast<JSFunction*>(vm, callFrame->argument(0)); 2825 if (!callback) 2826 return throwVMTypeError(globalObject, scope, "First argument is not a JS function"_s); 2827 2828 auto compiler = WasmStreamingCompiler::create(vm, globalObject, Wasm::CompilerMode::Validation, nullptr); 2829 MarkedArgumentBuffer args; 2830 args.append(compiler); 2831 call(globalObject, callback, jsUndefined(), args, "You shouldn't see this..."); 2832 if (UNLIKELY(scope.exception())) 2833 scope.clearException(); 2834 compiler->streamingCompiler().finalize(globalObject); 2835 RETURN_IF_EXCEPTION(scope, { }); 2836 return JSValue::encode(compiler->promise()); 2837 } 2838 2839 JSC_DEFINE_HOST_FUNCTION(functionCreateWasmStreamingCompilerForInstantiate, (JSGlobalObject* globalObject, CallFrame* callFrame)) 2840 { 2841 DollarVMAssertScope assertScope; 2842 VM& vm = globalObject->vm(); 2843 JSLockHolder lock(vm); 2844 auto scope = DECLARE_THROW_SCOPE(vm); 2845 2846 auto callback = jsDynamicCast<JSFunction*>(vm, callFrame->argument(0)); 2847 if (!callback) 2848 return throwVMTypeError(globalObject, scope, "First argument is not a JS function"_s); 2849 2850 JSValue importArgument = callFrame->argument(1); 2851 JSObject* importObject = importArgument.getObject(); 2852 if (UNLIKELY(!importArgument.isUndefined() && !importObject)) 2853 return throwVMTypeError(globalObject, scope); 2854 2855 auto compiler = WasmStreamingCompiler::create(vm, globalObject, Wasm::CompilerMode::FullCompile, importObject); 2856 MarkedArgumentBuffer args; 2857 args.append(compiler); 2858 call(globalObject, callback, jsUndefined(), args, "You shouldn't see this..."); 2859 if (UNLIKELY(scope.exception())) 2860 scope.clearException(); 2861 compiler->streamingCompiler().finalize(globalObject); 2862 RETURN_IF_EXCEPTION(scope, { }); 2863 return JSValue::encode(compiler->promise()); 2864 } 2731 2865 #endif 2732 2866 … … 3477 3611 #if ENABLE(WEBASSEMBLY) 3478 3612 addFunction(vm, "createWasmStreamingParser", functionCreateWasmStreamingParser, 0); 3613 addFunction(vm, "createWasmStreamingCompilerForCompile", functionCreateWasmStreamingCompilerForCompile, 0); 3614 addFunction(vm, "createWasmStreamingCompilerForInstantiate", functionCreateWasmStreamingCompilerForInstantiate, 0); 3479 3615 #endif 3480 3616 addFunction(vm, "createStaticCustomAccessor", functionCreateStaticCustomAccessor, 0); -
trunk/Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
r271775 r271993 49 49 50 50 BBQPlan::BBQPlan(Context* context, Ref<ModuleInformation> moduleInformation, uint32_t functionIndex, CodeBlock* codeBlock, CompletionTask&& completionTask) 51 : EntryPlan(context, WTFMove(moduleInformation), AsyncWork::FullCompile, WTFMove(completionTask))51 : EntryPlan(context, WTFMove(moduleInformation), CompilerMode::FullCompile, WTFMove(completionTask)) 52 52 , m_codeBlock(codeBlock) 53 53 , m_functionIndex(functionIndex) -
trunk/Source/JavaScriptCore/wasm/WasmBBQPlan.h
r271775 r271993 59 59 bool hasWork() const final 60 60 { 61 if (m_ asyncWork == AsyncWork::Validation)61 if (m_compilerMode == CompilerMode::Validation) 62 62 return m_state < State::Validated; 63 63 return m_state < State::Compiled; -
trunk/Source/JavaScriptCore/wasm/WasmCodeBlock.cpp
r271775 r271993 77 77 #if ENABLE(WEBASSEMBLY_B3JIT) 78 78 else { 79 m_plan = adoptRef(*new BBQPlan(context, makeRef(moduleInformation), EntryPlan::FullCompile, createSharedTask<Plan::CallbackType>([this, protectedThis = WTFMove(protectedThis)] (Plan&) {79 m_plan = adoptRef(*new BBQPlan(context, makeRef(moduleInformation), CompilerMode::FullCompile, createSharedTask<Plan::CallbackType>([this, protectedThis = WTFMove(protectedThis)] (Plan&) { 80 80 auto locker = holdLock(m_lock); 81 81 if (m_plan->failed()) { -
trunk/Source/JavaScriptCore/wasm/WasmEntryPlan.cpp
r270344 r271993 42 42 } 43 43 44 EntryPlan::EntryPlan(Context* context, Ref<ModuleInformation> info, AsyncWork work, CompletionTask&& task)44 EntryPlan::EntryPlan(Context* context, Ref<ModuleInformation> info, CompilerMode compilerMode, CompletionTask&& task) 45 45 : Base(context, WTFMove(info), WTFMove(task)) 46 46 , m_streamingParser(m_moduleInformation.get(), *this) 47 47 , m_state(State::Validated) 48 , m_ asyncWork(work)49 { 50 } 51 52 EntryPlan::EntryPlan(Context* context, Vector<uint8_t>&& source, AsyncWork work, CompletionTask&& task)48 , m_compilerMode(compilerMode) 49 { 50 } 51 52 EntryPlan::EntryPlan(Context* context, Vector<uint8_t>&& source, CompilerMode compilerMode, CompletionTask&& task) 53 53 : Base(context, WTFMove(task)) 54 54 , m_source(WTFMove(source)) 55 55 , m_streamingParser(m_moduleInformation.get(), *this) 56 56 , m_state(State::Initial) 57 , m_ asyncWork(work)57 , m_compilerMode(compilerMode) 58 58 { 59 59 } -
trunk/Source/JavaScriptCore/wasm/WasmEntryPlan.h
r264488 r271993 45 45 public: 46 46 using Base = Plan; 47 enum AsyncWork : uint8_t { FullCompile, Validation };48 47 49 48 // Note: CompletionTask should not hold a reference to the Plan otherwise there will be a reference cycle. 50 EntryPlan(Context*, Ref<ModuleInformation>, AsyncWork, CompletionTask&&);51 JS_EXPORT_PRIVATE EntryPlan(Context*, Vector<uint8_t>&&, AsyncWork, CompletionTask&&);49 EntryPlan(Context*, Ref<ModuleInformation>, CompilerMode, CompletionTask&&); 50 JS_EXPORT_PRIVATE EntryPlan(Context*, Vector<uint8_t>&&, CompilerMode, CompletionTask&&); 52 51 53 52 ~EntryPlan() override = default; … … 122 121 State m_state; 123 122 124 const AsyncWork m_asyncWork;123 const CompilerMode m_compilerMode; 125 124 uint8_t m_numberOfActiveThreads { 0 }; 126 125 uint32_t m_currentIndex { 0 }; -
trunk/Source/JavaScriptCore/wasm/WasmLLIntPlan.cpp
r271775 r271993 42 42 namespace JSC { namespace Wasm { 43 43 44 LLIntPlan::LLIntPlan(Context* context, Vector<uint8_t>&& source, AsyncWork work, CompletionTask&& task)45 : Base(context, WTFMove(source), work, WTFMove(task))44 LLIntPlan::LLIntPlan(Context* context, Vector<uint8_t>&& source, CompilerMode compilerMode, CompletionTask&& task) 45 : Base(context, WTFMove(source), compilerMode, WTFMove(task)) 46 46 { 47 47 if (parseAndValidateModule(m_source.data(), m_source.size())) … … 50 50 51 51 LLIntPlan::LLIntPlan(Context* context, Ref<ModuleInformation> info, const Ref<LLIntCallee>* callees, CompletionTask&& task) 52 : Base(context, WTFMove(info), AsyncWork::FullCompile, WTFMove(task))52 : Base(context, WTFMove(info), CompilerMode::FullCompile, WTFMove(task)) 53 53 , m_callees(callees) 54 54 { 55 55 ASSERT(m_callees || !m_moduleInformation->functions.size()); 56 prepare(); 57 m_currentIndex = m_moduleInformation->functions.size(); 58 } 59 60 LLIntPlan::LLIntPlan(Context* context, Ref<ModuleInformation> info, CompilerMode compilerMode, CompletionTask&& task) 61 : Base(context, WTFMove(info), compilerMode, WTFMove(task)) 62 { 56 63 prepare(); 57 64 m_currentIndex = m_moduleInformation->functions.size(); … … 136 143 } 137 144 138 if (m_ asyncWork == AsyncWork::Validation)145 if (m_compilerMode == CompilerMode::Validation) 139 146 return; 140 147 … … 183 190 } 184 191 192 void LLIntPlan::completeInStreaming() 193 { 194 complete(holdLock(m_lock)); 195 } 196 197 void LLIntPlan::didCompileFunctionInStreaming() 198 { 199 auto locker = holdLock(m_lock); 200 moveToState(EntryPlan::State::Compiled); 201 } 202 203 void LLIntPlan::didFailInStreaming(String&& message) 204 { 205 auto locker = holdLock(m_lock); 206 if (!m_errorMessage) 207 fail(locker, WTFMove(message)); 208 } 209 185 210 void LLIntPlan::work(CompilationEffort effort) 186 211 { -
trunk/Source/JavaScriptCore/wasm/WasmLLIntPlan.h
r271594 r271993 39 39 class LLIntCallee; 40 40 class EmbedderEntrypointCallee; 41 class StreamingCompiler; 41 42 42 43 using EmbedderEntrypointCalleeMap = HashMap<uint32_t, RefPtr<EmbedderEntrypointCallee>, DefaultHash<uint32_t>, WTF::UnsignedWithZeroKeyHashTraits<uint32_t>>; … … 46 47 47 48 public: 48 JS_EXPORT_PRIVATE LLIntPlan(Context*, Vector<uint8_t>&&, AsyncWork, CompletionTask&&);49 JS_EXPORT_PRIVATE LLIntPlan(Context*, Vector<uint8_t>&&, CompilerMode, CompletionTask&&); 49 50 LLIntPlan(Context*, Ref<ModuleInformation>, const Ref<LLIntCallee>*, CompletionTask&&); 51 LLIntPlan(Context*, Ref<ModuleInformation>, CompilerMode, CompletionTask&&); // For StreamingCompiler. 50 52 51 53 MacroAssemblerCodeRef<JITCompilationPtrTag>&& takeEntryThunks() … … 76 78 bool didReceiveFunctionData(unsigned, const FunctionData&) final; 77 79 80 void compileFunction(uint32_t functionIndex) final; 81 82 void completeInStreaming(); 83 void didCompileFunctionInStreaming(); 84 void didFailInStreaming(String&&); 85 78 86 private: 79 87 bool prepareImpl() final; 80 void compileFunction(uint32_t functionIndex) final;81 88 void didCompleteCompilation(const AbstractLocker&) final; 82 89 -
trunk/Source/JavaScriptCore/wasm/WasmModule.cpp
r261755 r271993 67 67 Module::ValidationResult Module::validateSync(Context* context, Vector<uint8_t>&& source) 68 68 { 69 Ref<LLIntPlan> plan = adoptRef(*new LLIntPlan(context, WTFMove(source), EntryPlan::Validation, Plan::dontFinalize()));69 Ref<LLIntPlan> plan = adoptRef(*new LLIntPlan(context, WTFMove(source), CompilerMode::Validation, Plan::dontFinalize())); 70 70 Wasm::ensureWorklist().enqueue(plan.get()); 71 71 plan->waitForCompletion(); … … 75 75 void Module::validateAsync(Context* context, Vector<uint8_t>&& source, Module::AsyncValidationCallback&& callback) 76 76 { 77 Ref<Plan> plan = adoptRef(*new LLIntPlan(context, WTFMove(source), EntryPlan::Validation, makeValidationCallback(WTFMove(callback))));77 Ref<Plan> plan = adoptRef(*new LLIntPlan(context, WTFMove(source), CompilerMode::Validation, makeValidationCallback(WTFMove(callback)))); 78 78 Wasm::ensureWorklist().enqueue(WTFMove(plan)); 79 79 } -
trunk/Source/JavaScriptCore/wasm/WasmStreamingParser.cpp
r262098 r271993 29 29 #if ENABLE(WEBASSEMBLY) 30 30 31 #include "WasmModuleInformation.h" 31 32 #include "WasmOps.h" 33 #include "WasmParser.h" 32 34 #include "WasmSectionParser.h" 33 35 #include "WasmSignatureInlines.h" -
trunk/Source/JavaScriptCore/wasm/WasmStreamingParser.h
r252513 r271993 28 28 #if ENABLE(WEBASSEMBLY) 29 29 30 #include "WasmModuleInformation.h"31 #include "WasmParser.h"32 30 #include "WasmSections.h" 33 31 #include <wtf/CrossThreadCopier.h> … … 37 35 38 36 namespace JSC { namespace Wasm { 37 38 struct FunctionData; 39 struct ModuleInformation; 40 41 enum class CompilerMode : uint8_t { FullCompile, Validation }; 39 42 40 43 class StreamingParserClient { … … 87 90 static constexpr unsigned sectionIDSize = 1; 88 91 89 State addBytes(const uint8_t* bytes, size_t length, IsEndOfStream);92 JS_EXPORT_PRIVATE State addBytes(const uint8_t* bytes, size_t length, IsEndOfStream); 90 93 91 94 State parseModuleHeader(Vector<uint8_t>&&); -
trunk/Source/JavaScriptCore/wasm/WasmStreamingPlan.cpp
r271992 r271993 1 1 /* 2 * Copyright (C) 20 18 Oleksandr Skachkov <gskachkov@gmail.com>.2 * Copyright (C) 2021 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 24 24 */ 25 25 26 function compileStreaming(argument) { 27 "use strict"; 26 #include "config.h" 27 #include "WasmStreamingPlan.h" 28 28 29 return @Promise.@resolve(argument).@then(@webAssemblyCompileStreamingInternal); 29 #if ENABLE(WEBASSEMBLY) 30 31 #include "WasmCallee.h" 32 #include "WasmNameSection.h" 33 #include "WasmSignatureInlines.h" 34 #include <wtf/DataLog.h> 35 #include <wtf/Locker.h> 36 #include <wtf/StdLibExtras.h> 37 38 namespace JSC { namespace Wasm { 39 40 namespace WasmStreamingPlanInternal { 41 static constexpr bool verbose = false; 30 42 } 31 43 32 function instantiateStreaming(argument) { 33 "use strict"; 34 35 return @Promise.@resolve(argument).@then(@webAssemblyInstantiateStreamingInternal); 44 StreamingPlan::StreamingPlan(Context* context, Ref<ModuleInformation>&& info, Ref<LLIntPlan>&& plan, uint32_t functionIndex, CompletionTask&& task) 45 : Base(context, WTFMove(info), WTFMove(task)) 46 , m_plan(WTFMove(plan)) 47 , m_functionIndex(functionIndex) 48 { 49 dataLogLnIf(WasmStreamingPlanInternal::verbose, "Starting Streaming plan for ", functionIndex, " of module info: ", RawPointer(&m_moduleInformation.get())); 36 50 } 37 51 52 void StreamingPlan::work(CompilationEffort) 53 { 54 m_plan->compileFunction(m_functionIndex); 55 dataLogLnIf(WasmStreamingPlanInternal::verbose, "Finished Streaming ", m_functionIndex); 56 complete(holdLock(m_lock)); 57 } 58 59 } } // namespace JSC::Wasm 60 61 #endif // ENABLE(WEBASSEMBLY) -
trunk/Source/JavaScriptCore/wasm/WasmStreamingPlan.h
r271992 r271993 1 1 /* 2 * Copyright (C) 20 16-2019Apple Inc. All rights reserved.2 * Copyright (C) 2021 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 28 28 #if ENABLE(WEBASSEMBLY) 29 29 30 #include "JSObject.h" 31 #include "JSPromise.h" 30 #include "WasmContext.h" 31 #include "WasmModule.h" 32 #include "WasmPlan.h" 32 33 33 34 namespace JSC { 34 35 35 class JSWebAssembly final : public JSNonFinalObject { 36 class CallLinkInfo; 37 38 namespace Wasm { 39 40 class StreamingPlan final : public Plan { 36 41 public: 37 using Base = JSNonFinalObject; 38 static constexpr unsigned StructureFlags = Base::StructureFlags | HasStaticPropertyTable; 42 using Base = Plan; 39 43 40 template<typename CellType, SubspaceAccess> 41 static IsoSubspace* subspaceFor(VM& vm) 44 bool hasWork() const final { return !m_completed; } 45 void work(CompilationEffort) final; 46 bool multiThreaded() const final { return false; } 47 uint32_t functionIndex() const { return m_functionIndex; } 48 49 // Note: CompletionTask should not hold a reference to the Plan otherwise there will be a reference cycle. 50 StreamingPlan(Context*, Ref<ModuleInformation>&&, Ref<LLIntPlan>&&, uint32_t functionIndex, CompletionTask&&); 51 52 private: 53 // For some reason friendship doesn't extend to parent classes... 54 using Base::m_lock; 55 56 bool isComplete() const final { return m_completed; } 57 void complete(const AbstractLocker& locker) final 42 58 { 43 STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(JSWebAssembly, Base);44 r eturn &vm.plainObjectSpace;59 m_completed = true; 60 runCompletionTasks(locker); 45 61 } 46 62 47 static JSWebAssembly* create(VM&, JSGlobalObject*, Structure*); 48 static Structure* createStructure(VM&, JSGlobalObject*, JSValue); 49 50 DECLARE_INFO; 51 52 JS_EXPORT_PRIVATE static void webAssemblyModuleValidateAsync(JSGlobalObject*, JSPromise*, Vector<uint8_t>&&); 53 JS_EXPORT_PRIVATE static void webAssemblyModuleInstantinateAsync(JSGlobalObject*, JSPromise*, Vector<uint8_t>&&, JSObject*); 54 static JSValue instantiate(JSGlobalObject*, JSPromise*, const Identifier&, JSValue); 55 56 private: 57 JSWebAssembly(VM&, Structure*); 58 void finishCreation(VM&, JSGlobalObject*); 63 Ref<LLIntPlan> m_plan; 64 bool m_completed { false }; 65 uint32_t m_functionIndex; 59 66 }; 60 67 61 JSC_DECLARE_HOST_FUNCTION(webAssemblyCompileStreamingInternal); 62 JSC_DECLARE_HOST_FUNCTION(webAssemblyInstantiateStreamingInternal); 63 64 } // namespace JSC 68 } } // namespace JSC::Wasm 65 69 66 70 #endif // ENABLE(WEBASSEMBLY) -
trunk/Source/JavaScriptCore/wasm/js/JSWebAssembly.cpp
r271781 r271993 109 109 ASSERT(inherits(vm, info())); 110 110 JSC_TO_STRING_TAG_WITHOUT_TRANSITION(); 111 if (Options::useWebAssemblyStreamingApi()) { 112 JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION("compileStreaming", webAssemblyCompileStreamingCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); 113 JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION("instantiateStreaming", webAssemblyInstantiateStreamingCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); 111 if (Options::useWebAssemblyStreaming()) { 112 if (globalObject->globalObjectMethodTable()->compileStreaming) 113 JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION("compileStreaming", webAssemblyCompileStreamingCodeGenerator, static_cast<unsigned>(0)); 114 if (globalObject->globalObjectMethodTable()->instantiateStreaming) 115 JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION("instantiateStreaming", webAssemblyInstantiateStreamingCodeGenerator, static_cast<unsigned>(0)); 114 116 } 115 117 } … … 257 259 } 258 260 261 void JSWebAssembly::instantiateForStreaming(VM& vm, JSGlobalObject* globalObject, JSPromise* promise, JSWebAssemblyModule* module, JSObject* importObject) 262 { 263 JSC::instantiate(vm, globalObject, promise, module, importObject, JSWebAssemblyInstance::createPrivateModuleKey(), Resolve::WithModuleAndInstance, Wasm::CreationMode::FromJS); 264 } 265 259 266 void JSWebAssembly::webAssemblyModuleInstantinateAsync(JSGlobalObject* globalObject, JSPromise* promise, Vector<uint8_t>&& source, JSObject* importObject) 260 267 { … … 297 304 298 305 JSValue firstArgument = callFrame->argument(0); 299 if ( auto* module = jsDynamicCast<JSWebAssemblyModule*>(vm, firstArgument))300 instantiate(vm, globalObject, promise, module, importObject, JSWebAssemblyInstance::createPrivateModuleKey(), Resolve::WithInstance, Wasm::CreationMode::FromJS);306 if (firstArgument.inherits<JSWebAssemblyModule>(vm)) 307 instantiate(vm, globalObject, promise, jsCast<JSWebAssemblyModule*>(firstArgument), importObject, JSWebAssemblyInstance::createPrivateModuleKey(), Resolve::WithInstance, Wasm::CreationMode::FromJS); 301 308 else 302 309 compileAndInstantiate(vm, globalObject, promise, JSWebAssemblyInstance::createPrivateModuleKey(), firstArgument, importObject, Resolve::WithModuleAndInstance, Wasm::CreationMode::FromJS); … … 320 327 JSC_DEFINE_HOST_FUNCTION(webAssemblyCompileStreamingInternal, (JSGlobalObject* globalObject, CallFrame* callFrame)) 321 328 { 322 VM& vm = globalObject->vm(); 323 324 auto* promise = JSPromise::create(vm, globalObject->promiseStructure()); 325 326 Vector<Strong<JSCell>> dependencies; 327 dependencies.append(Strong<JSCell>(vm, globalObject)); 328 vm.deferredWorkTimer->addPendingWork(vm, promise, WTFMove(dependencies)); 329 330 if (!globalObject->globalObjectMethodTable()->compileStreaming) { 331 // CompileStreaming is not supported in jsc, only in browser environment 332 ASSERT_NOT_REACHED(); 333 } 334 335 globalObject->globalObjectMethodTable()->compileStreaming(globalObject, promise, callFrame->argument(0)); 336 return JSValue::encode(promise); 329 ASSERT(globalObject->globalObjectMethodTable()->compileStreaming); 330 return JSValue::encode(globalObject->globalObjectMethodTable()->compileStreaming(globalObject, callFrame->argument(0))); 337 331 } 338 332 … … 341 335 VM& vm = globalObject->vm(); 342 336 343 auto* promise = JSPromise::create(vm, globalObject->promiseStructure());344 337 JSValue importArgument = callFrame->argument(1); 345 338 JSObject* importObject = importArgument.getObject(); 346 339 if (UNLIKELY(!importArgument.isUndefined() && !importObject)) { 340 auto* promise = JSPromise::create(vm, globalObject->promiseStructure()); 347 341 promise->reject(globalObject, createTypeError(globalObject, 348 342 "second argument to WebAssembly.instantiateStreaming must be undefined or an Object"_s, defaultSourceAppender, runtimeTypeForValue(vm, importArgument))); … … 350 344 } 351 345 352 if (!globalObject->globalObjectMethodTable()->instantiateStreaming) { 353 // InstantiateStreaming is not supported in jsc, only in browser environment. 354 ASSERT_NOT_REACHED(); 355 } 356 357 Vector<Strong<JSCell>> dependencies; 358 dependencies.append(Strong<JSCell>(vm, globalObject)); 359 dependencies.append(Strong<JSCell>(vm, importObject)); 360 vm.deferredWorkTimer->addPendingWork(vm, promise, WTFMove(dependencies)); 361 346 ASSERT(globalObject->globalObjectMethodTable()->instantiateStreaming); 362 347 // FIXME: <http://webkit.org/b/184888> if there's an importObject and it contains a Memory, then we can compile the module with the right memory type (fast or not) by looking at the memory's type. 363 globalObject->globalObjectMethodTable()->instantiateStreaming(globalObject, promise, callFrame->argument(0), importObject); 364 return JSValue::encode(promise); 348 return JSValue::encode(globalObject->globalObjectMethodTable()->instantiateStreaming(globalObject, callFrame->argument(0), importObject)); 365 349 } 366 350 -
trunk/Source/JavaScriptCore/wasm/js/JSWebAssembly.h
r267594 r271993 54 54 static JSValue instantiate(JSGlobalObject*, JSPromise*, const Identifier&, JSValue); 55 55 56 static void instantiateForStreaming(VM&, JSGlobalObject*, JSPromise*, JSWebAssemblyModule*, JSObject*); 57 56 58 private: 57 59 JSWebAssembly(VM&, Structure*); -
trunk/Source/WTF/ChangeLog
r271965 r271993 1 2021-01-25 Yusuke Suzuki <ysuzuki@apple.com> 2 3 WebAssembly: add support for stream APIs 4 https://bugs.webkit.org/show_bug.cgi?id=173105 5 6 Reviewed by Keith Miller. 7 8 * wtf/PlatformEnable.h: 9 1 10 2021-01-27 Per Arne <pvollan@apple.com> 2 11 -
trunk/Source/WebCore/ChangeLog
r271992 r271993 1 2021-01-27 Yusuke Suzuki <ysuzuki@apple.com> 2 3 WebAssembly: add support for stream APIs 4 https://bugs.webkit.org/show_bug.cgi?id=173105 5 6 Reviewed by Keith Miller. 7 8 Since WebAssembly.{compileStreaming,instantiateStreaming} needs to handle FetchResponse which is WebCore type, they need to be implemented in WebCore side. 9 To achieve that, JSC offers callback to JSGlobalObject, and WebCore JSDOMGlobalObject can implement them to offer WebAssembly.{compileStreaming,instantiateStreaming} features. 10 11 We use JSC's Wasm::StreamingCompiler to implement them. WebCore feeds bytes from FetchResponse and drives Wasm::StreamingCompiler. 12 13 * bindings/js/JSDOMGlobalObject.cpp: 14 (WebCore::handleResponseOnStreamingAction): 15 (WebCore::JSDOMGlobalObject::compileStreaming): 16 (WebCore::JSDOMGlobalObject::instantiateStreaming): 17 * bindings/js/JSDOMGlobalObject.h: 18 * bindings/js/JSDOMPromiseDeferred.cpp: 19 * bindings/js/JSDOMWindowBase.cpp: 20 (WebCore::tryAllocate): Deleted. 21 (WebCore::isResponseCorrect): Deleted. 22 (WebCore::handleResponseOnStreamingAction): Deleted. 23 (WebCore::JSDOMWindowBase::compileStreaming): Deleted. 24 (WebCore::JSDOMWindowBase::instantiateStreaming): Deleted. 25 * bindings/js/JSDOMWindowBase.h: 26 * bindings/js/JSWorkerGlobalScopeBase.cpp: 27 * bindings/js/JSWorkletGlobalScopeBase.cpp: 28 1 29 2021-01-27 Sam Weinig <weinig@apple.com> 2 30 -
trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp
r268700 r271993 542 542 } 543 543 544 bool FetchResponse::isCORSSameOrigin() const 545 { 546 // https://html.spec.whatwg.org/#cors-same-origin 547 // A response whose type is "basic", "cors", or "default" is CORS-same-origin. 548 switch (type()) { 549 case ResourceResponse::Type::Basic: 550 case ResourceResponse::Type::Cors: 551 case ResourceResponse::Type::Default: 552 return true; 553 default: 554 return false; 555 } 556 } 557 558 bool FetchResponse::hasWasmMIMEType() const 559 { 560 return equalLettersIgnoringASCIICase(m_headers->fastGet(HTTPHeaderName::ContentType), "application/wasm"); 561 } 562 544 563 } // namespace WebCore -
trunk/Source/WebCore/Modules/fetch/FetchResponse.h
r263700 r271993 109 109 const HTTPHeaderMap& internalResponseHeaders() const { return m_internalResponse.httpHeaderFields(); } 110 110 111 bool isCORSSameOrigin() const; 112 bool hasWasmMIMEType() const; 113 111 114 private: 112 115 FetchResponse(ScriptExecutionContext&, Optional<FetchBody>&&, Ref<FetchHeaders>&&, ResourceResponse&&); -
trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp
r269414 r271993 30 30 #include "DOMWindow.h" 31 31 #include "Document.h" 32 #include "FetchResponse.h" 32 33 #include "JSAbortAlgorithm.h" 33 34 #include "JSAbortSignal.h" … … 35 36 #include "JSDOMWindow.h" 36 37 #include "JSEventListener.h" 38 #include "JSFetchResponse.h" 37 39 #include "JSIDBSerializationGlobalObject.h" 38 40 #include "JSMediaStream.h" … … 54 56 #include <JavaScriptCore/JSInternalPromise.h> 55 57 #include <JavaScriptCore/StructureInlines.h> 58 #include <JavaScriptCore/WasmStreamingCompiler.h> 56 59 57 60 namespace WebCore { … … 292 295 } 293 296 297 #if ENABLE(WEBASSEMBLY) 298 // https://webassembly.github.io/spec/web-api/index.html#compile-a-potential-webassembly-response 299 static JSC::JSPromise* handleResponseOnStreamingAction(JSC::JSGlobalObject* globalObject, JSC::JSValue source, JSC::Wasm::CompilerMode compilerMode, JSC::JSObject* importObject) 300 { 301 VM& vm = globalObject->vm(); 302 JSLockHolder lock(vm); 303 304 auto deferred = DeferredPromise::create(*jsCast<JSDOMGlobalObject*>(globalObject), DeferredPromise::Mode::RetainPromiseOnResolve); 305 306 auto inputResponse = JSFetchResponse::toWrapped(vm, source); 307 if (!inputResponse) { 308 deferred->reject(TypeError, "first argument must be an Response or Promise for Response"_s); 309 return jsCast<JSC::JSPromise*>(deferred->promise()); 310 } 311 312 if (auto exception = inputResponse->loadingException()) { 313 deferred->reject(*exception); 314 return jsCast<JSC::JSPromise*>(deferred->promise()); 315 } 316 317 // 4. If response is not CORS-same-origin, reject returnValue with a TypeError and abort these substeps. 318 // If response is opaque, content-type becomes "". 319 if (!inputResponse->isCORSSameOrigin()) { 320 deferred->reject(TypeError, "Response is not CORS-same-origin"_s); 321 return jsCast<JSC::JSPromise*>(deferred->promise()); 322 } 323 324 // 3. If mimeType is not `application/wasm`, reject returnValue with a TypeError and abort these substeps. 325 if (!inputResponse->hasWasmMIMEType()) { 326 deferred->reject(TypeError, "Unexpected response MIME type. Expected 'application/wasm'"_s); 327 return jsCast<JSC::JSPromise*>(deferred->promise()); 328 } 329 330 // 5. If response’s status is not an ok status, reject returnValue with a TypeError and abort these substeps. 331 if (!inputResponse->ok()) { 332 deferred->reject(TypeError, "Response has not returned OK status"_s); 333 return jsCast<JSC::JSPromise*>(deferred->promise()); 334 } 335 336 // https://fetch.spec.whatwg.org/#concept-body-consume-body 337 if (inputResponse->isDisturbedOrLocked()) { 338 deferred->reject(TypeError, "Response is disturbed or locked"_s); 339 return jsCast<JSC::JSPromise*>(deferred->promise()); 340 } 341 342 auto compiler = JSC::Wasm::StreamingCompiler::create(vm, compilerMode, globalObject, jsCast<JSC::JSPromise*>(deferred->promise()), importObject); 343 344 if (inputResponse->isBodyReceivedByChunk()) { 345 inputResponse->consumeBodyReceivedByChunk([globalObject, compiler = WTFMove(compiler)](auto&& result) mutable { 346 VM& vm = globalObject->vm(); 347 JSLockHolder lock(vm); 348 349 if (result.hasException()) { 350 auto exception = result.exception(); 351 if (exception.code() == ExistingExceptionError) { 352 auto scope = DECLARE_CATCH_SCOPE(vm); 353 354 EXCEPTION_ASSERT(scope.exception()); 355 356 auto error = scope.exception()->value(); 357 scope.clearException(); 358 359 compiler->fail(globalObject, error); 360 return; 361 } 362 363 auto scope = DECLARE_THROW_SCOPE(vm); 364 auto error = createDOMException(*globalObject, WTFMove(exception)); 365 if (UNLIKELY(scope.exception())) { 366 ASSERT(isTerminatedExecutionException(vm, scope.exception())); 367 compiler->cancel(); 368 return; 369 } 370 371 compiler->fail(globalObject, error); 372 return; 373 } 374 375 if (auto chunk = result.returnValue()) 376 compiler->addBytes(chunk->data, chunk->size); 377 else 378 compiler->finalize(globalObject); 379 }); 380 return jsCast<JSC::JSPromise*>(deferred->promise()); 381 } 382 383 auto body = inputResponse->consumeBody(); 384 WTF::switchOn(body, [&](Ref<FormData>& formData) { 385 if (auto buffer = formData->asSharedBuffer()) { 386 compiler->addBytes(reinterpret_cast<const uint8_t*>(buffer->data()), buffer->size()); 387 compiler->finalize(globalObject); 388 return; 389 } 390 // FIXME: http://webkit.org/b/184886> Implement loading for the Blob type 391 compiler->fail(globalObject, createTypeError(globalObject, "Blob is not supported"_s)); 392 }, [&](Ref<SharedBuffer>& buffer) { 393 compiler->addBytes(reinterpret_cast<const uint8_t*>(buffer->data()), buffer->size()); 394 compiler->finalize(globalObject); 395 }, [&](std::nullptr_t&) { 396 compiler->finalize(globalObject); 397 }); 398 399 return jsCast<JSC::JSPromise*>(deferred->promise()); 400 } 401 402 JSC::JSPromise* JSDOMGlobalObject::compileStreaming(JSC::JSGlobalObject* globalObject, JSC::JSValue source) 403 { 404 ASSERT(source); 405 return handleResponseOnStreamingAction(globalObject, source, JSC::Wasm::CompilerMode::Validation, nullptr); 406 } 407 408 JSC::JSPromise* JSDOMGlobalObject::instantiateStreaming(JSC::JSGlobalObject* globalObject, JSC::JSValue source, JSC::JSObject* importObject) 409 { 410 ASSERT(source); 411 return handleResponseOnStreamingAction(globalObject, source, JSC::Wasm::CompilerMode::FullCompile, importObject); 412 } 413 #endif 414 294 415 JSDOMGlobalObject& callerGlobalObject(JSGlobalObject& lexicalGlobalObject, CallFrame& callFrame) 295 416 { -
trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h
r269414 r271993 101 101 static void promiseRejectionTracker(JSC::JSGlobalObject*, JSC::JSPromise*, JSC::JSPromiseRejectionOperation); 102 102 103 #if ENABLE(WEBASSEMBLY) 104 static JSC::JSPromise* compileStreaming(JSC::JSGlobalObject*, JSC::JSValue); 105 static JSC::JSPromise* instantiateStreaming(JSC::JSGlobalObject*, JSC::JSValue, JSC::JSObject*); 106 #endif 107 103 108 JSDOMStructureMap m_structures; 104 109 JSDOMConstructorMap m_constructors; -
trunk/Source/WebCore/bindings/js/JSDOMPromiseDeferred.cpp
r264992 r271993 29 29 #include "DOMWindow.h" 30 30 #include "EventLoop.h" 31 #include "JSDOMExceptionHandling.h" 31 32 #include "JSDOMPromise.h" 32 33 #include "JSDOMWindow.h" -
trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp
r269414 r271993 391 391 } 392 392 393 #if ENABLE(WEBASSEMBLY)394 static Optional<Vector<uint8_t>> tryAllocate(JSC::JSGlobalObject* lexicalGlobalObject, JSC::JSPromise* promise, const char* data, size_t byteSize)395 {396 Vector<uint8_t> arrayBuffer;397 if (!arrayBuffer.tryReserveCapacity(byteSize)) {398 promise->reject(lexicalGlobalObject, createOutOfMemoryError(lexicalGlobalObject));399 return WTF::nullopt;400 }401 402 arrayBuffer.grow(byteSize);403 memcpy(arrayBuffer.data(), data, byteSize);404 405 return arrayBuffer;406 }407 408 static bool isResponseCorrect(JSC::JSGlobalObject* lexicalGlobalObject, FetchResponse* inputResponse, JSC::JSPromise* promise)409 {410 bool isResponseCorsSameOrigin = inputResponse->type() == ResourceResponse::Type::Basic || inputResponse->type() == ResourceResponse::Type::Cors || inputResponse->type() == ResourceResponse::Type::Default;411 412 if (!isResponseCorsSameOrigin) {413 promise->reject(lexicalGlobalObject, createTypeError(lexicalGlobalObject, "Response is not CORS-same-origin"_s));414 return false;415 }416 417 if (!inputResponse->ok()) {418 promise->reject(lexicalGlobalObject, createTypeError(lexicalGlobalObject, "Response has not returned OK status"_s));419 return false;420 }421 422 auto contentType = inputResponse->headers().fastGet(HTTPHeaderName::ContentType);423 if (!equalLettersIgnoringASCIICase(contentType, "application/wasm")) {424 promise->reject(lexicalGlobalObject, createTypeError(lexicalGlobalObject, "Unexpected response MIME type. Expected 'application/wasm'"_s));425 return false;426 }427 428 return true;429 }430 431 static void handleResponseOnStreamingAction(JSC::JSGlobalObject* globalObject, FetchResponse* inputResponse, JSC::JSPromise* promise, Function<void(JSC::JSGlobalObject* lexicalGlobalObject, const char* data, size_t byteSize)>&& actionCallback)432 {433 if (!isResponseCorrect(globalObject, inputResponse, promise))434 return;435 436 if (inputResponse->isBodyReceivedByChunk()) {437 inputResponse->consumeBodyReceivedByChunk([promise, callback = WTFMove(actionCallback), globalObject, data = SharedBuffer::create()] (auto&& result) mutable {438 if (result.hasException()) {439 promise->reject(globalObject, createTypeError(globalObject, result.exception().message()));440 return;441 }442 443 if (auto chunk = result.returnValue())444 data->append(reinterpret_cast<const char*>(chunk->data), chunk->size);445 else {446 VM& vm = globalObject->vm();447 JSLockHolder lock(vm);448 449 callback(globalObject, data->data(), data->size());450 }451 });452 return;453 }454 455 auto body = inputResponse->consumeBody();456 WTF::switchOn(body, [&] (Ref<FormData>& formData) {457 if (auto buffer = formData->asSharedBuffer()) {458 VM& vm = globalObject->vm();459 JSLockHolder lock(vm);460 461 actionCallback(globalObject, buffer->data(), buffer->size());462 return;463 }464 // FIXME: http://webkit.org/b/184886> Implement loading for the Blob type465 promise->reject(globalObject, createTypeError(globalObject, "Unexpected Response's Content-type"_s));466 }, [&] (Ref<SharedBuffer>& buffer) {467 VM& vm = globalObject->vm();468 JSLockHolder lock(vm);469 470 actionCallback(globalObject, buffer->data(), buffer->size());471 }, [&] (std::nullptr_t&) {472 promise->reject(globalObject, createTypeError(globalObject, "Unexpected Response's Content-type"_s));473 });474 }475 476 void JSDOMWindowBase::compileStreaming(JSC::JSGlobalObject* globalObject, JSC::JSPromise* promise, JSC::JSValue source)477 {478 ASSERT(source);479 480 VM& vm = globalObject->vm();481 482 ASSERT(vm.deferredWorkTimer->hasPendingWork(promise));483 ASSERT(vm.deferredWorkTimer->hasDependancyInPendingWork(promise, globalObject));484 485 if (auto inputResponse = JSFetchResponse::toWrapped(vm, source)) {486 handleResponseOnStreamingAction(globalObject, inputResponse, promise, [promise] (JSC::JSGlobalObject* lexicalGlobalObject, const char* data, size_t byteSize) mutable {487 if (auto arrayBuffer = tryAllocate(lexicalGlobalObject, promise, data, byteSize))488 JSC::JSWebAssembly::webAssemblyModuleValidateAsync(lexicalGlobalObject, promise, WTFMove(*arrayBuffer));489 });490 } else491 promise->reject(globalObject, createTypeError(globalObject, "first argument must be an Response or Promise for Response"_s));492 }493 494 void JSDOMWindowBase::instantiateStreaming(JSC::JSGlobalObject* globalObject, JSC::JSPromise* promise, JSC::JSValue source, JSC::JSObject* importedObject)495 {496 ASSERT(source);497 498 VM& vm = globalObject->vm();499 500 ASSERT(vm.deferredWorkTimer->hasPendingWork(promise));501 ASSERT(vm.deferredWorkTimer->hasDependancyInPendingWork(promise, globalObject));502 ASSERT(vm.deferredWorkTimer->hasDependancyInPendingWork(promise, importedObject));503 504 if (auto inputResponse = JSFetchResponse::toWrapped(vm, source)) {505 handleResponseOnStreamingAction(globalObject, inputResponse, promise, [promise, importedObject] (JSC::JSGlobalObject* lexicalGlobalObject, const char* data, size_t byteSize) mutable {506 if (auto arrayBuffer = tryAllocate(lexicalGlobalObject, promise, data, byteSize))507 JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync(lexicalGlobalObject, promise, WTFMove(*arrayBuffer), importedObject);508 });509 } else510 promise->reject(globalObject, createTypeError(globalObject, "first argument must be an Response or Promise for Response"_s));511 }512 #endif513 514 393 } // namespace WebCore -
trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h
r269414 r271993 106 106 static JSC::JSObject* moduleLoaderCreateImportMetaProperties(JSC::JSGlobalObject*, JSC::JSModuleLoader*, JSC::JSValue, JSC::JSModuleRecord*, JSC::JSValue); 107 107 108 #if ENABLE(WEBASSEMBLY)109 static void compileStreaming(JSC::JSGlobalObject*, JSC::JSPromise*, JSC::JSValue);110 static void instantiateStreaming(JSC::JSGlobalObject*, JSC::JSPromise*, JSC::JSValue, JSC::JSObject*);111 #endif112 113 108 RefPtr<DOMWindow> m_wrapped; 114 109 RefPtr<Event> m_currentEvent; -
trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp
r268775 r271993 70 70 &scriptExecutionStatus, 71 71 &defaultLanguage, 72 nullptr, // compileStreaming 73 nullptr, // instantiateStreaming 72 #if ENABLE(WEBASSEMBLY) 73 &compileStreaming, 74 &instantiateStreaming, 75 #else 76 nullptr, 77 nullptr, 78 #endif 74 79 }; 75 80 -
trunk/Source/WebCore/bindings/js/JSWorkletGlobalScopeBase.cpp
r268775 r271993 60 60 &scriptExecutionStatus, 61 61 &defaultLanguage, 62 nullptr, // compileStreaming 63 nullptr, // instantiateStreaming 62 #if ENABLE(WEBASSEMBLY) 63 &compileStreaming, 64 &instantiateStreaming, 65 #else 66 nullptr, 67 nullptr, 68 #endif 64 69 }; 65 70 -
trunk/Source/cmake/OptionsFTW.cmake
r271316 r271993 103 103 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO PRIVATE ON) 104 104 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBASSEMBLY PRIVATE OFF) 105 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBASSEMBLY_STREAMING_API PRIVATE OFF)106 105 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL PRIVATE ON) 107 106 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WIRELESS_PLAYBACK_TARGET PRIVATE OFF) -
trunk/Source/cmake/WebKitFeatures.cmake
r271775 r271993 244 244 WEBKIT_OPTION_DEFINE(ENABLE_WEBASSEMBLY "Toggle WebAssembly support" PRIVATE ${ENABLE_JIT_DEFAULT}) 245 245 WEBKIT_OPTION_DEFINE(ENABLE_WEBASSEMBLY_B3JIT "Toggle WebAssembly B3 JIT support" PRIVATE ${ENABLE_FTL_DEFAULT}) 246 WEBKIT_OPTION_DEFINE(ENABLE_WEBASSEMBLY_STREAMING_API "Toggle WebAssembly streaming api support." PRIVATE OFF)247 246 WEBKIT_OPTION_DEFINE(ENABLE_WEBDRIVER "Toggle WebDriver service process" PRIVATE OFF) 248 247 WEBKIT_OPTION_DEFINE(ENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS "Toggle WebDriver keyboard interactions" PRIVATE OFF)
Note: See TracChangeset
for help on using the changeset viewer.