RESOLVED FIXED Bug 170573
WebAssembly: We should be able to postMessage a JSWebAssemblyModule
https://bugs.webkit.org/show_bug.cgi?id=170573
Summary WebAssembly: We should be able to postMessage a JSWebAssemblyModule
Saam Barati
Reported 2017-04-06 15:53:43 PDT
...
Attachments
WIP (38.55 KB, patch)
2017-04-07 17:49 PDT, Saam Barati
no flags
WIP (44.28 KB, patch)
2017-04-11 08:30 PDT, Saam Barati
no flags
WIP (40.73 KB, patch)
2017-04-11 12:18 PDT, Saam Barati
no flags
WIP (689.59 KB, patch)
2017-04-11 15:34 PDT, Saam Barati
no flags
patch (536.32 KB, patch)
2017-04-13 11:38 PDT, Saam Barati
no flags
patch (536.18 KB, patch)
2017-04-13 11:43 PDT, Saam Barati
no flags
patch (534.94 KB, patch)
2017-04-13 11:44 PDT, Saam Barati
fpizlo: review+
buildbot: commit-queue-
Archive of layout-test-results from ews103 for mac-elcapitan (914.52 KB, application/zip)
2017-04-13 12:57 PDT, Build Bot
no flags
Archive of layout-test-results from ews114 for mac-elcapitan (1.91 MB, application/zip)
2017-04-13 13:10 PDT, Build Bot
no flags
Archive of layout-test-results from ews107 for mac-elcapitan-wk2 (1013.66 KB, application/zip)
2017-04-13 13:28 PDT, Build Bot
no flags
patch for landing (537.52 KB, patch)
2017-04-13 13:33 PDT, Saam Barati
no flags
patch for landing (537.58 KB, patch)
2017-04-13 14:08 PDT, Saam Barati
no flags
patch for landing (537.64 KB, patch)
2017-04-13 14:26 PDT, Saam Barati
buildbot: commit-queue-
Archive of layout-test-results from ews102 for mac-elcapitan (908.69 KB, application/zip)
2017-04-13 15:54 PDT, Build Bot
no flags
Archive of layout-test-results from ews106 for mac-elcapitan-wk2 (1.02 MB, application/zip)
2017-04-13 16:07 PDT, Build Bot
no flags
Archive of layout-test-results from ews116 for mac-elcapitan (1.69 MB, application/zip)
2017-04-13 16:19 PDT, Build Bot
no flags
Archive of layout-test-results from ews123 for ios-simulator-wk2 (53.55 MB, application/zip)
2017-04-13 17:14 PDT, Build Bot
no flags
patch for landing (666.56 KB, patch)
2017-04-13 17:24 PDT, Saam Barati
no flags
Saam Barati
Comment 1 2017-04-07 17:48:38 PDT
*** Bug 170632 has been marked as a duplicate of this bug. ***
Saam Barati
Comment 2 2017-04-07 17:49:01 PDT
Saam Barati
Comment 3 2017-04-11 08:30:34 PDT
Created attachment 306818 [details] WIP I think it works. Need to clean up some code.
Saam Barati
Comment 4 2017-04-11 08:33:52 PDT
I got a WasmBench test to run in a worker and main thread VM concurrently to each other.
JF Bastien
Comment 5 2017-04-11 10:24:05 PDT
(In reply to Saam Barati from comment #4) > I got a WasmBench test to run in a worker and main thread VM concurrently to > each other. 🎉
Saam Barati
Comment 6 2017-04-11 12:18:01 PDT
Created attachment 306838 [details] WIP Want to see tests run now that worker heap timers should actually GC for certain programs where this wouldn't happen before.
Saam Barati
Comment 7 2017-04-11 15:34:52 PDT
Created attachment 306866 [details] WIP Have tests now.
Saam Barati
Comment 8 2017-04-13 11:38:59 PDT
Saam Barati
Comment 9 2017-04-13 11:43:10 PDT
Created attachment 307004 [details] patch rebased
Saam Barati
Comment 10 2017-04-13 11:44:27 PDT
Created attachment 307005 [details] patch remove some logging.
Build Bot
Comment 11 2017-04-13 11:46:41 PDT
Attachment 307005 [details] did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/wasm/js/JSWebAssemblyModule.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/runtime/PromiseDeferredTimer.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCActivityCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/runtime/JSRunLoopTimer.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] Total errors found: 4 in 42 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 12 2017-04-13 11:48:30 PDT
Comment on attachment 307005 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=307005&action=review > Source/JavaScriptCore/ChangeLog:12 > + This patch adds a callback to JSRunLoopTimer to notify > + clients that a timer has been set. This is used inside > + WorkerRunLoop in WebCore so that its RunLoop can perform > + an iteration when it sees that a timer got set. > + It would be super useful to call out in this change log that we are postMessaging modules by just sharing them.
Build Bot
Comment 13 2017-04-13 12:57:48 PDT
Comment on attachment 307005 [details] patch Attachment 307005 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/3530057 New failing tests: workers/wasm-hashset-many.html workers/wasm-hashset.html
Build Bot
Comment 14 2017-04-13 12:57:50 PDT
Created attachment 307014 [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
Build Bot
Comment 15 2017-04-13 13:10:12 PDT
Comment on attachment 307005 [details] patch Attachment 307005 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/3530062 New failing tests: workers/wasm-hashset-many.html workers/wasm-hashset.html workers/wasm-long-compile.html workers/wasm-long-compile-many.html
Build Bot
Comment 16 2017-04-13 13:10:13 PDT
Created attachment 307016 [details] Archive of layout-test-results from ews114 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews114 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 17 2017-04-13 13:28:19 PDT
Comment on attachment 307005 [details] patch Attachment 307005 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/3530154 New failing tests: workers/wasm-hashset-many.html workers/wasm-hashset.html
Build Bot
Comment 18 2017-04-13 13:28:21 PDT
Created attachment 307018 [details] Archive of layout-test-results from ews107 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Saam Barati
Comment 19 2017-04-13 13:33:04 PDT
Created attachment 307019 [details] patch for landing Marked tests as slow, will see if that appeases EWS. Also added necessary #ifdefs to make it run on non-wasm builds.
Build Bot
Comment 20 2017-04-13 13:34:44 PDT
Attachment 307019 [details] did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/wasm/js/JSWebAssemblyModule.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/runtime/PromiseDeferredTimer.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCActivityCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/runtime/JSRunLoopTimer.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:563: Wrong number of spaces before statement. (expected: 16) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:1664: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:1689: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:2874: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 8 in 43 files If any of these errors are false positives, please file a bug against check-webkit-style.
Saam Barati
Comment 21 2017-04-13 14:08:40 PDT
Created attachment 307022 [details] patch for landing try to get non-wasm enabled builds to compile.
Build Bot
Comment 22 2017-04-13 14:10:55 PDT
Attachment 307022 [details] did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/wasm/js/JSWebAssemblyModule.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/runtime/PromiseDeferredTimer.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCActivityCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/runtime/JSRunLoopTimer.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:563: Wrong number of spaces before statement. (expected: 16) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:1664: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:1689: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:2874: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 8 in 43 files If any of these errors are false positives, please file a bug against check-webkit-style.
Saam Barati
Comment 23 2017-04-13 14:26:05 PDT
Created attachment 307024 [details] patch for landing try to fix the build.
Build Bot
Comment 24 2017-04-13 14:29:20 PDT
Attachment 307024 [details] did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/wasm/js/JSWebAssemblyModule.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/runtime/PromiseDeferredTimer.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCActivityCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/runtime/JSRunLoopTimer.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:563: Wrong number of spaces before statement. (expected: 16) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:1664: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:1689: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:2878: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 8 in 43 files If any of these errors are false positives, please file a bug against check-webkit-style.
Build Bot
Comment 25 2017-04-13 15:54:15 PDT
Comment on attachment 307024 [details] patch for landing Attachment 307024 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/3530775 New failing tests: workers/wasm-hashset-many.html workers/wasm-hashset.html
Build Bot
Comment 26 2017-04-13 15:54:17 PDT
Created attachment 307041 [details] Archive of layout-test-results from ews102 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 27 2017-04-13 16:07:09 PDT
Comment on attachment 307024 [details] patch for landing Attachment 307024 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/3530787 New failing tests: workers/wasm-hashset-many.html workers/wasm-hashset.html
Build Bot
Comment 28 2017-04-13 16:07:10 PDT
Created attachment 307043 [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
Build Bot
Comment 29 2017-04-13 16:19:56 PDT
Comment on attachment 307024 [details] patch for landing Attachment 307024 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/3530789 New failing tests: workers/wasm-hashset-many.html workers/wasm-hashset.html workers/wasm-long-compile-many.html
Build Bot
Comment 30 2017-04-13 16:19:58 PDT
Created attachment 307044 [details] Archive of layout-test-results from ews116 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews116 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Saam Barati
Comment 31 2017-04-13 17:06:20 PDT
I'm adding some slower tests. My tests are timing EWS out.
Build Bot
Comment 32 2017-04-13 17:14:51 PDT
Comment on attachment 307024 [details] patch for landing Attachment 307024 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/3530905 New failing tests: workers/wasm-hashset-many.html workers/wasm-hashset.html workers/wasm-long-compile.html workers/wasm-long-compile-many.html
Build Bot
Comment 33 2017-04-13 17:14:56 PDT
Created attachment 307052 [details] Archive of layout-test-results from ews123 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews123 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Saam Barati
Comment 34 2017-04-13 17:24:40 PDT
Created attachment 307055 [details] patch for landing Hopefully tests run fast enough now.
Build Bot
Comment 35 2017-04-13 17:27:40 PDT
Attachment 307055 [details] did not pass style-queue: ERROR: Source/WebCore/ForwardingHeaders/wasm/js/JSWebAssemblyModule.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/runtime/PromiseDeferredTimer.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/heap/GCActivityCallback.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/ForwardingHeaders/runtime/JSRunLoopTimer.h:0: No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:563: Wrong number of spaces before statement. (expected: 16) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:1664: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:1689: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:2878: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 8 in 46 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Commit Bot
Comment 36 2017-04-13 19:10:24 PDT
Comment on attachment 307055 [details] patch for landing Clearing flags on attachment: 307055 Committed r215353: <http://trac.webkit.org/changeset/215353>
WebKit Commit Bot
Comment 37 2017-04-13 19:10:26 PDT
All reviewed patches have been landed. Closing bug.
Yusuke Suzuki
Comment 38 2017-04-14 05:39:25 PDT
Comment on attachment 307055 [details] patch for landing View in context: https://bugs.webkit.org/attachment.cgi?id=307055&action=review > Source/WebCore/ChangeLog:32 > + level MessageQueue timeout to be no longer than the next timer fire date. Just curiious, I have one question. Is there any chance to merge WorkerRunLoop to WTF::RunLoop?
Saam Barati
Comment 39 2017-04-14 08:34:40 PDT
(In reply to Yusuke Suzuki from comment #38) > Comment on attachment 307055 [details] > patch for landing > > View in context: > https://bugs.webkit.org/attachment.cgi?id=307055&action=review > > > Source/WebCore/ChangeLog:32 > > + level MessageQueue timeout to be no longer than the next timer fire date. > > Just curiious, I have one question. Is there any chance to merge > WorkerRunLoop to WTF::RunLoop? I think this would be doable, and perhaps better than what we have now. I need to read WTF::RunLoop to be sure.
Csaba Osztrogonác
Comment 40 2017-04-14 13:01:59 PDT
(In reply to WebKit Commit Bot from comment #36) > Comment on attachment 307055 [details] > patch for landing > > Clearing flags on attachment: 307055 > > Committed r215353: <http://trac.webkit.org/changeset/215353> It broke the Apple Mac cmake build: /Volumes/Data/slave/elcapitan-cmake-debug/build/Source/WebCore/ForwardingHeaders/wasm/js/JSWebAssemblyModule.h:2:10: fatal error: 'JavaScriptCore/JSWebAssemblyModule.h' file not found #include <JavaScriptCore/JSWebAssemblyModule.h> ^ 1 error generated.
Don Olmstead
Comment 41 2017-04-14 13:46:16 PDT
This revision broke the WinCairo build. See https://build.webkit.org/builders/WinCairo%2064-Bit%20Release/builds/917/steps/compile-webkit/logs/stdio fatal error C1083: Cannot open include file: 'JavaScriptCore/JSWebAssemblyModule.h': No such file or directory
Saam Barati
Comment 42 2017-04-14 13:54:38 PDT
Alex just landed what we think should fix the issue: https://trac.webkit.org/changeset/215373/webkit
Note You need to log in before you can comment on or make changes to this bug.