Commit Graph

33 Commits (546a7d898cd2513c4b07138181067d1ac75c5e8c)

Author SHA1 Message Date
Joe Groff 841600fc6e vm: stage code block map fixup properly for GC
Don't update the map until the very last thing, and pass untranslated addresses to the iterator functors. Somewhat complicated by the fact that, for startup_fixup, the map is initialized with fixed-up values, so the fixup functor needs a flag indicating whether it operates with a fixed or unfixed code heap map.
2011-12-14 09:56:48 -08:00
Slava Pestov fb4de47abf Add GC maps to ##box, ##box-long-long, ##alien-invoke, ##alien-indirect and ##call-gc; remove ##gc-map instruction 2010-06-14 19:39:46 -04:00
Slava Pestov a08295d9b7 GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
Slava Pestov 5509f1f71d vm: use C++ exceptions instead of longjmp(), to make Windows crash more 2010-04-02 14:10:55 -04:00
Slava Pestov 0521890f97 vm: flush icache after GC 2009-11-24 21:36:35 -06:00
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 4168ffbcee New identity-hashcode primitive 2009-11-10 21:18:54 -06:00
Slava Pestov 858f20ef5f vm: fix crash in profiler 2009-11-06 01:22:53 -06:00
Slava Pestov 66b01c85e9 vm: fix 'become' when aging space is empty 2009-11-05 23:53:53 -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 c7430d74c2 vm: remove promotion strategy, clean up compaction code 2009-11-01 03:47:09 -06:00
Slava Pestov a737a78110 vm: clean up card unmarking 2009-10-30 03:15:50 -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 f9fe342b5c vm: fix typo in card tracing logic 2009-10-24 04:43:11 -05:00
Slava Pestov 38df6426de vm: move binary_payload_start() method from factor_vm to object class 2009-10-24 04:27:45 -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 6c561b5c4c vm: rename userenv to special_objects 2009-10-23 00:33:53 -05:00
Slava Pestov 6ee56ca93a vm: use iostreams instead of printf for debug messages, clean up a few things 2009-10-21 20:12:57 -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 1f97169c62 vm: move factor_vm::untagged_object_size() to object::size() 2009-10-20 13:13:39 -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 f0a1a3ce5b vm: rename F to false_object, and rename T to true_object 2009-10-18 20:26:21 -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 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 05c4e409fe vm: during an aging collection, promote objects referenced from tenured directly to tenured 2009-10-14 06:03:52 -05:00
Slava Pestov 33b35ce82e vm: record bytes/objects copied again 2009-10-09 03:20:06 -05:00
Slava Pestov 634d3eee86 vm: simplify card marking logic, and unmark more cards during aging collections by checking if they actually contained young pointers or not 2009-10-09 01:37:45 -05:00
Slava Pestov b2cae0b6d8 vm: more efficient code heap remembered set 2009-10-08 23:10:32 -05:00
Slava Pestov 83de156992 vm: working on new object-oriented garbage collector 2009-10-07 15:48:09 -05:00