Phil Dawes
|
13e0ae6d97
|
moved debug functions into vm struct
|
2009-09-16 08:16:19 +01:00 |
Phil Dawes
|
64c2d81306
|
moved data_gc fns over to vm struct
|
2009-09-16 08:16:19 +01:00 |
Phil Dawes
|
9f6f7adaba
|
moved data_heap fns to vm struct
|
2009-09-16 08:16:19 +01:00 |
Phil Dawes
|
1a87f3bb5f
|
moved bignum functions to vm
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
a6fc19f4b0
|
Dev checkpoint
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
149af514e6
|
Dev checkpoint
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
8426e2f877
|
Dev checkpoint
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
10901e7c37
|
moved errors.cpp functions to vm
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
aa01f6b748
|
moved profiling fns into vm
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
110f925245
|
move functions from run.cpp into vm
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
88084a66ac
|
moved contexts functions into vm
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
adf2529451
|
added vm singleton
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
d8ea82d8e8
|
added stub PRIMITIVE_GETVM macro
|
2009-09-16 08:16:17 +01:00 |
Phil Dawes
|
caefc7aff9
|
Empty vm struct
|
2009-09-16 08:16:17 +01:00 |
Slava Pestov
|
3551294fd4
|
vm: update Config.netbsd for NetBSD 5.0
|
2009-09-15 00:22:19 -05:00 |
Joe Groff
|
77f0fbf497
|
missed a few PPC status bits that needed clearing
|
2009-09-14 15:17:36 -05:00 |
Joe Groff
|
89ce13d4d4
|
linux 32 typo
|
2009-09-14 13:21:46 -05:00 |
Joe Groff
|
32be55fa68
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-09-14 12:30:24 -05:00 |
Joe Groff
|
b77d9d2960
|
more secret sauce to tease mxcsr out of linux-x86.32 ucontext
|
2009-09-14 12:30:10 -05:00 |
Joe Groff
|
c1bc5f22e4
|
use secret sauce to clear MXCSR in win32 context, and handle secret STATUS_FLOAT_MULTIPLE_* SEH codes raised by SSE traps
|
2009-09-14 12:02:02 -05:00 |
Joe Groff
|
578c977a7e
|
more freebsd compilation fixes
|
2009-09-14 09:56:38 -05:00 |
Joe Groff
|
6ae07e8a08
|
fix compilation on linux 32
|
2009-09-14 09:48:32 -05:00 |
Slava Pestov
|
448b89f585
|
vm: More indentation fixes
|
2009-09-14 03:14:48 -05:00 |
Slava Pestov
|
83c992173e
|
vm: fix indentation in Joe's changes
|
2009-09-14 03:09:03 -05:00 |
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 |
Slava Pestov
|
318552ba60
|
Fix tail call PICs on x86-64
|
2009-05-06 22:44:30 -05:00 |
Slava Pestov
|
4915e1ced7
|
Clean up bootstrap.image, and implement new calling convention for tail calls; tail call sites now have PICs
|
2009-05-06 22:04:01 -05:00 |
Slava Pestov
|
12a34d81f7
|
JIT now supports multiple relocations per code template. This simplifies non-optimizing compiler backends
|
2009-05-06 20:04:49 -05:00 |
Slava Pestov
|
581d017b46
|
Working on inline caching for tail call sites
|
2009-05-06 19:22:22 -05:00 |
Slava Pestov
|
49409b4d8c
|
Working on PowerPC backend
|
2009-05-06 15:39:03 -05:00 |
Slava Pestov
|
867ff51b83
|
Remove some unused constants and update an obsolete comment
|
2009-05-06 14:57:17 -05:00 |
Slava Pestov
|
a961e17ef1
|
Add new RC_ABSOLUTE_PPC_2 relocation type
|
2009-05-05 20:56:23 -05:00 |
Slava Pestov
|
58d0e17936
|
Fix bool type; its actually 1 byte not 4 in structs. Bug reported by jedahu
|
2009-05-05 18:37:40 -05:00 |
Slava Pestov
|
be207afe9a
|
Fix VM compile error
|
2009-05-05 16:19:13 -05:00 |
Slava Pestov
|
8d5d1b8bb5
|
Fix VM code to export the right symbols on Windows
|
2009-05-05 15:55:41 -05:00 |
Slava Pestov
|
3295c54bff
|
Remove debug messages from VM
|
2009-05-05 14:27:22 -05:00 |
Slava Pestov
|
56597b65f4
|
VM now compiles with GCC 3.4 on Windows
|
2009-05-05 14:17:02 -05:00 |
unknown
|
cc9ac345fa
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-05-05 13:03:43 -05:00 |
unknown
|
6e26c7b554
|
Fixing compile errors on Windows
|
2009-05-05 13:03:24 -05:00 |
Slava Pestov
|
53db9d737a
|
Change (void) to ()
|
2009-05-05 11:33:35 -05:00 |
Slava Pestov
|
786b9096e2
|
Store forwarding table off to the side instead of in the code block; saves one cell per code block
|
2009-05-05 11:07:20 -05:00 |
Slava Pestov
|
12de56c41e
|
Fix botched replace all in VM source, clean up image saving code, and fix save-image-and-exit to actually call (save-image-and-exit) instead of (save-image)
|
2009-05-05 10:29:22 -05:00 |
Slava Pestov
|
029d93a838
|
Make walker work better with call( and breakpoints which are nested inside combinators
|
2009-05-05 09:12:32 -05:00 |
Slava Pestov
|
0682c3da39
|
Some VM fixes
|
2009-05-04 15:11:31 -05:00 |
sheeple
|
dbc245729c
|
use eg++ on openbsd
|
2009-05-04 11:48:46 -05:00 |
Slava Pestov
|
fb5b48c71a
|
Fix some test failures
|
2009-05-04 09:44:26 -05:00 |
Slava Pestov
|
fb9086d191
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-05-04 08:31:56 -05:00 |
Slava Pestov
|
f812f70473
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-05-04 09:08:46 -04:00 |
Slava Pestov
|
7a80307b52
|
Fix problem caused by different behavior of GCC 4.0 -vs- 4.3
|
2009-05-04 09:08:33 -04:00 |
Samuel Tardieu
|
f3a9234422
|
Make the primitives array const
|
2009-05-04 14:45:15 +02:00 |
Samuel Tardieu
|
1b0db9623b
|
Do not lower primitives to "void*" to get better compiler checking
|
2009-05-04 14:32:09 +02:00 |