WeakBlock::FreeCell* WeakSet::addAllocator() { WeakBlock* block = WeakBlock::create(); m_heap->didAllocate(WeakBlock::blockSize); m_blocks.append(block); WeakBlock::SweepResult sweepResult = block->takeSweepResult(); ASSERT(!sweepResult.isNull() && sweepResult.freeList); return sweepResult.freeList; }
WeakBlock::FreeCell* WeakSet::addAllocator() { if (!isOnList()) heap()->objectSpace().addActiveWeakSet(this); WeakBlock* block = WeakBlock::create(*heap(), m_container); heap()->didAllocate(WeakBlock::blockSize); m_blocks.append(block); WeakBlock::SweepResult sweepResult = block->takeSweepResult(); ASSERT(!sweepResult.isNull() && sweepResult.freeList); return sweepResult.freeList; }