Bug 181339 - WebAssembly: poison JS object's secrets
Summary: WebAssembly: poison JS object's secrets
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebAssembly (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: JF Bastien
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-01-05 13:12 PST by JF Bastien
Modified: 2018-01-05 23:01 PST (History)
15 users (show)

See Also:


Attachments
patch (9.29 KB, patch)
2018-01-05 13:16 PST, JF Bastien
ews-watchlist: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews103 for mac-elcapitan (2.29 MB, application/zip)
2018-01-05 14:29 PST, EWS Watchlist
no flags Details
Archive of layout-test-results from ews106 for mac-elcapitan-wk2 (2.84 MB, application/zip)
2018-01-05 14:47 PST, EWS Watchlist
no flags Details
Archive of layout-test-results from ews112 for mac-elcapitan (3.85 MB, application/zip)
2018-01-05 15:13 PST, EWS Watchlist
no flags Details
patch (12.09 KB, patch)
2018-01-05 15:34 PST, JF Bastien
mark.lam: review+
Details | Formatted Diff | Diff
patch for landing (16.42 KB, patch)
2018-01-05 17:11 PST, JF Bastien
mark.lam: commit-queue-
Details | Formatted Diff | Diff
patch for landing (18.10 KB, patch)
2018-01-05 21:10 PST, JF Bastien
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description JF Bastien 2018-01-05 13:12:39 PST
Separating WebAssembly's JS objects from their non-JS implementation means that all interesting information lives outside of the JS object itself. The only interesting by that could be confused or speculated on are the pointers to the non-JS implementations themselves. This patch poisons each JS object's pointer to non-JS implementation using the poisoning mechanism and a unique key per JS object type origin.
Comment 1 Radar WebKit Bug Importer 2018-01-05 13:13:06 PST
<rdar://problem/36325001>
Comment 2 JF Bastien 2018-01-05 13:16:37 PST
Created attachment 330573 [details]
patch

This doesn't do all of the interesting scrambling / poisoning, only JSWebAssembly* -> Wasm*. I'll do the others in a follow-up.
Comment 3 JF Bastien 2018-01-05 13:17:11 PST
There's a bug in this patch, will fix after taking care of something else.
Comment 4 EWS Watchlist 2018-01-05 13:19:35 PST
Attachment 330573 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyModule.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyCodeBlock.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 5 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 5 EWS Watchlist 2018-01-05 14:29:22 PST
Comment on attachment 330573 [details]
patch

Attachment 330573 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/5945663

New failing tests:
workers/wasm-hashset.html
Comment 6 EWS Watchlist 2018-01-05 14:29:24 PST
Created attachment 330585 [details]
Archive of layout-test-results from ews103 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 7 EWS Watchlist 2018-01-05 14:37:33 PST
Comment on attachment 330573 [details]
patch

Attachment 330573 [details] did not pass jsc-ews (mac):
Output: http://webkit-queues.webkit.org/results/5945744

New failing tests:
wasm.yaml/wasm/spec-tests/loop.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/load-offset.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/i32.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/trap-from-start.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/trap-from-start.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/address.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/memory-access-past-4gib.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/names.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/int_exprs.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/trap-load-2.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/test_Instance.js.default-wasm
wasm.yaml/wasm/spec-tests/names.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/trap-from-start-async.js.wasm-slow-memory
wasm.yaml/wasm/js-api/test_Data.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/f64_bitwise.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/f64_cmp.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/add-12.js.default-wasm
wasm.yaml/wasm/js-api/wasm-to-wasm.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/many-arguments-to-function.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/globals-import.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/wasm-to-wasm.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/grow-memory-2.js.wasm-slow-memory
wasm.yaml/wasm/fuzz/export-function.js.default-wasm
wasm.yaml/wasm/spec-tests/func_ptrs.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/set_local.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/traps.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/nop.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/tee_local.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/basic-element.js.default-wasm
wasm.yaml/wasm/js-api/unique-signature.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/float-sub.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/f64.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/br.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/block.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/switch.wast.js.default-wasm
wasm.yaml/wasm/js-api/test_Start.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/table-basic.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/many-args-tail-call-sp-restored.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/trap-load-2.js.wasm-slow-memory
wasm.yaml/wasm/js-api/globals-import.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/call_indirect.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/grow-memory-3.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/memory-import-and-grow.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/set_local.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/br_if.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/i32.wast.js.wasm-no-call-ic
wasm.yaml/wasm/regress/175693.js.default-wasm
wasm.yaml/wasm/spec-tests/switch.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/int_literals.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/context-switch.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/stack.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/nameSection.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/many-args-tail-call-sp-restored.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/trap-from-start-async.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/function-import-return-value.js.wasm-slow-memory
wasm.yaml/wasm/js-api/export-arity.js.default-wasm
wasm.yaml/wasm/function-tests/load-offset.js.wasm-eager-jettison
wasm.yaml/wasm/fuzz/memory.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/table-basic.js.wasm-slow-memory
wasm.yaml/wasm/js-api/test_Data.js.default-wasm
wasm.yaml/wasm/spec-tests/call.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/return.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/i32-load8-s.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/unreachable.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/trap-after-cross-instance-call.js.default-wasm
wasm.yaml/wasm/spec-tests/call.wast.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/global-internal-init-from-import.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/load-offset.js.default-wasm
wasm.yaml/wasm/js-api/global-external-init-from-import.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/test_Data.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/global-mutate.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/basic-element.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/endianness.wast.js.default-wasm
wasm.yaml/wasm/fuzz/export-function.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/stack-trace.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/address.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/imports.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/function-import-return-value.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/call_indirect.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/grow-memory-4.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/many-arguments-to-function.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/float-sub.js.wasm-eager-jettison
wasm.yaml/wasm/fuzz/memory.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/float_misc.wast.js.wasm-eager-jettison
wasm.yaml/wasm/js-api/wrapper-function.js.default-wasm
wasm.yaml/wasm/spec-tests/linking.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/stack-trace.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/grow-memory-cause-gc.js.wasm-eager-jettison
wasm.yaml/wasm/js-api/unique-signature.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/linking.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/float_memory.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/trap-from-start-async.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/table-basic.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/load-offset.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/nameSection.js.default-wasm
wasm.yaml/wasm/spec-tests/imports.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/set_local.wast.js.default-wasm
wasm.yaml/wasm/function-tests/memory-grow-invalid.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/memory_redundancy.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/endianness.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/trap-after-cross-instance-call.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/block.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/skip-stack-guard-page.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/global-mutate.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/float_exprs.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/grow-memory.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/trap-from-start-async.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/resizing.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/float_memory.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/factorial.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/call-indirect.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/exceptions.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/fac.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/br_if.wast.js.default-wasm
wasm.yaml/wasm/function-tests/table-basic-2.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/f64_bitwise.wast.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/test_memory.js.default-wasm
wasm.yaml/wasm/spec-tests/memory.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/forward.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/trap-load.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/float_misc.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/globals.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/address.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/skip-stack-guard-page.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/nameSection.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/block.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/nop.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/left-to-right.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/call.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/switch.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/context-switch.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/trap-store-2.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/f64_bitwise.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/dont-mmap-zero-byte-memory.js.default-wasm
wasm.yaml/wasm/spec-tests/f64.wast.js.wasm-eager-jettison
wasm.yaml/wasm/js-api/test_memory.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/f32_bitwise.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/call_indirect.wast.js.default-wasm
wasm.yaml/wasm/function-tests/memory-access-past-4gib.js.default-wasm
wasm.yaml/wasm/js-api/call-indirect.js.default-wasm
wasm.yaml/wasm/spec-tests/float_literals.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/context-switch.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/table-basic-2.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/memory-grow-invalid.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/func.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/i32-load.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/memory_redundancy.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/many-args-tail-call-sp-restored.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/br.wast.js.default-wasm
wasm.yaml/wasm/function-tests/add-12.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/endianness.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/float_misc.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/return.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/get_local.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/grow-memory.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/add-12.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/test_Start.js.default-wasm
wasm.yaml/wasm/spec-tests/unwind.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/f32_bitwise.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/i32-load8-s.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/nameSection.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/i32-load.js.default-wasm
wasm.yaml/wasm/js-api/global-mutate.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/f32_cmp.wast.js.wasm-eager-jettison
wasm.yaml/wasm/fuzz/memory.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/test_Start.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/get_local.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/test_Instance.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/call_indirect.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/trap-store-2.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/names.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/i64.wast.js.wasm-eager-jettison
wasm.yaml/wasm/js-api/test_memory.js.wasm-slow-memory
wasm.yaml/wasm/fuzz/memory.js.default-wasm
wasm.yaml/wasm/function-tests/trap-store.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/basic-element.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/unwind.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/many-args-tail-call-sp-restored.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/int_literals.wast.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/test_memory.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/select.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/left-to-right.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/traps.wast.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/globals-import.js.default-wasm
wasm.yaml/wasm/function-tests/exceptions.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/start.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/address.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/unwind.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/lowExecutableMemory/executable-memory-oom.js.default-wasm
wasm.yaml/wasm/spec-tests/unreachable.wast.js.default-wasm
wasm.yaml/wasm/function-tests/float-sub.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/trap-store.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/resizing.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/grow-memory-2.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/names.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/double-instance.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/f64_cmp.wast.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/unique-signature.js.default-wasm
wasm.yaml/wasm/spec-tests/linking.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/trap-load-2.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/start.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/export-arity.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/if.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/select.wast.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/wrapper-function.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/regress/175693.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/grow-memory.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/function-import-return-value.js.default-wasm
wasm.yaml/wasm/spec-tests/br_table.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/f64.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/trap-store.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/int_literals.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/float_literals.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/f32_cmp.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/basic-element.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/f32.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/globals.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/unreachable.wast.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/dont-mmap-zero-byte-memory.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/function-import-return-value.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/switch.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/memory-grow-invalid.js.wasm-eager-jettison
wasm.yaml/wasm/js-api/global-internal-init-from-import.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/trap-from-start-async.js.default-wasm
wasm.yaml/wasm/spec-tests/unwind.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/conversions.wast.js.wasm-no-tls-context
wasm.yaml/wasm/fuzz/memory.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/table-basic.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/loop.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/float_memory.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/context-switch.js.default-wasm
wasm.yaml/wasm/regress/175693.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/many-args-tail-call-sp-restored.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/exceptions.js.wasm-no-tls-context
wasm.yaml/wasm/fuzz/export-function.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/func.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/double-instance.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/if.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/tee_local.wast.js.default-wasm
wasm.yaml/wasm/function-tests/trap-load.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/grow-memory-4.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/stack-overflow.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/grow-memory-cause-gc.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/block.wast.js.default-wasm
wasm.yaml/wasm/fuzz/export-function.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/regress/175693.js.wasm-eager-jettison
wasm.yaml/wasm/regress/175693.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/memory.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/forward.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/float_exprs.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/unreachable.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/float_misc.wast.js.default-wasm
wasm.yaml/wasm/function-tests/table-basic-2.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/tee_local.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/double-instance.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/trap-store-2.js.default-wasm
wasm.yaml/wasm/js-api/test_Data.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/grow-memory.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/select.wast.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/global-external-init-from-import.js.default-wasm
wasm.yaml/wasm/spec-tests/func.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/int_exprs.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/factorial.js.default-wasm
wasm.yaml/wasm/spec-tests/float_literals.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/exceptions.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/grow-memory-cause-gc.js.default-wasm
wasm.yaml/wasm/spec-tests/imports.wast.js.default-wasm
wasm.yaml/wasm/function-tests/trap-store.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/grow-memory-cause-gc.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/int_literals.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/fac.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/trap-from-start-async.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/test_Start.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/set_local.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/func.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/f32_cmp.wast.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/test_Start.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/grow-memory-2.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/global-mutate.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/grow-memory-3.js.default-wasm
wasm.yaml/wasm/function-tests/context-switch.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/wasm-to-wasm.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/double-instance.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/memory-access-past-4gib.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/skip-stack-guard-page.wast.js.default-wasm
wasm.yaml/wasm/function-tests/trap-from-start.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/trap-load-2.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/unique-signature.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/wrapper-function.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/global-internal-init-from-import.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/stack.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/grow-memory.js.default-wasm
wasm.yaml/wasm/spec-tests/memory_trap.wast.js.wasm-eager-jettison
wasm.yaml/wasm/js-api/unique-signature.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/f32_bitwise.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/trap-load.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/exceptions.js.default-wasm
wasm.yaml/wasm/js-api/export-arity.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/call_indirect.wast.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/wrapper-function.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/factorial.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/traps.wast.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/wrapper-function.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/many-arguments-to-function.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/f64.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/global-mutate.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/loop.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/globals.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/get_local.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/memory_trap.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/stack-overflow.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/memory_redundancy.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/global-external-init-from-import.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/if.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/loop.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/forward.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/traps.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/grow-memory-3.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/memory-grow-invalid.js.default-wasm
wasm.yaml/wasm/function-tests/stack-trace.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/grow-memory-4.js.default-wasm
wasm.yaml/wasm/spec-tests/linking.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/stack.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/i64.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/grow-memory-2.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/export-arity.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/resizing.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/float_exprs.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/test_Instance.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/i32-load8-s.js.default-wasm
wasm.yaml/wasm/spec-tests/memory.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/endianness.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/globals.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/block.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/stack-trace.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/global-internal-init-from-import.js.default-wasm
wasm.yaml/wasm/function-tests/stack-trace.js.default-wasm
wasm.yaml/wasm/js-api/test_Instance.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/f32_cmp.wast.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/dont-mmap-zero-byte-memory.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/basic-element.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/switch.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/func_ptrs.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/return.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/load-offset.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/test_Instance.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/test_Start.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/stack-overflow.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/f64_bitwise.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/trap-after-cross-instance-call.js.wasm-slow-memory
wasm.yaml/wasm/js-api/call-indirect.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/trap-load.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/f64_cmp.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/stack-overflow.js.default-wasm
wasm.yaml/wasm/spec-tests/float_memory.wast.js.default-wasm
wasm.yaml/wasm/js-api/wasm-to-wasm.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/grow-memory-cause-gc.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/memory_trap.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/left-to-right.wast.js.wasm-eager-jettison
wasm.yaml/wasm/js-api/global-external-init-from-import.js.wasm-slow-memory
wasm.yaml/wasm/js-api/call-indirect.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/left-to-right.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/f64_cmp.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/i32.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/br_table.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/get_local.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/memory-grow-invalid.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/memory.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/br_if.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/memory-import-and-grow.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/address.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/test_Instance.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/float_misc.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/i32-load.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/i32-load.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/resizing.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/trap-load-2.js.default-wasm
wasm.yaml/wasm/spec-tests/memory_redundancy.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/float_exprs.wast.js.wasm-eager-jettison
wasm.yaml/wasm/regress/175693.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/traps.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/grow-memory-4.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/if.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/memory_trap.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/f32.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/stack-overflow.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/trap-from-start.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/trap-after-cross-instance-call.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/function-import-return-value.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/memory-import-and-grow.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/get_local.wast.js.default-wasm
wasm.yaml/wasm/function-tests/add-12.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/factorial.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/lowExecutableMemory/imports-oom.js.default-wasm
wasm.yaml/wasm/spec-tests/i64.wast.js.default-wasm
wasm.yaml/wasm/function-tests/memory-access-past-4gib.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/resizing.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/forward.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/table-basic.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/memory_trap.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/fac.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/select.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/nameSection.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/f32_bitwise.wast.js.default-wasm
wasm.yaml/wasm/function-tests/memory-grow-invalid.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/int_exprs.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/memory-access-past-4gib.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/trap-store-2.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/if.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/i32-load.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/add-12.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/unreachable.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/i32-load8-s.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/func_ptrs.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/factorial.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/start.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/int_literals.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/globals-import.js.wasm-eager-jettison
wasm.yaml/wasm/js-api/global-internal-init-from-import.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/select.wast.js.default-wasm
wasm.yaml/wasm/function-tests/table-basic.js.default-wasm
wasm.yaml/wasm/spec-tests/fac.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/i32-load.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/call.wast.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/global-external-init-from-import.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/i32.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/forward.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/br.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/return.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/float_literals.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/conversions.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/fac.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/f32.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/table-basic-2.js.default-wasm
wasm.yaml/wasm/function-tests/context-switch.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/float-sub.js.default-wasm
wasm.yaml/wasm/spec-tests/globals.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/many-args-tail-call-sp-restored.js.default-wasm
wasm.yaml/wasm/function-tests/load-offset.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/return.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/f64_bitwise.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/memory_redundancy.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/f32.wast.js.wasm-eager-jettison
wasm.yaml/wasm/fuzz/memory.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/float-sub.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/nameSection.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/stack.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/tee_local.wast.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/dont-mmap-zero-byte-memory.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/trap-after-cross-instance-call.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/table-basic-2.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/imports.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/memory-import-and-grow.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/i32-load8-s.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/unwind.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/stack-trace.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/test_Data.js.wasm-slow-memory
wasm.yaml/wasm/js-api/test_Data.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/linking.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/trap-store-2.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/trap-from-start.js.default-wasm
wasm.yaml/wasm/function-tests/trap-load-2.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/js-api/export-arity.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/grow-memory-3.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/grow-memory.js.wasm-slow-memory
wasm.yaml/wasm/js-api/wasm-to-wasm.js.default-wasm
wasm.yaml/wasm/js-api/dont-mmap-zero-byte-memory.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/i32-load8-s.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/memory.wast.js.default-wasm
wasm.yaml/wasm/function-tests/table-basic-2.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/skip-stack-guard-page.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/br.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/float_exprs.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/br_if.wast.js.wasm-no-tls-context
wasm.yaml/wasm/function-tests/function-import-return-value.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/func.wast.js.default-wasm
wasm.yaml/wasm/function-tests/trap-load.js.default-wasm
wasm.yaml/wasm/js-api/test_memory.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/float-sub.js.wasm-slow-memory
wasm.yaml/wasm/spec-tests/f64_cmp.wast.js.default-wasm
wasm.yaml/wasm/function-tests/trap-after-cross-instance-call.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/exceptions.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/call.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/trap-store-2.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/br_table.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/int_exprs.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/f32_cmp.wast.js.default-wasm
wasm.yaml/wasm/function-tests/memory-import-and-grow.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/names.wast.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/f32.wast.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/dont-mmap-zero-byte-memory.js.wasm-slow-memory
wasm.yaml/wasm/js-api/global-external-init-from-import.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/global-mutate.js.default-wasm
wasm.yaml/wasm/spec-tests/br_table.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/many-arguments-to-function.js.default-wasm
wasm.yaml/wasm/spec-tests/float_literals.wast.js.default-wasm
wasm.yaml/wasm/js-api/globals-import.js.wasm-slow-memory
wasm.yaml/wasm/js-api/wasm-to-wasm.js.wasm-eager-jettison
wasm.yaml/wasm/js-api/call-indirect.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/set_local.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/many-arguments-to-function.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/memory-access-past-4gib.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/br_if.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/skip-stack-guard-page.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/basic-element.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/globals-import.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/func_ptrs.wast.js.default-wasm
wasm.yaml/wasm/function-tests/trap-from-start.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/f64.wast.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/nop.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/imports.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/conversions.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/func_ptrs.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/grow-memory-4.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/grow-memory-3.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/factorial.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/trap-load.js.wasm-slow-memory
wasm.yaml/wasm/function-tests/grow-memory-2.js.default-wasm
wasm.yaml/wasm/function-tests/double-instance.js.default-wasm
wasm.yaml/wasm/spec-tests/nop.wast.js.default-wasm
wasm.yaml/wasm/function-tests/trap-store.js.default-wasm
wasm.yaml/wasm/spec-tests/float_memory.wast.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/unique-signature.js.wasm-no-call-ic
wasm.yaml/wasm/fuzz/export-function.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/grow-memory-cause-gc.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/i64.wast.js.wasm-no-tls-context
wasm.yaml/wasm/js-api/wrapper-function.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/grow-memory-4.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/left-to-right.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/fuzz/export-function.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/endianness.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/stack-overflow.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/stack.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/i64.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/loop.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/nop.wast.js.wasm-no-call-ic
wasm.yaml/wasm/function-tests/add-12.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/call-indirect.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/conversions.wast.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/int_exprs.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/start.wast.js.default-wasm
wasm.yaml/wasm/spec-tests/br_table.wast.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/test_memory.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/grow-memory-3.js.wasm-no-tls-context
wasm.yaml/wasm/spec-tests/start.wast.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/grow-memory-2.js.wasm-eager-jettison
wasm.yaml/wasm/js-api/export-arity.js.wasm-eager-jettison
wasm.yaml/wasm/function-tests/trap-store.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/double-instance.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/function-tests/memory-import-and-grow.js.default-wasm
wasm.yaml/wasm/function-tests/many-arguments-to-function.js.wasm-eager-jettison
wasm.yaml/wasm/spec-tests/f32_bitwise.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/conversions.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/br.wast.js.wasm-no-cjit-yes-tls-context
wasm.yaml/wasm/spec-tests/tee_local.wast.js.wasm-no-call-ic
wasm.yaml/wasm/js-api/global-internal-init-from-import.js.wasm-no-call-ic
wasm.yaml/wasm/spec-tests/i32.wast.js.default-wasm
Comment 8 EWS Watchlist 2018-01-05 14:47:00 PST
Comment on attachment 330573 [details]
patch

Attachment 330573 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/5945844

New failing tests:
workers/wasm-hashset.html
Comment 9 EWS Watchlist 2018-01-05 14:47:02 PST
Created attachment 330588 [details]
Archive of layout-test-results from ews106 for mac-elcapitan-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-elcapitan-wk2  Platform: Mac OS X 10.11.6
Comment 10 EWS Watchlist 2018-01-05 15:13:39 PST
Comment on attachment 330573 [details]
patch

Attachment 330573 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/5945855

New failing tests:
http/tests/security/contentSecurityPolicy/WebAssembly-allowed.html
svg/custom/object-sizing-explicit-height.xhtml
wasm/iframe-postmessage.html
workers/wasm-hashset.html
workers/wasm-mem-post-message.html
wasm/iframe-parent-postmessage.html
wasm/window-postmessage.html
workers/wasm-long-compile.html
Comment 11 EWS Watchlist 2018-01-05 15:13:41 PST
Created attachment 330593 [details]
Archive of layout-test-results from ews112 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews112  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 12 JF Bastien 2018-01-05 15:34:54 PST
Created attachment 330598 [details]
patch

Ready for review.
Comment 13 EWS Watchlist 2018-01-05 15:36:10 PST
Attachment 330598 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyModule.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyCodeBlock.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 5 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 14 Mark Lam 2018-01-05 16:10:19 PST
Comment on attachment 330598 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=330598&action=review

r=me with fixes.

> Source/JavaScriptCore/runtime/JSCPoison.h:40
>      TransitionMapPoison,
>      WeakImplPoison,
> +    JSWebAssemblyCodeBlockPoison,
> +    JSWebAssemblyInstancePoison,
> +    JSWebAssemblyMemoryPoison,
> +    JSWebAssemblyModulePoison,
> +    JSWebAssemblyTablePoison,

Order doesn't really matter, but let's keep these alphabetically ordered (with NotPoisoned being the only exception) to help us read the code.  When the list gets large, this will help.

> Source/JavaScriptCore/wasm/js/JSToWasm.cpp:121
> +            jit.move(CCallHelpers::TrustedImm64(WTF::makeConstExprPoison(JSWebAssemblyInstancePoison)), scratchReg);

I meant to fix this but I haven't done so yet: please remove the WTF:: qualifier here and add "using WTF::makeConstExprPoison" in Poisoned.h.

> Source/WTF/wtf/Poisoned.h:190
> +    void swap(T& t2)
> +    {
> +        T t1 = this->unpoisoned();
> +        std::swap(t1, t2);
> +        m_poisonedBits = poison(t1);
> +    }

Please add test cases to TestWebKitAPI/.../Poisoned.cpp and PoisonedRef.cpp
Comment 15 JF Bastien 2018-01-05 17:11:01 PST
Created attachment 330613 [details]
patch for landing
Comment 16 EWS Watchlist 2018-01-05 17:13:02 PST
Attachment 330613 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyModule.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyCodeBlock.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 5 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 17 Mark Lam 2018-01-05 17:16:24 PST
Comment on attachment 330613 [details]
patch for landing

View in context: https://bugs.webkit.org/attachment.cgi?id=330613&action=review

> Source/JavaScriptCore/wasm/js/JSWebAssemblyCodeBlock.h:32
> +#include "JSCPoison.h"

This should come before JSCell.h (uppercase before lowercase).

> Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h:32
> +#include "JSCPoison.h"

This should come before JSDestructibleObject.h.

> Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.h:32
> +#include "JSCPoison.h"

This should come before JSDestructibleObject.h.

> Source/JavaScriptCore/wasm/js/JSWebAssemblyModule.h:32
> +#include "JSCPoison.h"

This should come before JSDestructibleObject.h.

> Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.h:32
> +#include "JSCPoison.h"

This should come before JSDestructibleObject.h.
Comment 18 JF Bastien 2018-01-05 21:10:10 PST
Created attachment 330632 [details]
patch for landing

IIUC I was running into the same compiler bug Mark had a while ago, with mismatched template deduction with just the reference qualifier differing. That only occurs on current SDK, but not more recent ones... So worked for me! I #if'd these tests out, and luckily am only using the constexpr version of this which doesn't have this bug. I also added a test to ConstExprPoisoned.cpp which I just realized I'd missed. Will see if bots are happy.
Comment 19 JF Bastien 2018-01-05 22:41:25 PST
Comment on attachment 330632 [details]
patch for landing

Looks like the bots are now happy.
Comment 20 WebKit Commit Bot 2018-01-05 23:01:24 PST
Comment on attachment 330632 [details]
patch for landing

Clearing flags on attachment: 330632

Committed r226485: <https://trac.webkit.org/changeset/226485>
Comment 21 WebKit Commit Bot 2018-01-05 23:01:26 PST
All reviewed patches have been landed.  Closing bug.