Jesse D. McDonald
0a2f13b523
Added built-in structure types and interpreter core (w/o bytecode).
...
Improved timing resolution by using clock_gettime() instead of clock().
Also gave project a name: Rosella. Play on 'Parrot' (Perl 6 VM).
2012-07-14 13:38:02 -05:00
Jesse D. McDonald
080906fa72
Move documentation into a subdirectory.
2012-07-14 13:37:48 -05:00
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