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