Doug Coleman
97c3450427
Remove system_micros from vm, implement gmt hook on windows
2010-06-16 23:39:16 -05:00
Slava Pestov
a80372cda6
vm: speed up nano-count primitive on Windows
2010-04-11 22:27:49 -05: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
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
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
a1caf9edb3
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
bdee695f37
vm: fix SEH on Windows
2010-03-28 17:57:47 -05:00
Slava Pestov
370718e9a4
vm: signal handling cleanup
2010-03-27 07:33:28 -04:00
Slava Pestov
ba61398145
vm: clean up TLS usage
2010-03-27 03:44:40 -04:00
Doug Coleman
8c492088a2
Fix spaces that crept into vm/ cpp files
2010-02-06 01:06:26 -06:00
Slava Pestov
e481d5e71c
vm: disable silly nano-count workaround on Win64, fix some indentation issues
2010-02-06 00:45:29 -06:00
Slava Pestov
0e0b750e7d
Update Win64 support
2010-01-25 15:39:34 +13:00
Slava Pestov
edb1346239
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
d2baa6dde5
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
1329e0dcb3
remove warning
2009-12-28 10:02:36 -06:00
Doug Coleman
667e871291
avoid integer division in nano_count on windows
2009-12-28 09:56:10 -06:00
Doug Coleman
92393c7df7
Add 0xe06d7363 to debugger.windows. Remove case 0xe06d7363 from SEH.
2009-12-23 14:04:52 -06:00
Doug Coleman
d7f6c17a71
remove debug output
2009-12-22 14:39:30 -06:00
Doug Coleman
984a458394
try a different approach to fix the windows monotonic counter
2009-12-22 14:36:33 -06:00
Doug Coleman
c92eae83b8
Ignore yet another undocumented exception. Tricks of the trade, I guess.
2009-12-22 13:33:39 -06:00
Doug Coleman
1b5a9b42c8
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
6ba4e7c8c4
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
ffe5fb62ca
vm/os-windows-nt.cpp: fix formatting
2009-12-13 16:52:59 -06:00
Doug Coleman
26a9852b8c
fix windows compile error
2009-11-20 04:21:21 -06:00
Doug Coleman
addb1c90bb
rename millis to system-millis, micros to system-micros, add nano-count
2009-11-18 15:58:48 -06:00
Doug Coleman
4b9244ee85
fix current_nanos on windows
2009-11-18 11:04:46 -06:00
Doug Coleman
1861dd2705
initial commit to nanos branch to replace micros
2009-11-18 04:20:05 -06:00
Phil Dawes
0b2db4018a
Removed VM_PTR macros. All builds reentrant by default
2009-10-14 19:14:57 +01:00
Slava Pestov
83d21310f2
Change C++ exception usage back into a longjmp() due to GCC bugs
2009-10-05 03:27:28 -05:00
Slava Pestov
0497ade10b
vm: add assertions to tls_vm()
2009-10-02 09:37:04 -05:00
Phil Dawes
1c5329cc2e
renamed factorvm to factor_vm
2009-09-24 08:16:52 +01:00
Phil Dawes
134a359353
misc cleanup
2009-09-24 08:02:14 +01:00
Phil Dawes
c1212b1326
Split data out into separate vm-data struct
2009-09-16 08:22:16 +01:00
Phil Dawes
a8f233c055
thread_id is a pthread_t on unix
2009-09-16 08:20:51 +01:00
Phil Dawes
1e93c766a1
moved the thread stuff around a bit
2009-09-16 08:20:49 +01:00
Phil Dawes
f371bbbc2d
removed vm ptrs from unix code (still in signal handlers tho)
2009-09-16 08:20:10 +01:00
Phil Dawes
939426dcf5
fixed up linux64 bootstrap (single threaded)
2009-09-16 08:20:09 +01:00
Phil Dawes
ad517cb39b
win32 main starts factorvm in new thread
2009-09-16 08:20:09 +01:00
Phil Dawes
8008545b8e
Start windows factor in a spawned thread (for testing)
2009-09-16 08:20:09 +01:00
Phil Dawes
41345583a5
added lookup_vm and removed last usage of vm from windows code
2009-09-16 08:20:09 +01:00
Phil Dawes
bbdcabae9c
removed some vm-> forwarding functions
2009-09-16 08:17:26 +01:00
Phil Dawes
915c765ecb
Added basic win32 start-thread support
2009-09-16 08:17:26 +01:00
Phil Dawes
60d0300876
passing vm ptr to lazy_jit_compile mostly working
2009-09-16 08:16:30 +01:00
Phil Dawes
c290eb67ab
moved os-windows-nt functions into the vm
2009-09-16 08:16:30 +01:00
Phil Dawes
9ec000c570
Dev checkpoint
2009-09-16 08:16:29 +01:00
Joe Groff
082783d799
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
78e143b13c
vm: fix indentation in Joe's changes
2009-09-14 03:09:03 -05:00
Joe Groff
0284a4b6f8
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