Slava Pestov
|
3789e75e0c
|
vm: compaction now updates the needs_fixup set
|
2009-11-24 19:29:59 -06:00 |
Slava Pestov
|
bfa5340ea8
|
vm: mark sweep now traces code block references; rename embedded_pointer to instruction_operand
|
2009-11-23 19:17:12 -06:00 |
Slava Pestov
|
e66b8673f4
|
vm: minor GC traces embedded pointers
|
2009-11-22 13:37:39 -06:00 |
Slava Pestov
|
71dad47a32
|
vm: record compaction events correctly
|
2009-11-13 09:29:21 -06:00 |
Slava Pestov
|
371ff1498d
|
vm: minor cleanup
|
2009-11-08 06:08:17 -06:00 |
Slava Pestov
|
9ae5faa14e
|
vm: rewrite 'become' primitive so that it uses a slot visitor instead of GC
|
2009-11-05 19:03:51 -06:00 |
Slava Pestov
|
f2bf46e516
|
vm: fix issue with unnecessary heap growth
|
2009-11-03 22:25:22 -06:00 |
Slava Pestov
|
0a476dc58a
|
vm: remove debug messages
|
2009-11-02 18:24:04 -06:00 |
Slava Pestov
|
b341527428
|
vm: rename gc_root to data_root, add code_root to fix a problem where code blocks would move underneath the PIC compiler if PIC compiler allocated enough
|
2009-11-02 18:10:34 -06:00 |
Slava Pestov
|
d65296b334
|
vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)
|
2009-11-02 04:25:54 -06:00 |
Slava Pestov
|
5dc04bd8ae
|
vm: faster sweep algorithm
|
2009-11-01 20:24:25 -06:00 |
Slava Pestov
|
f68319fef3
|
vm: more sweep phase optimizations
|
2009-11-01 04:40:15 -06:00 |
Slava Pestov
|
99e3b9c59c
|
vm: don't do a data compaction when growing the data heap, speeds up data heap grow by a bit
|
2009-10-31 21:06:34 -05:00 |
Slava Pestov
|
772c5483dc
|
vm: get GC events working, -verbosegc switch now produces more info
|
2009-10-26 23:57:26 -05:00 |
Slava Pestov
|
74ecd90cd6
|
vm: remove crummy old GC stats, split off free list code, clean up various other things
|
2009-10-26 22:08:35 -05:00 |
Slava Pestov
|
d574aeb70a
|
vm: make compaction its own gc_op
|
2009-10-25 14:02:14 -05:00 |
Slava Pestov
|
b064946b11
|
vm: debugging compaction
|
2009-10-25 08:07:21 -05:00 |
Slava Pestov
|
074200a213
|
vm: make some more ctors explicit just for kicks
|
2009-10-24 23:02:58 -05:00 |
Slava Pestov
|
7a1f2b2d4b
|
vm: clean up code heap visitor
|
2009-10-24 04:36:29 -05:00 |
Slava Pestov
|
60f3cb669a
|
vm: data heap compaction work in progress
|
2009-10-24 04:18:33 -05:00 |
Slava Pestov
|
eefcc0fb8c
|
vm: factor out code that visits object slots and code heap blocks into slot_visitor and code_block_visitor
|
2009-10-24 03:54:53 -05:00 |
Slava Pestov
|
2bae20cd41
|
vm: debugging mark-sweep
|
2009-10-21 19:41:54 -05:00 |
Slava Pestov
|
a03a817bdb
|
vm: mark sweep gc for tenured space work in progress
|
2009-10-20 22:20:49 -05:00 |
Slava Pestov
|
056ccc6741
|
vm: split off free_list_allocator from heap class, rename zone to bump_allocator
|
2009-10-20 15:26:11 -05:00 |
Slava Pestov
|
e7d707c92c
|
vm: simplify code heap by eliminating HeapLayout template parameter
|
2009-10-20 14:01:46 -05:00 |
Slava Pestov
|
1f97169c62
|
vm: move factor_vm::untagged_object_size() to object::size()
|
2009-10-20 13:13:39 -05:00 |
Slava Pestov
|
5e12356a22
|
vm: new mark_bits data structure replaces hashtable when compacting code heap
|
2009-10-19 02:21:11 -05:00 |
Slava Pestov
|
a977ade0af
|
vm: fix conflict in image.cpp
|
2009-10-18 20:54:13 -05:00 |
Slava Pestov
|
89612b7f31
|
vm: rename myvm and parent_vm instance variables to parent, clean up casts in primitive definitions
|
2009-10-18 20:31:59 -05:00 |
Slava Pestov
|
40b5c2c732
|
vm: code heap: move mark bits to a separate bitmap
|
2009-10-16 14:41:40 -05:00 |
Slava Pestov
|
030d035e94
|
vm: code heap compaction at runtime using compact-gc primitive
|
2009-10-16 11:39:35 -05:00 |
Slava Pestov
|
7c126be62b
|
vm: simpler and more efficient code heap compaction; restructure a few things to get ready for runtime code heap compaction
|
2009-10-16 04:33:35 -05:00 |
Slava Pestov
|
bd20a52580
|
vm: make the code nice and pretty
|
2009-10-16 02:55:02 -05:00 |
Slava Pestov
|
78f3f0e90d
|
vm: don't flush instruction cache twice per code block on a major GC on PowerPC
|
2009-10-15 22:31:41 -05:00 |
Slava Pestov
|
5027527287
|
vm: during tenuring stage of aging collection, if tenured space fills up, it would attempt a to_tenured collection. this will succeed if all roots were tenured. however, this is unsound, because there's now an untraced segment of tenured space. fix: if tenuring fails, go on to do a full collection instead
|
2009-10-15 05:51:11 -05:00 |
Slava Pestov
|
e89d037c3f
|
vm: debugging new card marking
|
2009-10-14 04:59:28 -05:00 |
Slava Pestov
|
10ad5cad53
|
Working on adding support for the new write barrier to optimized code
|
2009-10-14 02:06:01 -05:00 |
Slava Pestov
|
1ee53d04a9
|
vm: new card marking implementation supports marking partial objects
|
2009-10-13 21:16:04 -05:00 |
Slava Pestov
|
237a0d7ab5
|
vm: remove old_data_heap from gc_state
|
2009-10-09 09:47:54 -05:00 |
Slava Pestov
|
b2cae0b6d8
|
vm: more efficient code heap remembered set
|
2009-10-08 23:10:32 -05:00 |
Slava Pestov
|
6582cba945
|
vm: split off parts of data_gc into sub-files and clean up logic
|
2009-10-08 02:10:28 -05:00 |
Slava Pestov
|
22244414f3
|
vm: add code block marking to full_collector.cpp
|
2009-10-08 00:23:29 -05:00 |
Slava Pestov
|
83de156992
|
vm: working on new object-oriented garbage collector
|
2009-10-07 15:48:09 -05:00 |