Summary: | WebAssembly: We should be able to postMessage a JSWebAssemblyModule | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Saam Barati <saam> | ||||||||||||||||||||||||||||||||||||||
Component: | JavaScriptCore | Assignee: | Saam Barati <saam> | ||||||||||||||||||||||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||||||||||||||||||||||
Severity: | Normal | CC: | achristensen, alecflett, beidson, benjamin, buildbot, commit-queue, don.olmstead, fpizlo, ggaren, gskachkov, jfbastien, jsbell, keith_miller, mark.lam, msaboff, ossy, rniwa, ticaiolima, ysuzuki | ||||||||||||||||||||||||||||||||||||||
Priority: | P2 | ||||||||||||||||||||||||||||||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||||||||||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||||||||||||||||||||
Bug Depends on: | |||||||||||||||||||||||||||||||||||||||||
Bug Blocks: | 168264 | ||||||||||||||||||||||||||||||||||||||||
Attachments: |
|
Description
Saam Barati
2017-04-06 15:53:43 PDT
*** Bug 170632 has been marked as a duplicate of this bug. *** Created attachment 306557 [details]
WIP
Created attachment 306818 [details]
WIP
I think it works. Need to clean up some code.
I got a WasmBench test to run in a worker and main thread VM concurrently to each other. (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. 🎉 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.
Created attachment 306866 [details]
WIP
Have tests now.
Created attachment 307003 [details]
patch
Created attachment 307004 [details]
patch
rebased
Created attachment 307005 [details]
patch
remove some logging.
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.
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. 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 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
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 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
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 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
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.
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.
Created attachment 307022 [details]
patch for landing
try to get non-wasm enabled builds to compile.
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.
Created attachment 307024 [details]
patch for landing
try to fix the build.
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.
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 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
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 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
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 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
I'm adding some slower tests. My tests are timing EWS out. 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 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
Created attachment 307055 [details]
patch for landing
Hopefully tests run fast enough now.
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.
Comment on attachment 307055 [details] patch for landing Clearing flags on attachment: 307055 Committed r215353: <http://trac.webkit.org/changeset/215353> All reviewed patches have been landed. Closing bug. 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? (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. (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. 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 Alex just landed what we think should fix the issue: https://trac.webkit.org/changeset/215373/webkit |