Commit Graph

60 Commits (55ac874eb2119b3f7de14a0e92ddeb45ef3932bf)

Author SHA1 Message Date
Slava Pestov 55ac874eb2 vm: Remove signal_callstack_top nonsense 2010-09-02 22:57:17 -05:00
Slava Pestov 6617eca683 Fix three problems discovered by running math.floats.env tests in a loop:
- Crash if allocating error triggers a GC from a signal/SEH handler
- Crash if GC runs with floating point traps enabled on Windows
- Floating point traps didn't prettyprint properly
2010-09-02 22:57:14 -05:00
Doug Coleman 97c3450427 Remove system_micros from vm, implement gmt hook on windows 2010-06-16 23:39:16 -05:00
Slava Pestov 295de47038 vm: don't try loading Factor VM DLL anymore 2010-04-02 00:03:26 -04: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
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
Doug Coleman d915b1a401 vm: don't use sigaltstack() on OpenBSD because OpenBSD sucks 2010-03-28 18:26:39 -05:00
Slava Pestov 43844830c8 vm: fix compilation on FreeBSD 2010-03-28 12:52:16 -04:00
Slava Pestov 0fa2277bc3 vm: use sigaltstack to handle callstack overflow properly 2010-03-28 11:37:28 -04:00
Slava Pestov 54aaed0fc3 vm: fix factor_vm::dispatch_signal() 2010-03-28 08:29:10 -04:00
Slava Pestov 4fd804a3a8 vm: fix compilation on various Unices 2010-03-27 09:44:20 -04: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 f6002e6c78 Change the MOVE_FILE macro to a function named move_file 2010-02-03 15:12:13 -06: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 a942e2c34d vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler 2009-12-19 10:59:56 +13:00
Doug Coleman a896eef7b4 remove sleep_micros, add sleeo_nanos to vm 2009-11-19 04:49:29 -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 1861dd2705 initial commit to nanos branch to replace micros 2009-11-18 04:20:05 -06:00
Slava Pestov 28de799296 vm: fix compilation 2009-10-22 06:38:02 -04:00
Slava Pestov 5a63edf278 vm: clean up signal handling and add EXC_BAD_INSTRUCTION Mach exception handler for OS X, since signal handlers cannot change the stack pointer 2009-10-22 05:22:59 -05:00
Slava Pestov f0a1a3ce5b vm: rename F to false_object, and rename T to true_object 2009-10-18 20:26:21 -05:00
Slava Pestov c80b255885 vm: allocate stacks and data heap segments without execute permissions 2009-10-16 05:16:12 -05:00
Slava Pestov 786f6826b6 Merge branch 'reentrantvm' of git://github.com/phildawes/factor 2009-10-16 03:52:35 -05:00
Phil Dawes 0b2db4018a Removed VM_PTR macros. All builds reentrant by default 2009-10-14 19:14:57 +01:00
Slava Pestov c9e1d415fe vm: refactoring card logic a bit 2009-10-09 11:16:18 -05:00
Slava Pestov 8ffd538d27 vm: more code cleanups 2009-10-07 08:33:54 -05:00
Slava Pestov 0497ade10b vm: add assertions to tls_vm() 2009-10-02 09:37:04 -05:00
Phil Dawes c2a5049a25 removed some superflous newlines 2009-10-01 07:33:16 +01:00
Phil Dawes 63266524d7 Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp 2009-09-27 19:42:18 +01:00
Slava Pestov 3d196110b7 Make segment, context, data_heap, zone more object-oriented, and fix crash when calling undefined symbols 2009-09-25 21:17:20 -05:00
Slava Pestov 1174d60026 Merge branch 'vm_cleanup' of git://github.com/phildawes/factor 2009-09-25 19:04:19 -05:00
Slava Pestov efbd24e95f vm: clean up os-unix.cpp 2009-09-25 18:08:00 -05:00
Phil Dawes c495640cc5 forwarding functions replaced with PRIMITIVE_FORWARD() macro 2009-09-25 20:43:01 +01:00
Phil Dawes 1c5329cc2e renamed factorvm to factor_vm 2009-09-24 08:16:52 +01:00
Phil Dawes 2cfb1b6f02 removed a bunch of superflous blank lines 2009-09-24 08:02:14 +01:00
Phil Dawes 3da9b64c73 renamed vmprim_ to primitive_ 2009-09-24 08:02:13 +01:00
Phil Dawes 82f0c90719 fpe signals working on unix again 2009-09-16 08:22:18 +01:00
Phil Dawes 442f6ef3f1 moved signal handlers into vm object 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 898f5be1e0 quick test vocab for mt stuff 2009-09-16 08:20:50 +01:00
Phil Dawes 9b013faed4 removed vm singleton usage from unix stuff 2009-09-16 08:20:49 +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 f60b1e1dd0 moved utility functions and fatal_error out of vm struct since doesn't need state 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 41345583a5 added lookup_vm and removed last usage of vm from windows code 2009-09-16 08:20:09 +01:00
Phil Dawes 38eb7a23f1 removed some error vm-> functions 2009-09-16 08:17:27 +01:00
Phil Dawes bbdcabae9c removed some vm-> forwarding functions 2009-09-16 08:17:26 +01:00
Phil Dawes fcfd971108 removed some vm-> pointers 2009-09-16 08:17:26 +01:00