RESOLVED FIXED 215746
[JSC] Add concurrency-aware version of isCallable / isConstructor to make it usable in DFG compiler
https://bugs.webkit.org/show_bug.cgi?id=215746
Summary [JSC] Add concurrency-aware version of isCallable / isConstructor to make it ...
Yusuke Suzuki
Reported 2020-08-21 17:55:06 PDT
[JSC] Add concurrency-aware version of isCallable / isConstructor to make it usable in DFG compiler
Attachments
Patch (21.60 KB, patch)
2020-08-21 17:56 PDT, Yusuke Suzuki
no flags
Patch (26.07 KB, patch)
2020-08-21 18:12 PDT, Yusuke Suzuki
no flags
Patch (26.18 KB, patch)
2020-08-21 18:20 PDT, Yusuke Suzuki
saam: review+
Yusuke Suzuki
Comment 1 2020-08-21 17:56:56 PDT
Yusuke Suzuki
Comment 2 2020-08-21 18:12:13 PDT
Yusuke Suzuki
Comment 3 2020-08-21 18:20:25 PDT
Saam Barati
Comment 4 2020-08-24 13:39:25 PDT
Comment on attachment 407037 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=407037&action=review > Source/JavaScriptCore/runtime/Concurrency.h:34 > + OnMainThread, > + Concurrently, to make these names match, I'd do: OnMainThread, OnConcurrentThread MainThread, ConcurrentThread Main, Concurrent > Source/JavaScriptCore/runtime/JSCellInlines.h:254 > + else { Do we need an else here, since previous "if constexpr" ends in a return? > Source/JavaScriptCore/runtime/JSCellInlines.h:257 > + if (type() == InternalFunctionType) Maybe add a FIXME + link to bug about your plan to when NPAPI is removed b/c its concurrency issue, and rename getCallData to indicate it can be concurrent? Or perhaps, if that doesn't work out, add a new getCallDataConcurrently version? > Source/JavaScriptCore/runtime/JSCellInlines.h:272 > + else { Do we need an else here, since previous "if constexpr" ends in a return?
Yusuke Suzuki
Comment 5 2020-08-25 01:03:57 PDT
Comment on attachment 407037 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=407037&action=review Thanks! >> Source/JavaScriptCore/runtime/Concurrency.h:34 >> + Concurrently, > > to make these names match, I'd do: > OnMainThread, OnConcurrentThread > > MainThread, ConcurrentThread > > Main, Concurrent Changing it to MainThread / ConcurrentThread. >> Source/JavaScriptCore/runtime/JSCellInlines.h:254 >> + else { > > Do we need an else here, since previous "if constexpr" ends in a return? Strictly speaking, this else makes else branch `if-constexpr-else`, but in this case, the above branch returns so maybe this does not affect on the generated code. Removed. >> Source/JavaScriptCore/runtime/JSCellInlines.h:257 >> + if (type() == InternalFunctionType) > > Maybe add a FIXME + link to bug about your plan to when NPAPI is removed b/c its concurrency issue, and rename getCallData to indicate it can be concurrent? > > Or perhaps, if that doesn't work out, add a new getCallDataConcurrently version? Added FIXME. >> Source/JavaScriptCore/runtime/JSCellInlines.h:272 >> + else { > > Do we need an else here, since previous "if constexpr" ends in a return? Removed because of the same reason above.
Yusuke Suzuki
Comment 6 2020-08-25 01:06:56 PDT
Radar WebKit Bug Importer
Comment 7 2020-08-25 01:07:13 PDT
Note You need to log in before you can comment on or make changes to this bug.