示例#1
0
文件: mfinal.c 项目: Quantumboost/gcc
void
runtime_initfintab()
{
	int32 i;

	for(i=0; i<TABSZ; i++)
		runtime_initlock(&fintab[i]);
}
// Initialize a single central free list.
void
runtime_MCentral_Init(MCentral *c, int32 sizeclass)
{
	runtime_initlock(c);
	c->sizeclass = sizeclass;
	runtime_MSpanList_Init(&c->nonempty);
	runtime_MSpanList_Init(&c->empty);
}
示例#3
0
文件: mheap.c 项目: Quantumboost/gcc
// Initialize the heap; fetch memory using alloc.
void
runtime_MHeap_Init(MHeap *h, void *(*alloc)(uintptr))
{
	uint32 i;

	runtime_initlock(h);
	runtime_FixAlloc_Init(&h->spanalloc, sizeof(MSpan), alloc, RecordSpan, h);
	runtime_FixAlloc_Init(&h->cachealloc, sizeof(MCache), alloc, nil, nil);
	// h->mapcache needs no init
	for(i=0; i<nelem(h->free); i++)
		runtime_MSpanList_Init(&h->free[i]);
	runtime_MSpanList_Init(&h->large);
	for(i=0; i<nelem(h->central); i++)
		runtime_MCentral_Init(&h->central[i], i);
}
示例#4
0
void
runtime_initfintab()
{
	runtime_initlock(&finlock);
}