diff options
| author | Ondřej Surý <ondrej@sury.org> | 2011-09-13 13:11:55 +0200 | 
|---|---|---|
| committer | Ondřej Surý <ondrej@sury.org> | 2011-09-13 13:11:55 +0200 | 
| commit | 80f18fc933cf3f3e829c5455a1023d69f7b86e52 (patch) | |
| tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /src/pkg/runtime/mfixalloc.c | |
| parent | 28592ee1ea1f5cdffcf85472f9de0285d928cf12 (diff) | |
| download | golang-80f18fc933cf3f3e829c5455a1023d69f7b86e52.tar.gz | |
Imported Upstream version 60
Diffstat (limited to 'src/pkg/runtime/mfixalloc.c')
| -rw-r--r-- | src/pkg/runtime/mfixalloc.c | 62 | 
1 files changed, 0 insertions, 62 deletions
| diff --git a/src/pkg/runtime/mfixalloc.c b/src/pkg/runtime/mfixalloc.c deleted file mode 100644 index ab9df3196..000000000 --- a/src/pkg/runtime/mfixalloc.c +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Fixed-size object allocator.  Returned memory is not zeroed. -// -// See malloc.h for overview. - -#include "runtime.h" -#include "malloc.h" - -// Initialize f to allocate objects of the given size, -// using the allocator to obtain chunks of memory. -void -runtime·FixAlloc_Init(FixAlloc *f, uintptr size, void *(*alloc)(uintptr), void (*first)(void*, byte*), void *arg) -{ -	f->size = size; -	f->alloc = alloc; -	f->first = first; -	f->arg = arg; -	f->list = nil; -	f->chunk = nil; -	f->nchunk = 0; -	f->inuse = 0; -	f->sys = 0; -} - -void* -runtime·FixAlloc_Alloc(FixAlloc *f) -{ -	void *v; - -	if(f->list) { -		v = f->list; -		f->list = *(void**)f->list; -		f->inuse += f->size; -		return v; -	} -	if(f->nchunk < f->size) { -		f->sys += FixAllocChunk; -		f->chunk = f->alloc(FixAllocChunk); -		if(f->chunk == nil) -			runtime·throw("out of memory (FixAlloc)"); -		f->nchunk = FixAllocChunk; -	} -	v = f->chunk; -	if(f->first) -		f->first(f->arg, v); -	f->chunk += f->size; -	f->nchunk -= f->size; -	f->inuse += f->size; -	return v; -} - -void -runtime·FixAlloc_Free(FixAlloc *f, void *p) -{ -	f->inuse -= f->size; -	*(void**)p = f->list; -	f->list = p; -} - | 
