Slava Pestov
c074740746
Split off data_heap.c from data_gc.c; split off write_barrier.h, local_roots.h from data_gc.h, misc other cleanups
2009-01-24 23:39:00 -06:00
Slava Pestov
ed1a2855b5
Big code GC refactoring
...
- Move code block-specific parts of code_gc.c to code_heap.c
- code_gc.c is now a generic malloc-style heap
- New code_block.c to split up large code_heap.c
- Clean up relocation code and remove some duplication
- Fix problems with code heap not being updated properly with uninterned words (bug re
ported by doublec)
- Remove boolean parameter from modify-code-heap primitive
- Less unnecessary fixup speeds up bootstrap slightly
2009-01-24 20:13:17 -06:00
Slava Pestov
32bb531621
Move literal tables out of code heap, instead each code block holds a reference to the literal table
2009-01-24 17:01:01 -06:00
Slava Pestov
07ec51b24a
Clean up embedding API
2009-01-14 18:40:23 -06:00
Slava Pestov
d86524f4bc
Non-optimizing compiler now compiles dip, 2dip, 3dip, if, with direct branches instead of indirect branches. 8% bootstrap time improvement on Core Duo 2
2008-11-24 00:23:17 -06:00
Slava Pestov
7fd0a27c0d
VM no longer uses printf since format string directives are not portable between Win64 and everything else...
2008-11-18 18:21:42 -06:00
Slava Pestov
cfa82cb474
New calling convention for VM primitives:
...
instead of the Factor side passing the stack pointer as the first parameter, and having the VM save it to stack_chain->top, we instead have the Factor side save it. Eliminates a lot of crud in the VM
2008-11-13 03:20:34 -06:00
Slava Pestov
be4915ee9c
Fix save-image-and-exit bug
2008-09-19 14:44:58 -05:00
Doug Coleman
c6db662b3b
Rice is a part of every healthy diet
2008-08-05 04:38:01 -05:00
Slava Pestov
cc008e6c2c
Better error checking for image saves
2008-07-03 19:52:59 -05:00
Slava Pestov
86a62c8e93
Better error message
2008-06-30 18:33:31 -05:00
Slava Pestov
727cfcba43
Move relocation info out of the code heap and into the data heap
2008-05-30 01:31:05 -05:00
Slava Pestov
b2cb88f497
GC: allocate large objects directly into tenured space
2008-04-05 04:01:46 -05:00
Slava Pestov
e1ad21a439
Working on shapes
2008-03-26 03:57:48 -05:00
Slava Pestov
9d05d81491
Fix deploy size regression
2008-02-28 01:22:53 -06:00
Slava Pestov
0b19589630
linkage errors don't thwart compilation anymore
2008-02-16 00:54:54 -06:00
Slava Pestov
c6bc074472
Simplify code heap layout
2008-01-16 15:45:04 -05:00
Slava Pestov
b7327b6228
Redo the profiler
2008-01-02 20:36:36 -04:00
Slava Pestov
93e1bdfcd7
Simplify JIT, fix tuples unit tests
2007-12-26 20:02:41 -05:00
Slava Pestov
1b9e04fdc5
Deferred words are now compound words
2007-12-26 17:28:34 -05:00
Slava Pestov
4bb2a43a10
Early binding JIT work in progress
2007-12-26 02:33:49 -05:00
Slava Pestov
3c5b2073ef
Fix save-image-and-exit, clean up compiler a bit
2007-12-16 18:42:56 -05:00
Slava Pestov
c9646d20c5
Working on smarter recompilation
2007-12-16 15:17:28 -05:00
Slava Pestov
7cdfb02781
Better error handling in save-image
2007-11-05 13:39:20 -05:00
Slava Pestov
2e78ce3d4a
Profiler fixes
2007-10-29 01:12:27 -04:00
Slava Pestov
ef22d57ef6
Improved profiler doesn't require all words to be recompiled to enable/disable
2007-10-28 04:33:36 -04:00
U-SLAVA-FB3999113\Slava
507d0ca150
More ARM fixes
2007-10-21 15:18:31 -04:00
Slava Pestov
6b0b7bebf9
Simpler callstack layout
2007-10-05 17:30:10 -04:00
Slava Pestov
6fb134f1aa
Update non-optimizing compiler for new PowerPC calling convention
2007-10-05 04:17:38 -04:00
Slava Pestov
f400729792
The JIT now compiles quotations when first invoked, not when constructed
2007-09-26 00:26:19 -04:00
Slava Pestov
0c6865a10b
Lazy JIT
2007-09-25 21:23:20 -04:00
Slava
64e3e0c0d6
Fix callstack relocation
2007-09-22 18:56:27 -04:00
Slava Pestov
05e66a0659
Remove dead code; code_fixup stack frame return addrs
2007-09-22 17:17:37 -04:00
Slava Pestov
a96457cecc
Initial import
2007-09-20 18:09:08 -04:00