Commit Graph

61 Commits

Author SHA1 Message Date
Jesse D. McDonald f9f3cae062 Test new weak-box and finalizer functions. Includes value-printer. 2012-07-14 13:37:47 -05:00
Jesse D. McDonald 7bd6e616ff Add support for weak boxes and wills/finalizers.
Also refactored some GC code into smaller functions.

Weak boxes and wills will be useful for implementing weak hash tables,
which in turn will be used to store dynamic parameters efficiently.
2012-07-14 13:37:41 -05:00
Jesse D. McDonald 5a0789c788 Fix an infinite-recursion bug in the DEBUG=yes condition. 2012-07-14 13:37:40 -05:00
Jesse D. McDonald d8d11f2da2 Initial revision of low-level representation and compiler design. 2012-07-14 13:37:39 -05:00
Jesse D. McDonald 0867f66767 Add structure type; allow GC to be disabled; unify object-moving code. 2012-07-14 13:37:37 -05:00
Jesse D. McDonald 6829d550f5 Increase optimization level. 2012-07-14 13:37:35 -05:00
Jesse D. McDonald f8e04f1b86 Add full support for remaining data type (box, vector, byte string).
Improve inline accessors for cases where value type is known.
Move GC stats into a single global structure to reduce proliferation of globals.
2012-07-14 13:37:31 -05:00
Jesse D. McDonald 8db40406a0 Refactor into a GC library (gc.c and gc.h) and a test program (gc_test.c).
Also, allocate GC memory ranges dynamically during startup (gc_init()) rather than statically.
2012-07-14 13:37:19 -05:00
Jesse D. McDonald 61b83a1293 Add support for (strong) boxes, value vectors, and byte strings. 2012-07-14 13:37:15 -05:00
Jesse D. McDonald a464397e64 Add rules to control generation and use of profile data. 2012-07-14 13:37:04 -05:00
Jesse D. McDonald 9fa0a09509 Initial check-in. 2012-07-14 13:36:26 -05:00