Joe Groff
5dd4bbcf42
Defuse RTLD_GLOBAL time bomb in os-unix.c
2009-02-10 19:58:53 -06:00
Doug Coleman
201296c040
dllexport err_no and clear_err_no
2009-02-06 18:46:23 -06:00
sheeple
173b0ee78d
Add some more tests for complex numbers in FFI
2009-02-06 12:21:53 -06:00
Slava Pestov
05632b8525
Don't use complex.h since *BSDs don't have it in latest release versions (gah!); add DLLEXPORT for ffi_test_45 to make it work on Windows
2009-02-06 11:03:52 -06:00
Slava Pestov
f9bc9a3198
Fix VM compile error
2009-02-06 04:53:08 -06:00
Slava Pestov
7bb0e78314
Add support for C99 complex float and complex double types to FFI
...
They are named complex-float and complex-double in the Factor world
2009-02-06 04:02:00 -06:00
unknown
b6c3bc892d
Fix the build support for windows again, have the makefile load Config.* files in the top level so that freetype.dll and zlib1.dll targets can make
2009-02-04 18:21:58 -06:00
Doug Coleman
eec86d6043
Fix io.launcher on Windows -- Microsoft does the same thing with devenv
2009-02-04 13:05:52 -06:00
Doug Coleman
a60e11b89e
add RTLD_GLOBAL to dlopen flags. load atlas before cblas on freebsd
2009-01-30 16:45:30 -06:00
Doug Coleman
ed7b49df78
Windows vm now tries vm-console.image or vm.image first, then removes -console if it exists and tries to find the image again
2009-01-29 19:57:01 -06:00
Doug Coleman
8acba1543a
oops, didnt mean to remove these two lines
2009-01-29 13:38:07 -06:00
Doug Coleman
2d960f4103
Create two binaries: factor.com and factor.exe. factor.com is the console version, factor.exe is win32. also make a factor shell script called factor to help cygwin out because it ignores the env vars
2009-01-29 13:15:16 -06:00
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