RESOLVED FIXED 170782
WebAssembly: don't expose any WebAssembly JS object if JIT is off
https://bugs.webkit.org/show_bug.cgi?id=170782
Summary WebAssembly: don't expose any WebAssembly JS object if JIT is off
JF Bastien
Reported 2017-04-12 11:31:40 PDT
It's kinda misleading of `typeof WebAssembly !== "undefined"` but we know that compilation will never succeed. It's also weird to have WebAssembly.Memory if JIT is off. A WebKit1 embedding would be a weird place to expose WebAssembly JS objects.
Attachments
patch (3.78 KB, patch)
2017-04-19 00:07 PDT, JF Bastien
no flags
JF Bastien
Comment 1 2017-04-19 00:07:25 PDT
JF Bastien
Comment 2 2017-04-19 08:26:08 PDT
One thing I noticed when writing this: our tests run with useFTLJIT=0! That's because of BASE_OPTIONS which runWithOutputHandler uses (and in turn run calls runWithOutputHandler). Initially I'd disabled WebAssembly if useJIT or useFTLJIT was false, but that would require changing the tests and I'm not sure the distinction matters. B3 is really what's used by wasm, and a special blend of it, so I'm not sure useFTLJIT=false is relevant to wasm. Thoughts?
Saam Barati
Comment 3 2017-04-19 09:52:42 PDT
(In reply to JF Bastien from comment #2) > One thing I noticed when writing this: our tests run with useFTLJIT=0! > That's because of BASE_OPTIONS which runWithOutputHandler uses (and in turn > run calls runWithOutputHandler). > > Initially I'd disabled WebAssembly if useJIT or useFTLJIT was false, but > that would require changing the tests and I'm not sure the distinction > matters. B3 is really what's used by wasm, and a special blend of it, so I'm > not sure useFTLJIT=false is relevant to wasm. > > Thoughts? I would not tie Wasm being enabled to the ftl being enabled. That said, Wasm tests should run with the FTL enabled.
Keith Miller
Comment 4 2017-04-19 09:57:26 PDT
Does this prevent me from doing --useJIT=0 --dumpDisassembly=1 --useWebAssembly=1? I like doing that because it lets me see the wasm disassembly. I guess we could just add a dumpWebAssemblyDisassembly (wow! that's a mouthful) option.
JF Bastien
Comment 5 2017-04-19 10:02:00 PDT
(In reply to Saam Barati from comment #3) > (In reply to JF Bastien from comment #2) > > One thing I noticed when writing this: our tests run with useFTLJIT=0! > > That's because of BASE_OPTIONS which runWithOutputHandler uses (and in turn > > run calls runWithOutputHandler). > > > > Initially I'd disabled WebAssembly if useJIT or useFTLJIT was false, but > > that would require changing the tests and I'm not sure the distinction > > matters. B3 is really what's used by wasm, and a special blend of it, so I'm > > not sure useFTLJIT=false is relevant to wasm. > > > > Thoughts? > > I would not tie Wasm being enabled to the ftl being enabled. That said, Wasm > tests should run with the FTL enabled. Sounds good. I filed a bug: https://bugs.webkit.org/show_bug.cgi?id=170998 Will address later. (In reply to Keith Miller from comment #4) > Does this prevent me from doing --useJIT=0 --dumpDisassembly=1 > --useWebAssembly=1? I like doing that because it lets me see the wasm > disassembly. I guess we could just add a dumpWebAssemblyDisassembly (wow! > that's a mouthful) option. Correct. Without JIT it won't generate the stubs to C++ code anyways, no?
WebKit Commit Bot
Comment 6 2017-04-19 10:12:41 PDT
Comment on attachment 307465 [details] patch Clearing flags on attachment: 307465 Committed r215517: <http://trac.webkit.org/changeset/215517>
WebKit Commit Bot
Comment 7 2017-04-19 10:12:42 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.