Commit Graph

34 Commits (5e1976633069c0be53edd4f71627667577faa363)

Author SHA1 Message Date
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