Slava Pestov
|
a60bf14673
|
vm: add gc_event
|
2009-10-26 22:12:44 -05:00 |
Slava Pestov
|
e793a72060
|
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
|
c30df42e48
|
vm: make compaction its own gc_op
|
2009-10-25 14:02:14 -05:00 |
Slava Pestov
|
7d8c85443e
|
vm: vm: fix large object allocation logic and change default heap image size for 2009
|
2009-10-25 13:27:40 -05:00 |
Slava Pestov
|
cf247c23a2
|
vm: room. now prints mark stack size, and total/contiguous free space
|
2009-10-25 13:18:06 -05:00 |
Slava Pestov
|
49baf397f4
|
vm: tagged typechecks work better with DEBUG=1
|
2009-10-25 08:07:36 -05:00 |
Slava Pestov
|
b7181d14a8
|
vm: debugging compaction
|
2009-10-25 08:07:21 -05:00 |
Slava Pestov
|
b6a21b19a9
|
vm: fix compaction when callback heap has entries in it
|
2009-10-25 00:06:45 -05:00 |
Slava Pestov
|
0c1e266302
|
vm: got data heap compaction working
|
2009-10-24 23:51:14 -05:00 |
Slava Pestov
|
0b65b194c9
|
vm: fix 'data-room' primitive to report correct sizes for tenured space
|
2009-10-24 23:49:33 -05:00 |
Slava Pestov
|
fae27fb361
|
vm: make some more ctors explicit just for kicks
|
2009-10-24 23:02:58 -05:00 |
Slava Pestov
|
62e718eaa9
|
vm: combine heap_block and code_block structs, eliminates some boilerplate
|
2009-10-24 21:33:31 -05:00 |
Slava Pestov
|
45a955b5bb
|
vm: fix typo in card tracing logic
|
2009-10-24 04:43:11 -05:00 |
Slava Pestov
|
d855593f1f
|
vm: clean up code heap visitor
|
2009-10-24 04:36:29 -05:00 |
Slava Pestov
|
03f4b4cdd6
|
vm: move binary_payload_start() method from factor_vm to object class
|
2009-10-24 04:27:45 -05:00 |
Slava Pestov
|
29a27cfde4
|
vm: data heap compaction work in progress
|
2009-10-24 04:18:33 -05:00 |
Slava Pestov
|
fd1e992e7d
|
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
|
810e309e0c
|
vm: rename userenv to special_objects
|
2009-10-23 00:33:53 -05:00 |
Slava Pestov
|
6597e0ea3a
|
vm/mark_bits.hpp: fix incorrect constructor argument order
|
2009-10-22 23:41:02 -05:00 |
Slava Pestov
|
3394309659
|
Merge branch 'master' into new_gc
|
2009-10-22 05:40:57 -05:00 |
Slava Pestov
|
3d5c3935ad
|
vm: fix compilation
|
2009-10-22 06:38:02 -04:00 |
Slava Pestov
|
f24942e063
|
vm: clean up signal handling and add EXC_BAD_INSTRUCTION Mach exception handler for OS X, since signal handlers cannot change the stack pointer
|
2009-10-22 05:22:59 -05:00 |
Joe Groff
|
432d4f79e9
|
give better error message for windows exceptions, and don't lop off the top end of the exception code when the vm throws the error
|
2009-10-21 23:37:51 -05:00 |
Slava Pestov
|
606a805d7d
|
vm: debugging mark and sweep
|
2009-10-21 23:24:35 -05:00 |
Slava Pestov
|
40351d40be
|
vm: use iostreams instead of printf for debug messages, clean up a few things
|
2009-10-21 20:12:57 -05:00 |
Slava Pestov
|
af855b7fa9
|
vm: debugging mark-sweep
|
2009-10-21 19:41:54 -05:00 |
Slava Pestov
|
814f6371d6
|
vm: mark sweep gc for tenured space work in progress
|
2009-10-20 22:20:49 -05:00 |
Slava Pestov
|
f0816d72f1
|
vm: split off free_list_allocator from heap class, rename zone to bump_allocator
|
2009-10-20 15:26:11 -05:00 |
Slava Pestov
|
a9dbbd1efb
|
vm: simplify code heap by eliminating HeapLayout template parameter
|
2009-10-20 14:01:46 -05:00 |
Slava Pestov
|
e482940dca
|
vm: object start recording in cards is now independent of allocation strategy
|
2009-10-20 13:47:04 -05:00 |
Slava Pestov
|
d22d5466fc
|
vm: move factor_vm::untagged_object_size() to object::size()
|
2009-10-20 13:13:39 -05:00 |
Slava Pestov
|
d85d84697a
|
Change data heap alignment to 16 bytes
|
2009-10-20 12:45:00 -05:00 |
Slava Pestov
|
50f9bf67a7
|
vm: fix crash when converting a callstack to an array
|
2009-10-20 12:19:02 -05:00 |
Slava Pestov
|
acdcb181e0
|
vm: working on making heap more generic
|
2009-10-20 10:22:06 -05:00 |
Slava Pestov
|
838a44e901
|
vm: change code heap layout somewhat, remove unused allocation bitmap from mark_bits
|
2009-10-20 09:37:24 -05:00 |
Slava Pestov
|
d585aa861c
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-10-19 21:44:56 -05:00 |
Slava Pestov
|
cafa838588
|
Merge branch 'master' of git://factorcode.org/git/factor into new_gc
|
2009-10-19 21:44:36 -05:00 |
Slava Pestov
|
21d29b3961
|
vm: change code heap alignment to 16 bytes instead of 32 to reduce image size
|
2009-10-19 06:10:39 -05:00 |
Slava Pestov
|
4ddd63d83e
|
vm: move compaction algorithm to mark_bits.hpp since it doesn't rely on properties of heaps per se
|
2009-10-19 03:05:20 -05:00 |
Slava Pestov
|
ac25b8ebbb
|
vm: new mark_bits data structure replaces hashtable when compacting code heap
|
2009-10-19 02:21:11 -05:00 |
Slava Pestov
|
8ef0d411ac
|
vm: cleanup
|
2009-10-19 00:16:32 -05:00 |
Slava Pestov
|
464aac14cf
|
vm: working on new compaction implementation
|
2009-10-19 00:07:43 -05:00 |
Slava Pestov
|
a81f757a62
|
vm: fix conflict in image.cpp
|
2009-10-18 20:54:13 -05:00 |
Slava Pestov
|
2e65366c6b
|
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
|
236588208b
|
vm: rename F to false_object, and rename T to true_object
|
2009-10-18 20:26:21 -05:00 |
Slava Pestov
|
2b63029da8
|
vm: fix GC safety issue in non-optimizing compiler
|
2009-10-18 18:57:41 -05:00 |
Slava Pestov
|
69f9c80b5b
|
vm: code heap: move mark bits to a separate bitmap
|
2009-10-16 14:41:40 -05:00 |
Slava Pestov
|
2917063a1a
|
vm: fix typo
|
2009-10-16 12:25:21 -05:00 |
Slava Pestov
|
a955a12aa7
|
vm: fix compile errors on some gcc versions
|
2009-10-16 12:13:43 -05:00 |
Slava Pestov
|
107c96f642
|
vm: code heap compaction at runtime using compact-gc primitive
|
2009-10-16 11:39:35 -05:00 |
Slava Pestov
|
c04412219b
|
vm: allocate stacks and data heap segments without execute permissions
|
2009-10-16 05:16:12 -05:00 |
Slava Pestov
|
85b746e7b5
|
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
|
349cb41a29
|
Merge branch 'reentrantvm' of git://github.com/phildawes/factor
|
2009-10-16 03:52:35 -05:00 |
Slava Pestov
|
0a3d08bc52
|
vm: make the code nice and pretty
|
2009-10-16 02:55:02 -05:00 |
Slava Pestov
|
70dcecf61a
|
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
|
f212549a5f
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-10-15 22:12:00 -05:00 |
Slava Pestov
|
8a7547ef1b
|
vm: remove some dead code
|
2009-10-15 22:06:43 -05:00 |
Doug Coleman
|
4c2cdb18b5
|
fix compiler warning
|
2009-10-15 21:42:01 -05:00 |
Doug Coleman
|
0bb6327688
|
fix compiler warnings in vm
|
2009-10-15 21:37:53 -05:00 |
Slava Pestov
|
45eb68fa38
|
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
|
93ed6e6892
|
vm: fix compile error
|
2009-10-14 19:55:02 -05:00 |
Slava Pestov
|
38d120f92e
|
vm: rt-vm relocation now supports accessing a field directly
|
2009-10-14 19:24:23 -05:00 |
Phil Dawes
|
7fef05fd76
|
Removed VM_PTR macros. All builds reentrant by default
|
2009-10-14 19:14:57 +01:00 |
Slava Pestov
|
ae90ebe3be
|
vm: faster write barrier for non-optimized code
|
2009-10-14 06:13:51 -05:00 |
Slava Pestov
|
1796688acd
|
vm: during an aging collection, promote objects referenced from tenured directly to tenured
|
2009-10-14 06:03:52 -05:00 |
Slava Pestov
|
236efe4881
|
vm: debugging new card marking
|
2009-10-14 04:59:28 -05:00 |
Slava Pestov
|
1ce39963fd
|
Working on adding support for the new write barrier to optimized code
|
2009-10-14 02:06:01 -05:00 |
Slava Pestov
|
d689be57a5
|
vm: new card marking implementation supports marking partial objects
|
2009-10-13 21:16:04 -05:00 |
Slava Pestov
|
d17c63efa5
|
vm: rename
|
2009-10-09 23:37:35 -05:00 |
Slava Pestov
|
0bf31e42e6
|
vm: refactoring card logic a bit
|
2009-10-09 11:16:18 -05:00 |
Slava Pestov
|
1fc48b8894
|
vm: remove old_data_heap from gc_state
|
2009-10-09 09:47:54 -05:00 |
Slava Pestov
|
639a64c2df
|
vm: fix integer overflow
|
2009-10-09 05:55:32 -05:00 |
Slava Pestov
|
ab9b462411
|
vm: build fix
|
2009-10-09 05:12:28 -05:00 |
Slava Pestov
|
978647dc39
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-10-09 03:21:31 -05:00 |
Slava Pestov
|
95722adebc
|
vm: misc cleanups
|
2009-10-09 03:20:50 -05:00 |
Slava Pestov
|
a4ea6ad339
|
vm: record bytes/objects copied again
|
2009-10-09 03:20:06 -05:00 |
Slava Pestov
|
07deeb407c
|
vm: fix formatting
|
2009-10-09 02:57:04 -05:00 |
Slava Pestov
|
f6d4551da5
|
vm: remove unrolled card scan loop since it appears to be a performance loss
|
2009-10-09 02:05:31 -05:00 |
Slava Pestov
|
d34c7854cd
|
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
|
6e4b4d5830
|
Fix problem if last card is marked
|
2009-10-08 23:58:20 -05:00 |
Slava Pestov
|
cb2673a6f5
|
vm: cleanup
|
2009-10-08 23:39:54 -05:00 |
Slava Pestov
|
21f55ab1a3
|
vm: more efficient code heap remembered set
|
2009-10-08 23:10:32 -05:00 |
Slava Pestov
|
43a21deb05
|
vm: rename data_gc.cpp to gc.cpp
|
2009-10-08 02:11:29 -05:00 |
Slava Pestov
|
dbf0dd4a2d
|
vm: split off parts of data_gc into sub-files and clean up logic
|
2009-10-08 02:10:28 -05:00 |
Slava Pestov
|
db29d60e8e
|
vm: add code block marking to full_collector.cpp
|
2009-10-08 00:23:29 -05:00 |
Slava Pestov
|
1f8495a62f
|
vm/os-netbsd.cpp: fix double-free error
|
2009-10-07 21:49:04 -05:00 |
Slava Pestov
|
6939759f46
|
vm: working on new object-oriented garbage collector
|
2009-10-07 15:48:09 -05:00 |
Slava Pestov
|
23e133e383
|
vm: make a new old_space type to encapsulate a few things, split up generations array somewhat
|
2009-10-07 14:05:09 -05:00 |
Slava Pestov
|
651a7fb6fa
|
vm: replace generations array with individual instance variables referencing zone objects
|
2009-10-07 11:59:59 -05:00 |
Slava Pestov
|
3914b0264b
|
vm: rename a few things
|
2009-10-07 08:40:28 -05:00 |
Slava Pestov
|
5c774d8c84
|
vm: more code cleanups
|
2009-10-07 08:33:54 -05:00 |
Slava Pestov
|
1f76a64e91
|
vm: more refactoring
|
2009-10-06 20:45:47 -05:00 |
Slava Pestov
|
6789a40fc6
|
vm: refactor forwarding pointer logic
|
2009-10-06 19:15:54 -05:00 |
Slava Pestov
|
93d49428fb
|
vm: simplify some code
|
2009-10-06 08:55:42 -05:00 |
Slava Pestov
|
2311891910
|
vm: faster zone::contains_p()
|
2009-10-06 06:47:56 -05:00 |
Slava Pestov
|
8fcd6a3789
|
vm: simplify logic
|
2009-10-06 06:36:43 -05:00 |
Slava Pestov
|
697e2342d0
|
vm: put code block owner directly in the header, instead of as the first entry in the literal table. Reduces x86-64 image size by ~700kb, also eliminates separate 'strip' set of staging images from deploy tool
|
2009-10-06 06:25:07 -05:00 |
Slava Pestov
|
16c3251072
|
vm: free up a cell in compiled code block headers
|
2009-10-06 05:52:45 -05:00 |
Slava Pestov
|
2ca0044dd0
|
vm: tweak
|
2009-10-06 04:57:44 -05:00 |
Slava Pestov
|
ed1ee19ce1
|
vm: add a remembered set for code blocks which may reference young literals. Improves loading time
|
2009-10-06 04:36:34 -05:00 |