Commit Graph

380 Commits (5e1976633069c0be53edd4f71627667577faa363)

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