Commit Graph

1149 Commits (20b2bbd9b6fe0550d74df3942fe8fffead27e248)

Author SHA1 Message Date
Slava Pestov bcf7a5e15e Use ##local-allot to simplify longlong unboxing 2010-05-19 01:07:22 -04:00
Slava Pestov 35bd2bca06 FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing 2010-05-16 03:43:23 -04:00
Slava Pestov fc166bce0a vm: fix longlong accessors 2010-05-11 23:24:48 -04:00
Slava Pestov b40cd01828 vm: fix compile error 2010-05-11 19:29:50 -04:00
Slava Pestov 5054bb4b25 FFI rewrite part 4: parameter and return value unboxing redesign 2010-05-11 19:11:44 -04:00
Slava Pestov 5d7287b71d compiler: simplify ##unbox-small/large-struct by emitting an ##unbox-any-c-ptr first 2010-05-10 01:38:34 -04:00
Joe Groff a4b913c790 silence more msvc warnings 2010-05-05 22:32:45 -07:00
Joe Groff 6c881acbbd quiet some data conversions warnings raised by msvc 2010-05-05 22:22:13 -07:00
Slava Pestov 7e8add87fe More FFI cleanups 2010-05-05 01:13:45 -04:00
Slava Pestov 46864a2c92 vm: tweak inline_gc() for PowerPC 2010-05-04 06:52:30 -04:00
Slava Pestov 7f0469efef 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 90b945eaa0 compiler: add ##load-vector instruction to avoid wasting a temporary register on x86-32 2010-05-03 17:34:28 -04:00
Slava Pestov be95003594 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 03bd160f08 Code cleanups 2010-05-03 17:34:17 -04:00
Slava Pestov fc7a1ad8b3 New GC checks work in progress 2010-05-03 17:34:16 -04:00
Slava Pestov fd84bb98bc strings: move string-nth primitive out of the VM and into the library 2010-05-03 17:34:12 -04:00
Doug Coleman c78628fbe9 Add callstack-bounds primitive to vm/ for use with javascriptcore library 2010-04-19 20:08:15 -05:00
Slava Pestov 1d7089dc04 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 b621d1cd7c vm: small cleanup 2010-04-13 21:24:42 -07:00
Slava Pestov 775dbefdbc math.parser: expose a format-float primitive for use by formatting vocabulary 2010-04-13 21:21:28 -07:00
Slava Pestov 352e5c149a vm: fix compiler warnings raised by CL 2010-04-12 18:12:55 -05:00
Slava Pestov 3a3b50327f 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 a80372cda6 vm: speed up nano-count primitive on Windows 2010-04-11 22:27:49 -05:00
Slava Pestov 650accf172 vm: speed up nano-count primitive on Mac OS X 2010-04-11 20:26:11 -07:00
Slava Pestov 73d020bb3c 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 0dc43a94bd Merge remote branch 'origin/abi-symbols' into fastcall-madness 2010-04-10 00:10:33 -07:00
Slava Pestov 1f2f72de5e vm: implement frame-based SEH for 64-bit Windows 2010-04-08 10:32:14 -07:00
Slava Pestov 57f75e93ca vm: fix compile error under Cygwin 2010-04-06 16:30:41 -05:00
Joe Groff 3b4f8758b5 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 e3b8f3661d vm: dllexport exception_handler for great justice 2010-04-05 15:48:09 -05:00
Slava Pestov 3b0bc02e11 Safe SEH is better than abstinence 2010-04-05 15:02:32 -05:00
Slava Pestov a30740ef64 vm: fix callback heap code on 64-bit Windows 2010-04-04 17:46:36 -04:00
Slava Pestov e70a5a8cfc vm: fix compile error 2010-04-04 13:53:17 -05:00
Slava Pestov cdc4fb3b62 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 4e058a0f33 vm: re-organize context structure 2010-04-02 15:42:29 -04:00
Slava Pestov 5509f1f71d vm: use C++ exceptions instead of longjmp(), to make Windows crash more 2010-04-02 14:10:55 -04:00
Slava Pestov 5e61c327d6 vm: larger default callstack on PowerPC 2010-04-02 14:09:58 -04:00
Joe Groff 22bba39a75 add tests for struct returns from fastcall 2010-04-01 23:52:56 -07:00
Slava Pestov 6c4114d98c vm: smaller default callstack size on OpenBSD 2010-04-02 00:36:45 -04:00
Slava Pestov 3904f963bc vm: oops 2010-04-02 00:22:16 -04:00
Slava Pestov 295de47038 vm: don't try loading Factor VM DLL anymore 2010-04-02 00:03:26 -04:00
Slava Pestov 47f86898d7 vm: pre-allocate context alien 2010-04-02 00:02:21 -04:00
Joe Groff ca9614e746 Merge branch 'master' into abi-symbols 2010-04-01 15:28:36 -07:00
Joe Groff 7bb82e0c1b statically link factor executable to VM so dylib is only needed for embedding 2010-04-01 14:25:02 -07:00
Joe Groff 202b62add9 typos in ffi tests 2010-04-01 03:02:36 -07:00
Joe Groff 7296e27e23 add fastcall functions to ffi tests 2010-04-01 02:22:42 -07:00
Slava Pestov 2aada86da7 cpu.ppc: updating non-optimizing compiler backend for green threads (untested) 2010-03-31 15:19:14 -04:00
Slava Pestov de0c2801d2 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 cea2bf4189 threads: use context-switching primitives 2010-03-29 20:40:17 -04:00
Slava Pestov 562d72ac66 vm: fix typos 2010-03-29 02:27:45 -04:00