INNER CODE UNIT · C++

p

Xrysnow/LuaSTG-x · frameworks/Classes/MemPoolManager.cpp:91

	auto p = std::make_shared<Vector<backend::ProgramState*>>();
	for (size_t i = 0; i < ProgramStatePoolBlockSize; ++i)
	{
		const auto s = new backend::ProgramState(_program);
		s->autorelease();
		p->pushBack(s);
	}
	blocks.emplace_back(p);
}

backend::ProgramState* ProgramStatePool::get()
{
	check_size();
	assert(blocks[idx_b]->size() > idx_a);
	return blocks[idx_b]->at(idx_a++);
}

ProgramStatePool::ProgramStatePool(Program* program)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…