Commit Graph

546 Commits (3c70ee67ea43da4c2dbb1fa8a9214558c5a97592)

Author SHA1 Message Date
Joe Groff 198874aea8 fix compilation on freebsd 2009-09-14 00:00:01 -05:00
Joe Groff fb43ae2daf save the FP status out of the signal context and use it as part of the fp trap factor exception. clear the FP status before continuing after an exception 2009-09-13 23:39:12 -05:00
Joe Groff 38ec77f9bd Merge branch 'master' of git://factorcode.org/git/factor 2009-09-13 14:42:28 -05:00
Joe Groff b469dc29fa save vector registers, save control register, and enable denormals before calling factor in powerpc c_to_factor() 2009-09-13 13:18:24 -05:00
Slava Pestov d14f227905 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-13 00:09:09 -05:00
Slava Pestov 32b95c2cdf math: add unordered comparison operators u< u<= u> u>= which behave exactly like < <= > >= except no floating point exceptions are set if one or both inputs are NaNs; also add efficient intrinsic for unordered? predicate, and fix propagation type functions for abs, absq, and bitnot 2009-09-12 22:20:13 -05:00
Joe Groff 53e23de104 set altivec denormal flag when with-denormal-mode is used 2009-09-12 20:39:41 -05:00
Slava Pestov 9ccf5811b3 vm: fix fp_trap_error() so that it can work properly in signal handlers 2009-09-12 18:15:16 -05:00
Slava Pestov a456f79f9c cpu-x86: clear the x87 stack when rewinding; fixes math.floats.env failures on Linux 2009-09-12 16:59:30 -04:00
Slava Pestov 13464d9403 Fix debug build 2009-09-11 20:33:38 -05:00
Joe Groff 6fa4a6a23b handle floating-point exceptions on windows 2009-09-10 16:10:25 -05:00
Joe Groff c2cd1714fa fix set_x87_env assembly code for x86.32 2009-09-08 23:15:49 -05:00
Joe Groff 93f5209213 fix ppc assembler syntax 2009-09-08 21:01:33 -05:00
Joe Groff 2ad9459b85 Merge branch 'master' of git://factorcode.org/git/factor 2009-09-08 15:37:32 -05:00
Joe Groff 0ec342a1c5 factor out x86 and ppc backends for math.floats.env; update both x87 and SSE state on x86 2009-09-08 15:36:53 -05:00
Slava Pestov 81c4670619 VM: use an std::vector instead of a fixed-size buffer for GC roots 2009-09-08 14:21:09 -05:00
Slava Pestov 109cde9bd6 vm/cpu-x86.S: don't detect SSSE3, SSE4.1 or SSE4.2 yet 2009-09-08 14:06:19 -05:00
Joe Groff 7ba71a524e Send FP trap signals to Factor as a different vm-error type 2009-09-06 08:44:25 -05:00
Joe Groff 36ec53a968 math.floats.env vocab with words to control the floating-point environment
add some functions to the VM to grab and set the fpu control register
2009-09-05 19:48:13 -05:00
Slava Pestov 906a0d212a Detect SSE version and enable the correct set of SIMD intrinsics 2009-09-03 03:28:38 -05:00
Joe Groff 07ab5f006d on OS X, rather than define _XOPEN_SOURCE, use the non-deprecated sys/ucontext.h header instead 2009-08-26 16:44:25 -05:00
Joe Groff 2a56ba0d2d add -D_XOPEN_SOURCE flag to suppress ucontext deprecation errors on snow leopard. add -m32 flag when compiling 32-bit because snow leopard gcc defaults to x86_64 2009-08-26 16:29:55 -05:00
Philipp Brüschweiler 230061783a misc small documentation fixes, some fixes for factor.vim, changed permissions of vm/* to 644 2009-08-10 21:33:07 +02:00
Slava Pestov 46688f960d image.cpp: don't try to make code heap bigger than p->code_size since on PPC this will cause crashes if the image has a code heap of exactly 32Mb 2009-07-31 23:23:29 -05:00
Slava Pestov 91e5c05f40 debug.cpp: fep now prints return addresses in call stack dump 2009-07-29 19:28:58 -05:00
Slava Pestov 3fb4fc1bde Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases 2009-07-16 23:50:48 -05:00
Slava Pestov baff251d1e alien.libraries: add remove-library word, fix dlclose and dll-valid? VM primitives 2009-07-09 06:51:31 -05:00
Slava Pestov 2d231f066a GC checks now save and restore registers 2009-06-02 18:23:47 -05:00
Slava Pestov 9e987e8642 Merge branch 'master' into global_optimization 2009-06-01 03:12:32 -05:00
Slava Pestov b389dcf441 Redo compiler.codegen.fixup and get %dispatch to work 2009-06-01 02:32:36 -05:00
Slava Pestov fc152ef210 Various improvements aimed at getting local optimization regressions fixed:
- Rename _gc to ##gc
- Absolute labels are now supported
- Generate _dispatch-label
2009-05-31 23:28:08 -05:00
Slava Pestov faaccceac6 Fix rdtsc on Windows 2009-05-31 15:16:40 -05:00
Slava Pestov 617e57fc75 cpu.x86.features: add RDTSC support. This is a new vocabulary with words: sse2? instruction-counter count-instructions 2009-05-31 15:02:14 -05:00
Slava Pestov 6b2192bde0 Fix compile error on GCC 4.x 2009-05-20 20:01:21 -04:00
Slava Pestov 610b276c86 callstack>array primitive was not GC safe 2009-05-20 18:52:21 -05:00
Slava Pestov efde9b8d10 callstack>array was keeping an uninitialized array around across potential GCs; add more assertions 2009-05-17 18:18:07 -05:00
Slava Pestov 1e6227fe68 os-linux.cpp: inotify wrappers should be VM_C_API 2009-05-13 03:49:51 -05:00
Slava Pestov 9ef162e2ef More VM cleanups 2009-05-13 01:08:16 -05:00
Slava Pestov 69cb3dee5e Fix FEP if there are too many words in the image, clean up some VM code 2009-05-13 00:58:54 -05:00
Slava Pestov 3987468ff3 Merge branch 'master' of git://factorcode.org/git/factor 2009-05-12 16:23:26 -05:00
Slava Pestov e0f4b18709 Link VM with OpenSSL on NetBSD otherwise it can't find some symbols 2009-05-12 16:23:09 -05:00
Slava Pestov 6e08e29a3a Remove compiled slot from quotations since its not needed 2009-05-12 03:09:15 -05:00
Slava Pestov aa3aa715be Slightly more space-efficient dispatch table representation 2009-05-09 20:24:32 -05:00
Slava Pestov 04a70da513 Fix compile error in cpu-ppc.hpp 2009-05-08 17:41:22 -05:00
Slava Pestov 367724f41e Fix Windows compile error 2009-05-08 15:23:44 -05:00
Slava Pestov ace084b633 Need to include unistd.h 2009-05-08 15:15:10 -05:00
Slava Pestov 3bf8134476 VM cleanup: replace some #defines with constants and inline functions 2009-05-08 15:05:55 -05:00
Slava Pestov 5c4bb80bc3 Update PowerPC %jump and %dispatch-label, and add PIC-related functions to cpu-ppc.hpp 2009-05-07 19:47:38 -05:00
Slava Pestov 3591f6c684 Count megamorphic cache hits 2009-05-07 14:26:08 -05:00
Slava Pestov d7b40d72a0 Code cleanups 2009-05-07 12:33:31 -05:00