void WeakMapData::visitChildren(JSCell* cell, SlotVisitor& visitor) { Base::visitChildren(cell, visitor); WeakMapData* thisObj = jsCast<WeakMapData*>(cell); visitor.addUnconditionalFinalizer(&thisObj->m_deadKeyCleaner); visitor.addWeakReferenceHarvester(&thisObj->m_deadKeyCleaner); // Rough approximation of the external storage needed for the hashtable. // This isn't exact, but it is close enough, and proportional to the actual // external mermory usage. visitor.reportExtraMemoryUsage(thisObj->m_map.capacity() * (sizeof(JSObject*) + sizeof(WriteBarrier<Unknown>))); }