Joel Dice
18d25468fe
optimize common case of setting a single object field so we don't acquire the heap lock unnecessarily
2008-04-23 18:08:24 -06:00
Joel Dice
0d3e6b7793
simplify memory allocation interfaces
2008-04-13 12:15:04 -06:00
Joel Dice
2edaa82801
prepend copyright notice and license to all source files; add license.txt and readme.txt
2008-02-19 11:06:52 -07:00
Joel Dice
2f83468b80
remove context argument from Allocator::tryAllocate and Allocator::allocate, since we aren't using it after all
2008-01-14 16:37:24 -07:00
Joel Dice
a89c22b493
force major collection under low memory condition
2008-01-14 09:39:57 -07:00
Joel Dice
0298865efa
refactor memory allocation to allow better detection and handling of low-memory conditions
2008-01-13 15:05:08 -07:00
Joel Dice
8e5ce11047
refactor memory management code
...
We now support immortal objects, which the GC will scan for references
but not consider for collection. On x86_64, we allocate JIT code memory
via mmap, which lets us map memory into the bottom 2GB of the address
space, ensuring that 32-bit relative jumps and calls work.
2008-01-09 18:20:36 -07:00
Joel Dice
7f1837fecd
move fixed object (mark and sweep) support into heap.cpp and refine algorithms for determining when and how much to GC
2007-10-28 13:14:53 -06:00
Joel Dice
60072b9fdc
implement fixed object support
2007-10-27 19:54:30 -06:00
Joel Dice
bd4d9fdeb2
several things: change object typedef to Object* instead of void* to improve type safety; add JNICALL attributes to JNI functions; implement additional JavaVM methods
2007-09-06 18:21:52 -06:00
Joel Dice
215a52ba54
simplify heap.cpp by allocating segments pessimistically
2007-08-18 15:24:29 -06:00
Joel Dice
de9213ce30
finish java/lang/ref/* support; add wrapper classes for primitives
2007-07-19 21:18:25 -06:00
Joel Dice
b70e4b368f
sketch of finalizer/weak reference overhaul; type generator bugfixes involving array member layout
2007-07-09 19:43:43 -06:00
Joel Dice
32b5d070fb
simplify monitor lookup; add finalization
2007-07-02 08:19:05 -06:00
Joel Dice
bb16d8e62b
snapshot (broken)
2007-07-01 19:42:35 -06:00
Joel Dice
4e07acb26c
it builds!
2007-06-20 13:20:25 -06:00
Joel Dice
d4d155c834
snapshot
2007-06-20 11:42:13 -06:00
Joel Dice
1a05eb2739
snapshot
2007-06-20 10:58:35 -06:00
Joel Dice
caac00e5ff
start rough sketch of GC code in heap.cpp
2007-06-19 20:28:31 -06:00
Joel Dice
6756ade3bd
update generated type code and fix most link errors
2007-06-18 13:23:44 -06:00
Joel Dice
bb2494be83
use ACQUIRE_RAW instead of ACQUIRE in set(), since it will only block for a bounded interval; rename some Heap methods
2007-06-15 10:00:08 -06:00
Joel Dice
1853ea825e
change Heap::markTenured() return type to void
2007-06-14 18:51:48 -06:00
Joel Dice
f5cb9b3bf1
implement/update ACQUIRE and ACQUIRE_RAW macros; refine set() implementation
2007-06-14 18:50:55 -06:00
Joel Dice
86b7a75977
implement set(); minor tweaks elsewhere
2007-06-08 08:23:04 -06:00
Joel Dice
f6e369c424
add public access specifiers to Heap::Vistor and Heap::Iterator
2007-06-02 19:58:47 -06:00
Joel Dice
3a2f478521
add heap.h
2007-06-02 17:36:55 -06:00