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.