Commit Graph

59 Commits (87d7573bcd9089a8958a8e8072b69e0850730d2d)

Author SHA1 Message Date
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