A real-time, non-relocating, conservative, Treadmill allocator.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
Makefile
PKG
README
alloc.c
alloc_log.gp
barrier.c
barrier.h
block.c
block.h
color.c
color.h
config.h
debug.c
debug.h
init.c
internal.c
internal.h
list.h
log.c
log.h
malloc.c
mark.c
mark.h
node.h
node_color.h
os.c
os.h
page.h
phase.c
phase.h
ptr.h
root.c
root.h
stats.c
stats.h
tm.c
tm.h
tm_data.c
tm_data.h
tmtest.c
tmtest.gdb
tread.c
tread.h
tread_inline.h
tread_test.c
type.c
type.h
user.c
wb.c
wb.h

README

$Id: README,v 1.6 2008-01-15 05:21:03 stephens Exp $

	Introduction

This is a real-time, non-relocating, conservative, Treadmill allocator.

TM interleaves marking, scanning and sweeping during each call to tm_malloc().

TM attempts to limit the amount of scanning, marking and collecting
during each call to tm_alloc() to avoid stopping the world for long
periods of time.

      	For More Information

See http://kurtstephens.com/research/tredmill


    To Do

* Implement allocations larger than tm_block_SIZE.
* Implement aligned allocations using a page-indexed bit vector.
** Flag a bit for the beginning page of the aligned block.
** Use a hash table to map the address of the aligned block to a tm_block containing its own tm_type.