Slava Pestov
fec408260e
vm: tweak inline_gc() for PowerPC
2010-05-04 06:52:30 -04:00
Slava Pestov
58e4381eb1
compiler: new "binary literal area" at the end of a word's machine code stores constant floats and SIMD vectors; this allows ##load-reference/##load-memory fusion to be performed on x86-64, with a RIP-relative address reaching the data; also simplifies VM since custom relocation types used by the previous 32-bit-only optimization are no longer needed
2010-05-03 17:34:35 -04:00
Slava Pestov
9788323d25
compiler: add ##load-vector instruction to avoid wasting a temporary register on x86-32
2010-05-03 17:34:28 -04:00
Slava Pestov
1b4b66e341
cpu.x86: use available type info to generate more efficient %box-displaced-alien where possible
2010-05-03 17:34:27 -04:00
Slava Pestov
d23bb19b55
Code cleanups
2010-05-03 17:34:17 -04:00
Slava Pestov
95ff5ffe51
New GC checks work in progress
2010-05-03 17:34:16 -04:00
Slava Pestov
a9ccfa8f05
strings: move string-nth primitive out of the VM and into the library
2010-05-03 17:34:12 -04:00
Doug Coleman
366ce2896f
Add callstack-bounds primitive to vm/ for use with javascriptcore library
2010-04-19 20:08:15 -05:00
Slava Pestov
2517b2fc2b
compiler: combine ##load-constant followed by ##alien-double into a ##load-double on x86-32, saving an integer register
2010-04-18 21:42:45 -05:00
Slava Pestov
216a05e68a
vm: small cleanup
2010-04-13 21:24:42 -07:00
Slava Pestov
288090d993
math.parser: expose a format-float primitive for use by formatting vocabulary
2010-04-13 21:21:28 -07:00
Slava Pestov
0d3861bb5d
vm: fix compiler warnings raised by CL
2010-04-12 18:12:55 -05:00
Slava Pestov
1434a305c8
vm: add a new rc-absolute-1 relocation class to allow storing values in 8-bit operands, and optimized code sequences for inline caches using this
2010-04-12 14:22:41 -07:00
Slava Pestov
eaccd0b56a
vm: speed up nano-count primitive on Windows
2010-04-11 22:27:49 -05:00
Slava Pestov
a417b0e70d
vm: speed up nano-count primitive on Mac OS X
2010-04-11 20:26:11 -07:00
Slava Pestov
4fb2acb65e
vm: try a smaller call stack size on OpenBSD again, now that x86-32 stack frames are smaller
2010-04-10 17:26:56 -07:00
Slava Pestov
46a1fb2646
Merge remote branch 'origin/abi-symbols' into fastcall-madness
2010-04-10 00:10:33 -07:00
Slava Pestov
e5e51c40a1
vm: implement frame-based SEH for 64-bit Windows
2010-04-08 10:32:14 -07:00
Slava Pestov
c931870cd7
vm: fix compile error under Cygwin
2010-04-06 16:30:41 -05:00
Joe Groff
3e0d86f355
Merge branch 'master' of git://factorcode.org/git/factor into abi-symbols
...
Conflicts:
basis/compiler/tests/alien.factor
2010-04-06 12:30:15 -07:00
Slava Pestov
ff0e084f94
vm: dllexport exception_handler for great justice
2010-04-05 15:48:09 -05:00
Slava Pestov
9b44451682
Safe SEH is better than abstinence
2010-04-05 15:02:32 -05:00
Slava Pestov
ce16c4ec2c
vm: fix callback heap code on 64-bit Windows
2010-04-04 17:46:36 -04:00
Slava Pestov
d70cf197f2
vm: fix compile error
2010-04-04 13:53:17 -05:00
Slava Pestov
74640b7f71
Get green threads working on Windows
...
- store stack base and limit in TIB
- set up a frame-based structured exception handler in each context's callstack
- boot.x86.32.image has now been replaced by boot.winnt-x86.32.image and boot.unix-x86.32.image
2010-04-03 20:24:33 -04:00
Slava Pestov
de4343eaf7
vm: re-organize context structure
2010-04-02 15:42:29 -04:00
Slava Pestov
b740a1fe5d
vm: use C++ exceptions instead of longjmp(), to make Windows crash more
2010-04-02 14:10:55 -04:00
Slava Pestov
d24ce84dde
vm: larger default callstack on PowerPC
2010-04-02 14:09:58 -04:00
Joe Groff
5dcfb383a6
add tests for struct returns from fastcall
2010-04-01 23:52:56 -07:00
Slava Pestov
279ff3a7d3
vm: smaller default callstack size on OpenBSD
2010-04-02 00:36:45 -04:00
Slava Pestov
fa9b6e086b
vm: oops
2010-04-02 00:22:16 -04:00
Slava Pestov
d9d12ab8fb
vm: don't try loading Factor VM DLL anymore
2010-04-02 00:03:26 -04:00
Slava Pestov
0faa3bcf4a
vm: pre-allocate context alien
2010-04-02 00:02:21 -04:00
Joe Groff
ef884ef7f2
Merge branch 'master' into abi-symbols
2010-04-01 15:28:36 -07:00
Joe Groff
6d8c30ad98
statically link factor executable to VM so dylib is only needed for embedding
2010-04-01 14:25:02 -07:00
Joe Groff
a191937c47
typos in ffi tests
2010-04-01 03:02:36 -07:00
Joe Groff
fca8ba3d0a
add fastcall functions to ffi tests
2010-04-01 02:22:42 -07:00
Slava Pestov
4b1361833e
cpu.ppc: updating non-optimizing compiler backend for green threads (untested)
2010-03-31 15:19:14 -04:00
Slava Pestov
fb2ecab614
threads: delete old contexts immediately instead of handing them off to a 'context recycler' thread
2010-03-30 21:47:48 -04:00
Slava Pestov
c7142e4281
threads: use context-switching primitives
2010-03-29 20:40:17 -04:00
Slava Pestov
946b7415e0
vm: fix typos
2010-03-29 02:27:45 -04:00
Slava Pestov
43b2e02534
vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD
2010-03-29 02:23:21 -04:00
Slava Pestov
8ab0d12e8d
vm: callstack errors were flipped
2010-03-29 01:53:30 -04:00
Doug Coleman
b40382f412
vm: don't use sigaltstack() on OpenBSD because OpenBSD sucks
2010-03-28 18:26:39 -05:00
Slava Pestov
46ec4ff093
vm: fix SEH on Windows
2010-03-28 17:57:47 -05:00
Slava Pestov
bddbcd24cd
vm: fix OpenBSD compilation
2010-03-28 12:53:01 -04:00
Slava Pestov
84c01e1ab3
vm: fix compilation on FreeBSD
2010-03-28 12:52:16 -04:00
Slava Pestov
9ffe0a69d1
vm: use sigaltstack to handle callstack overflow properly
2010-03-28 11:37:28 -04:00
Slava Pestov
031ea6c39c
vm: fix factor_vm::dispatch_signal()
2010-03-28 08:29:10 -04:00
Slava Pestov
19aef06741
vm: fix compilation on various Unices
2010-03-27 09:44:20 -04:00