Doug Coleman
e8d528ad93
Remove system_micros from vm, implement gmt hook on windows
2010-06-16 23:39:16 -05:00
Slava Pestov
eaccd0b56a
vm: speed up nano-count primitive on Windows
2010-04-11 22:27:49 -05: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
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
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
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
46ec4ff093
vm: fix SEH on Windows
2010-03-28 17:57:47 -05:00
Slava Pestov
11ddbc03a4
vm: signal handling cleanup
2010-03-27 07:33:28 -04:00
Slava Pestov
69bb81dab8
vm: clean up TLS usage
2010-03-27 03:44:40 -04:00
Doug Coleman
d22eb40360
Fix spaces that crept into vm/ cpp files
2010-02-06 01:06:26 -06:00
Slava Pestov
c08fa9cb6e
vm: disable silly nano-count workaround on Win64, fix some indentation issues
2010-02-06 00:45:29 -06:00
Slava Pestov
942f6e0943
Update Win64 support
2010-01-25 15:39:34 +13:00
Slava Pestov
e4da687413
vm: Tweak Factor VM to compile with Microsoft Visual Studio on Windows, in addition to Mingw. Add an Nmakefile which can be used for this purpose. Rename Makefile to GNUmakefile.
2010-01-17 03:43:22 +13:00
Slava Pestov
36d2ac8921
vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64
2010-01-06 15:47:36 +13:00
Doug Coleman
eae646bfa0
remove warning
2009-12-28 10:02:36 -06:00
Doug Coleman
964dbfe72d
avoid integer division in nano_count on windows
2009-12-28 09:56:10 -06:00
Doug Coleman
7fa3b71c07
Add 0xe06d7363 to debugger.windows. Remove case 0xe06d7363 from SEH.
2009-12-23 14:04:52 -06:00
Doug Coleman
ab7792f25c
remove debug output
2009-12-22 14:39:30 -06:00
Doug Coleman
7077cb4bfb
try a different approach to fix the windows monotonic counter
2009-12-22 14:36:33 -06:00
Doug Coleman
c84f46fe8b
Ignore yet another undocumented exception. Tricks of the trade, I guess.
2009-12-22 13:33:39 -06:00
Doug Coleman
b0b1da0923
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
vm/os-windows-nt.cpp
2009-12-13 20:45:40 -06:00
Doug Coleman
0eccec2133
workaround for QueryPerformanceCounter: if the high part of the count doesn't increment when the low part overflows, keep track of this and add the correction on future calls to nano_count
2009-12-13 20:42:51 -06:00
Slava Pestov
62e7aed2d3
vm/os-windows-nt.cpp: fix formatting
2009-12-13 16:52:59 -06:00
Doug Coleman
bce084ac12
fix windows compile error
2009-11-20 04:21:21 -06:00
Doug Coleman
6f7ec206a1
rename millis to system-millis, micros to system-micros, add nano-count
2009-11-18 15:58:48 -06:00
Doug Coleman
60d8ef22b8
fix current_nanos on windows
2009-11-18 11:04:46 -06:00
Doug Coleman
b4206f5252
initial commit to nanos branch to replace micros
2009-11-18 04:20:05 -06:00
Phil Dawes
7fef05fd76
Removed VM_PTR macros. All builds reentrant by default
2009-10-14 19:14:57 +01:00
Slava Pestov
6c047127ee
Change C++ exception usage back into a longjmp() due to GCC bugs
2009-10-05 03:27:28 -05:00
Slava Pestov
96df486753
vm: add assertions to tls_vm()
2009-10-02 09:37:04 -05:00
Phil Dawes
83b0769eef
renamed factorvm to factor_vm
2009-09-24 08:16:52 +01:00
Phil Dawes
46bab62689
misc cleanup
2009-09-24 08:02:14 +01:00
Phil Dawes
e8d1612e8e
Split data out into separate vm-data struct
2009-09-16 08:22:16 +01:00
Phil Dawes
f4af39b60e
thread_id is a pthread_t on unix
2009-09-16 08:20:51 +01:00
Phil Dawes
3c139593c5
moved the thread stuff around a bit
2009-09-16 08:20:49 +01:00
Phil Dawes
1456fb3c97
removed vm ptrs from unix code (still in signal handlers tho)
2009-09-16 08:20:10 +01:00
Phil Dawes
6ddd3c654e
fixed up linux64 bootstrap (single threaded)
2009-09-16 08:20:09 +01:00
Phil Dawes
aa005c948f
win32 main starts factorvm in new thread
2009-09-16 08:20:09 +01:00
Phil Dawes
5c2a28173a
Start windows factor in a spawned thread (for testing)
2009-09-16 08:20:09 +01:00
Phil Dawes
9cac5e8aa9
added lookup_vm and removed last usage of vm from windows code
2009-09-16 08:20:09 +01:00
Phil Dawes
700e03a6a6
removed some vm-> forwarding functions
2009-09-16 08:17:26 +01:00
Phil Dawes
0a15e20e12
Added basic win32 start-thread support
2009-09-16 08:17:26 +01:00
Phil Dawes
4afc16e95b
passing vm ptr to lazy_jit_compile mostly working
2009-09-16 08:16:30 +01:00
Phil Dawes
d48dffcfa0
moved os-windows-nt functions into the vm
2009-09-16 08:16:30 +01:00
Phil Dawes
01ecb11635
Dev checkpoint
2009-09-16 08:16:29 +01: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
Slava Pestov
83c992173e
vm: fix indentation in Joe's changes
2009-09-14 03:09:03 -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