[JSC] InternalFunction should be non-destructible
Created attachment 384253 [details] Patch
Created attachment 384254 [details] Patch
Created attachment 384255 [details] Patch
Created attachment 384256 [details] Patch
Oops, this depends on https://bugs.webkit.org/show_bug.cgi?id=204555
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.
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
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.
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
Created attachment 384271 [details] Patch
Created attachment 384276 [details] Patch
Created attachment 384278 [details] Patch
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.
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.
Committed r252875: <https://trac.webkit.org/changeset/252875>
<rdar://problem/57483799>