diff options
author | Rob Pike <r@golang.org> | 2009-06-09 09:53:44 -0700 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2009-06-09 09:53:44 -0700 |
commit | 7249ea4df2b4f12a4e7ed446f270cea87e4ffd34 (patch) | |
tree | 7032a11d0cac2ae4d3e90f7a189b575b5a50f848 /src/lib/runtime/mfixalloc.c | |
parent | acf6ef7a82b3fe61516a1bac4563706552bdf078 (diff) | |
download | golang-7249ea4df2b4f12a4e7ed446f270cea87e4ffd34.tar.gz |
mv src/lib to src/pkg
tests: all.bash passes, gobuild still works, godoc still works.
R=rsc
OCL=30096
CL=30102
Diffstat (limited to 'src/lib/runtime/mfixalloc.c')
-rw-r--r-- | src/lib/runtime/mfixalloc.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/src/lib/runtime/mfixalloc.c b/src/lib/runtime/mfixalloc.c deleted file mode 100644 index dd4f3f251..000000000 --- a/src/lib/runtime/mfixalloc.c +++ /dev/null @@ -1,56 +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 -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; -} - -void* -FixAlloc_Alloc(FixAlloc *f) -{ - void *v; - - if(f->list) { - v = f->list; - f->list = *(void**)f->list; - return v; - } - if(f->nchunk < f->size) { - f->chunk = f->alloc(FixAllocChunk); - if(f->chunk == nil) - 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; - return v; -} - -void -FixAlloc_Free(FixAlloc *f, void *p) -{ - *(void**)p = f->list; - f->list = p; -} - |