Commit Graph

20 Commits

Author SHA1 Message Date
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