Slava Pestov
|
b78202e816
|
Merge branch 'master' into new_gc
|
2009-10-22 05:40:57 -05:00 |
Slava Pestov
|
28de799296
|
vm: fix compilation
|
2009-10-22 06:38:02 -04:00 |
Slava Pestov
|
5a63edf278
|
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 |
Slava Pestov
|
e51882c555
|
vm: debugging mark and sweep
|
2009-10-21 23:24:35 -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
|
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
|
1f97169c62
|
vm: move factor_vm::untagged_object_size() to object::size()
|
2009-10-20 13:13:39 -05:00 |
Slava Pestov
|
f442d1949b
|
Change data heap alignment to 16 bytes
|
2009-10-20 12:45:00 -05:00 |
Slava Pestov
|
fad52e8420
|
vm: fix crash when converting a callstack to an array
|
2009-10-20 12:19:02 -05:00 |
Slava Pestov
|
f9fc3487c6
|
vm: change code heap layout somewhat, remove unused allocation bitmap from mark_bits
|
2009-10-20 09:37:24 -05:00 |
Slava Pestov
|
e68b570e2b
|
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
|
5e12356a22
|
vm: new mark_bits data structure replaces hashtable when compacting code heap
|
2009-10-19 02:21:11 -05:00 |
Slava Pestov
|
be96d985e9
|
vm: working on new compaction implementation
|
2009-10-19 00:07:43 -05:00 |
Slava Pestov
|
a977ade0af
|
vm: fix conflict in image.cpp
|
2009-10-18 20:54:13 -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
|
40b5c2c732
|
vm: code heap: move mark bits to a separate bitmap
|
2009-10-16 14:41:40 -05:00 |
Slava Pestov
|
15a9494d2c
|
vm: fix compile errors on some gcc versions
|
2009-10-16 12:13:43 -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
|
786f6826b6
|
Merge branch 'reentrantvm' of git://github.com/phildawes/factor
|
2009-10-16 03:52: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 |
Doug Coleman
|
a11a8c0a93
|
fix compiler warnings in vm
|
2009-10-15 21:37:53 -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 |
Phil Dawes
|
0b2db4018a
|
Removed VM_PTR macros. All builds reentrant by default
|
2009-10-14 19:14:57 +01:00 |
Slava Pestov
|
0455711727
|
vm: faster write barrier for non-optimized code
|
2009-10-14 06:13:51 -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
|
a13ffad800
|
vm: build fix
|
2009-10-09 05:12:28 -05:00 |
Slava Pestov
|
44c78493bf
|
vm: misc cleanups
|
2009-10-09 03:20:50 -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
|
b9f386c693
|
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
|
bc691eb198
|
vm: replace generations array with individual instance variables referencing zone objects
|
2009-10-07 11:59:59 -05:00 |
Slava Pestov
|
2c527982fe
|
vm: rename a few things
|
2009-10-07 08:40:28 -05:00 |
Slava Pestov
|
8ffd538d27
|
vm: more code cleanups
|
2009-10-07 08:33:54 -05:00 |
Slava Pestov
|
eaf1afb156
|
vm: more refactoring
|
2009-10-06 20:45:47 -05:00 |
Slava Pestov
|
40fd28e0a3
|
vm: refactor forwarding pointer logic
|
2009-10-06 19:15:54 -05:00 |
Slava Pestov
|
8109e7376c
|
vm: simplify some code
|
2009-10-06 08:55:42 -05:00 |
Slava Pestov
|
4d0ec09d9c
|
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
|
fa2ee8ee7a
|
vm: free up a cell in compiled code block headers
|
2009-10-06 05:52:45 -05:00 |
Slava Pestov
|
326952e919
|
vm: number of generations is not configurable anymore, split up begin_gc() and end_gc() into collect_{nursery,aging,aging_again,tenured}()
|
2009-10-06 02:39:12 -05:00 |
Slava Pestov
|
1bfa4ef5ca
|
vm: cleanup
|
2009-10-06 01:42:17 -05:00 |
Slava Pestov
|
9ccec33321
|
vm: more GC refactoring
|
2009-10-06 00:13:54 -05:00 |
Slava Pestov
|
d5be02d48f
|
vm: refactoring garbage collector
|
2009-10-05 22:16:08 -05:00 |
Slava Pestov
|
83d21310f2
|
Change C++ exception usage back into a longjmp() due to GCC bugs
|
2009-10-05 03:27:28 -05:00 |
Doug Coleman
|
8907addf3b
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-10-03 18:27:38 -05:00 |
Doug Coleman
|
6d451ac9d8
|
add ftell primitive
|
2009-10-03 18:20:35 -05:00 |
Slava Pestov
|
d30ebc6213
|
vm.hpp: fix typo
|
2009-10-03 09:47:06 -05:00 |