Bug 213687

Summary: findGCObjectPointersForMarking may have optimization opportunities
Product: WebKit Reporter: Keith Miller <keith_miller>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal    
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Keith Miller 2020-06-27 16:47:07 PDT
https://bugs.webkit.org/show_bug.cgi?id=213686 indicated it was a 2% perf regression on Speedo2 and JetStream2 to not return early from findGCObjectPointersForMarking after finding a live pointer to some HeapKind::JSCell. Likely, that regression comes from trying to determine if the pointer was live. It's possible most of this is from checking if the different pointers are live. 

Some improvements could be specializing findGCObjectPointersForMarking on the HeapKind or passing all values simultaneously to MarkedBlock::isLive.