RESOLVED FIXED204556
[JSC] InternalFunction should be non-destructible
https://bugs.webkit.org/show_bug.cgi?id=204556
Summary [JSC] InternalFunction should be non-destructible
Yusuke Suzuki
Reported 2019-11-24 04:45:36 PST
[JSC] InternalFunction should be non-destructible
Attachments
Patch (4.20 KB, patch)
2019-11-24 04:46 PST, Yusuke Suzuki
no flags
Patch (6.74 KB, patch)
2019-11-24 04:50 PST, Yusuke Suzuki
no flags
Patch (7.01 KB, patch)
2019-11-24 04:59 PST, Yusuke Suzuki
no flags
Patch (8.03 KB, patch)
2019-11-24 05:05 PST, Yusuke Suzuki
no flags
Archive of layout-test-results from ews214 for win-future (1.04 MB, application/zip)
2019-11-24 08:12 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews213 for win-future (1.02 MB, application/zip)
2019-11-24 09:48 PST, EWS Watchlist
no flags
Patch (17.20 KB, patch)
2019-11-24 23:38 PST, Yusuke Suzuki
no flags
Patch (17.41 KB, patch)
2019-11-25 00:20 PST, Yusuke Suzuki
no flags
Patch (19.05 KB, patch)
2019-11-25 00:55 PST, Yusuke Suzuki
mark.lam: review+
Yusuke Suzuki
Comment 1 2019-11-24 04:46:22 PST
Yusuke Suzuki
Comment 2 2019-11-24 04:50:30 PST
Yusuke Suzuki
Comment 3 2019-11-24 04:59:37 PST
Yusuke Suzuki
Comment 4 2019-11-24 05:05:00 PST
Yusuke Suzuki
Comment 5 2019-11-24 05:09:19 PST
EWS Watchlist
Comment 6 2019-11-24 08:12:31 PST
Comment on attachment 384256 [details] Patch Attachment 384256 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/13276861 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 7 2019-11-24 08:12:33 PST
Created attachment 384257 [details] Archive of layout-test-results from ews214 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews214 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
EWS Watchlist
Comment 8 2019-11-24 09:48:05 PST
Comment on attachment 384256 [details] Patch Attachment 384256 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/13276945 Number of test failures exceeded the failure limit.
EWS Watchlist
Comment 9 2019-11-24 09:48:07 PST
Created attachment 384259 [details] Archive of layout-test-results from ews213 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews213 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Yusuke Suzuki
Comment 10 2019-11-24 23:38:52 PST
Yusuke Suzuki
Comment 11 2019-11-25 00:20:01 PST
Yusuke Suzuki
Comment 12 2019-11-25 00:55:46 PST
Mark Lam
Comment 13 2019-11-25 08:56:19 PST
Comment on attachment 384278 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=384278&action=review r=me if EWS bots are green. > Source/JavaScriptCore/ChangeLog:11 > + InternalFunction should be non-destructible since nobody is using destroy function. > + If it is defined, it should have different IsoSubspace. We annotate needsDestruction = true for > + these classes. And we define HeapCellType for each such a type, and pass it to IsoSubspace to > + invoke appropriate destructor. I suggest rephrasing this as: InternalFunction and most of its subclasses should be non-destructible since they can be trivially destructed and don't use a destroy function. For the few subclasses that do need a destroy function, these should have different IsoSubspaces of their own. For each of these subclasses, we annotate needsDestruction = true, define a specific HeapCellType for them, and pass the HeapCellType to their IsoSubspace so that their destructors can be invoked.
Yusuke Suzuki
Comment 14 2019-11-25 23:01:55 PST
Comment on attachment 384278 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=384278&action=review >> Source/JavaScriptCore/ChangeLog:11 >> + invoke appropriate destructor. > > I suggest rephrasing this as: > > InternalFunction and most of its subclasses should be non-destructible since they can be trivially destructed and don't use a destroy function. For the few subclasses that do need a destroy function, these should have different IsoSubspaces of their own. For each of these subclasses, we annotate needsDestruction = true, define a specific HeapCellType for them, and pass the HeapCellType to their IsoSubspace so that their destructors can be invoked. Sounds nice!!! Fixed.
Yusuke Suzuki
Comment 15 2019-11-25 23:02:50 PST
Radar WebKit Bug Importer
Comment 16 2019-11-25 23:03:20 PST
Note You need to log in before you can comment on or make changes to this bug.