Commit Graph

368 Commits (96d84731e3b36f88f9f66e4b3d976813cfa9d8b0)

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 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
Doug Coleman 09b82321b5 remove failed proper-save from vm 2009-01-21 23:32:23 -06:00
Doug Coleman 1dc7ecfdc5 lol the hak...fix coming up 2009-01-21 20:12:09 -06:00
Doug Coleman a9277c71fd fix macosx initialization of executable_path 2009-01-21 18:07:26 -06:00
Doug Coleman 99cd664961 better save_image that doesn't corrupt your factor image if you're out of disk space. should throw exception instead of printing error messages if saving fails.. 2009-01-21 15:02:27 -06:00
Doug Coleman 9f95c9611b fix vm path on openbsd, fix compiler warning 2009-01-19 21:19:32 -06:00
Slava Pestov 0d56665522 Fix Windows build 2009-01-16 14:21:44 -06:00
Slava Pestov 07ec51b24a Clean up embedding API 2009-01-14 18:40:23 -06:00
Doug Coleman 585d977ed0 remove a couple comments from Config.windows files 2009-01-13 20:54:39 -06:00
Slava Pestov b2e45f199e Calling dispose on unix stdin no longer kills the VM 2008-12-20 18:02:08 -06:00
Slava Pestov 00212bb626 Save and restore r31 2008-12-16 02:06:53 -06:00
unknown b5d98e6a1e Fix warning 2008-12-15 21:19:04 -06:00
U-SLAVA-DFB8FF805\Slava f4c3bf1dd6 Fix compile warning and fix (sleep) primitive on Windows 2008-12-13 04:49:16 -06:00
Joe Groff 88856fac21 OSX VM requires function from Cocoa framework, so link against it even when building for X11 2008-12-10 12:22:17 -08:00
Slava Pestov ec23584f48 Finish up O(1) byte array allocation 2008-12-09 18:17:04 -06:00
Slava Pestov eb79c6ab71 Fix conflict 2008-12-09 17:52:45 -06:00
Slava Pestov 9ad51490af Fix GC crash with -generations=2 2008-12-09 16:26:30 -06:00
Slava Pestov 833d9f9c0b Fix quotation pooling 2008-12-08 21:24:45 -06:00
Slava Pestov e4f8448eb1 Fix some problems with arithmetic type inference, exposed by recent changes to log2 word
- declared input type for bignum-shift was stricter than the runtime behavior, leading to bad propagation of type info if shift count was a bignum
- types inferred for type functions which used number-valued/integer-valued/real-valued were not always precise, eg bignum bignum bitxor => integer
- add interval-log2, type function for (log2)
- remove math-class-min, it was useless
2008-12-07 19:44:49 -06:00
Slava Pestov 0290be6e93 Exploit the fast-path for allocation of array with initial element 0 by changing
new-sequence on arrays, the vector constructor, and resize-array, called when
growing vectors, to fill arrays with 0 instead of f. user code never observes the
initial value in these situations anyway. small speedup on bootstrap
2008-12-06 18:37:28 -06:00
Slava Pestov 908644ee7a O(1) <sbuf> and new-sequence on byte-arrays (work in progress) 2008-12-05 07:28:52 -06:00
Slava Pestov e256846acd Tweak string representation; high bit indicates if character has high bits in aux vector. Avoids memory access in common case. Split set-string-nth into two primitives; set-string-nth-fast is open-coded by optimizing compiler. 13% improvement on reverse-complement 2008-12-05 06:38:51 -06:00
Slava Pestov d59f8b10dc Fix printing of negative fixnums in FEP 2008-12-01 18:08:39 -06:00
sheeple abc486c342 Subtraction overflow was wrong way round on PowerPC 2008-11-30 06:08:16 -06:00
sheeple 2b1a90e90a Fixing PowerPC arithmetic primitives 2008-11-28 22:22:26 -06:00
Slava Pestov 68dd6cc35a Working on PowerPC overflow checks 2008-11-28 20:02:50 -06:00
Slava Pestov 2863da257b fixnum-shift didn't work with very large negative shift counts; BRANCHLESS_MAX macro was wrong 2008-11-28 08:34:30 -06:00
Slava Pestov 5634becda1 ##fixnum-add, ##fixnum-sub instructions open-code overflow check 2008-11-28 05:33:58 -06:00
Slava Pestov 6320b936ff Merge branch 'master' into faster_overflow_checks 2008-11-28 04:35:26 -06:00
Slava Pestov c8a8d69382 After merging quotations, we need to update references to the old versions' XTs in the code heap 2008-11-28 03:47:37 -06:00
Slava Pestov b3ad902208 Fix cosmetic issue 2008-11-28 00:48:20 -06:00
Slava Pestov fff10d8082 Fix for gcc 4.2 2008-11-27 23:32:17 -06:00
Slava Pestov cfbd3c679b Remove unused function from VM 2008-11-27 23:28:38 -06:00
Slava Pestov 6dfce7d4e7 load-locals is a primitive now, change semantics of get-locals to bum out 2 instructions from the sub-primitive 2008-11-27 22:30:29 -06:00
Slava Pestov e78121f38c Rewrite remaining fixnum primitives in assembly (work in progress) 2008-11-26 04:22:39 -06:00
Slava Pestov 826be7530e Check Mac OS X version on startup and give up if we're running something older than 10.5 2008-11-25 21:51:41 -06:00
Slava Pestov c7c1f3903f Fix performance problem: literals were being scanned too often 2008-11-25 21:27:07 -06:00
slava fbc0f33c86 The deploy tool would coalesce equal quotations into one. This created a problem
for the non-optimizing compiler because if the new 'leader' quotation was not
compiled but some of the ones that it replaces were, then calls to the quotation
from contexts where they have to be compiled (eg, compiled if and dip) would no
longer work. Add a `jit-compile' primitive to compile quotations, and call it
as appropriate in `compress-quotations`.
2008-11-24 15:59:27 -06:00
Slava Pestov a4282139dc Add comments explaining recent changes 2008-11-24 09:27:15 -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 030501d6ef GC speedup 2008-11-24 06:49:14 -06:00
Slava Pestov 2aaf860f47 Experimental optimizations 2008-11-24 06:40:51 -06:00
Slava Pestov 8663ca2982 Fix VM for PowerPC 2008-11-24 02:03:01 -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 1d6e389d18 Fixing walker, adding traceback tests 2008-11-23 21:40:54 -06:00
Slava Pestov 65b89eea9e Fix compile error 2008-11-23 04:46:15 -06:00