Commit Graph

38 Commits (4c51d8524d74902d1ffa27e98d57008c7412871c)

Author SHA1 Message Date
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 670d0106d1 Clean up some duplication 2009-01-24 17:42:28 -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 a8d1459c08 Rename compiled slot of words to optimized, to reflect what it really means (all words are compiled) 2009-01-23 00:37:02 -06:00
Slava Pestov 9ad51490af Fix GC crash with -generations=2 2008-12-09 16:26:30 -06:00
Slava Pestov ab689c098b Clean up direct literal code and make a first attempt at PowerPC support 2008-11-24 08:16:14 -06:00
Slava Pestov 2aaf860f47 Experimental optimizations 2008-11-24 06:40:51 -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 16b85df5db Fixes and a small optiimization 2008-07-12 22:27:28 -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 4c08b7dc81 Add zip word, better code-room primitive 2008-04-07 20:19:49 -05:00
Slava Pestov b2cb88f497 GC: allocate large objects directly into tenured space 2008-04-05 04:01:46 -05:00
Slava Pestov 4ee8a0cfa6 Better code heap 2008-02-25 20:09:52 -06:00
Slava Pestov de8b804abe Fix method redefinition bug 2008-02-17 18:38:29 -06:00
Slava Pestov 0b19589630 linkage errors don't thwart compilation anymore 2008-02-16 00:54:54 -06:00
Slava Pestov d9f7acae0f VM changes for record1 strings 2008-01-31 23:03:10 -06:00
Slava Pestov c6bc074472 Simplify code heap layout 2008-01-16 15:45:04 -05:00
Slava Pestov 952c559b52 Faster compilation of dispatch primitive 2008-01-13 17:07:59 -05:00
Slava Pestov 028e0075d8 PowerPC support work in progress 2008-01-09 01:33:40 -05:00
Slava Pestov 928c68b506 JIT improvements; simpler 'current XT' relocation logic 2008-01-07 17:14:09 -04:00
Slava Pestov b7327b6228 Redo the profiler 2008-01-02 20:36:36 -04:00
Slava Pestov 6922bded81 Speed up compile-call 2007-12-30 21:34:44 -05:00
Slava Pestov 5378c05508 Fix bootstrap 2007-12-29 22:44:25 -05:00
Slava Pestov 2b37b76d65 Working on profiler 2007-12-29 12:44:01 -05:00
Slava Pestov f91ec96425 Fix code heap compaction and clean up VM a bit 2007-12-26 17:14:33 -05:00
Slava Pestov 4bb2a43a10 Early binding JIT work in progress 2007-12-26 02:33:49 -05:00
Slava Pestov c09af2f2c6 Improved JIT compiler design; better REGISTER_ROOT/UNREGISTER_ROOT stuff 2007-12-26 01:45:16 -05:00
Slava Pestov 3d784c7927 Simplify quotation calling convention: no need to pass XT 2007-12-25 23:40:36 -05:00
Slava Pestov 07a4022d62 Parser, definitions, source-files refactoring work in progress 2007-12-21 21:18:24 -05:00
Slava Pestov 308cf5aef7 Listener auto-compiles; more smart recompile work in progress 2007-12-17 16:29:54 -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 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
Slava Pestov 9d80b13932 Add sanity check 2007-10-22 03:49:19 -04:00
Slava Pestov d3ae70c53d VM cleanup 2007-10-02 17:53:05 -04:00