Commit Graph

22727 Commits (f788bc954cda837e261c81f7378f904880746cb5)

Author SHA1 Message Date
Joe Groff f788bc954c vm: sketchy signal dispatch from leaf procs 2011-10-27 21:14:49 -07:00
Joe Groff f759575ddd vm: factor out dispatch_signal_handler logic 2011-10-27 21:14:49 -07:00
Joe Groff 91d8bcd4f8 vm: fep on SIGINT or SIGQUIT instead of exception
It's not robust currently to raise an exception because a lot of our code that isn't already written with exceptions in mind breaks. Also, a signal is likely to be received by an FFI callback installed on the IO multiplexer, which will cause Factor to die since the callback cannot handle the exception. We need a more robust solution to dealing with SIGINT.

Also lay some groundwork for counting profile samples and reporting non-interrupting asynchronous signals.
2011-10-27 21:14:49 -07:00
Joe Groff 01b782e6c4 vm: clean up signal handler dispatch
Remove the weird and broken functions fix_callstack_top and scrub_return_address. Instead, simply decrement the SP and store the PC from the front end of the signal handler so that the back end can return back into the original context normally. Currently aborts for leaf procedure frames pending a more robust solution.
2011-10-27 21:14:48 -07:00
Joe Groff 1467015a27 vm: don't mix iostream and stdio 2011-10-27 21:14:48 -07:00
Joe Groff 5fa890cb20 compiler: no spurious safepoint at start of loops 2011-10-27 21:14:48 -07:00
Joe Groff 675cd246ad vm: fatal_error if VM-less thread gets a signal 2011-10-27 21:14:48 -07:00
Joe Groff f297b39c60 compiler.cfg.tco: clean up commented-out old code 2011-10-27 21:14:47 -07:00
Joe Groff 29dad5c168 vm: fix windows compile errors 2011-10-27 21:14:47 -07:00
Joe Groff d103e6b57d vm: remove unguard-safepoint primitive 2011-10-27 21:14:47 -07:00
Joe Groff 6f831c4f95 vm: block all signals from unix stdin_loop thread 2011-10-27 21:14:47 -07:00
Joe Groff 5b4a95a6a0 vm: SetConsoleCtrlHandler on windows 2011-10-27 21:14:47 -07:00
Joe Groff e9309a425a vm: handle async signals at safepoints on unix
Factor now supports the new 4.0BSD feature of "signals".
2011-10-27 21:14:46 -07:00
Joe Groff 4a8e1d5f0e compiler.cfg.tco: teach TCO about safepoints 2011-10-27 21:14:46 -07:00
Joe Groff b0bccf49d1 compiler.cfg.builder: safepoint loops and epilogs 2011-10-27 21:14:46 -07:00
Joe Groff cf45e0d581 compiler: add ##safepoint IR insn 2011-10-27 21:14:46 -07:00
Joe Groff 6e237abb5e cpu.x86.assembler: add MOVABS instruction
MOVABS generates the one-byte opcode version of MOV eAX, [absolute] or MOV [absolute], eAX, which saves a byte per safepoint on x86-32.
2011-10-27 21:14:45 -07:00
Joe Groff 72c35ffeee vm: add RT_SAFEPOINT to number_of_parameters() 2011-10-27 21:14:45 -07:00
Joe Groff 09d0fdaf8d cpu.x86.bootstrap: add safepoint to jit-epilog 2011-10-27 21:14:45 -07:00
Joe Groff ac3054d1e6 compiler: rt-safepoint and rel-safepoint words 2011-10-27 21:14:45 -07:00
Joe Groff 5b8bc33311 vm: add RT_SAFEPOINT relocation type 2011-10-27 21:14:44 -07:00
Joe Groff e6f65d81e4 vm: code_heap::(un)guard_safepoint methods 2011-10-27 21:14:44 -07:00
Joe Groff d2199b5b21 vm: take a page from code_heap for safepoints 2011-10-27 21:14:44 -07:00
John Benediktsson f49c71994d synth: adding some tests. 2011-10-27 09:47:36 -07:00
John Benediktsson 61dd542815 synth: fix code that depended on iterable numbers. 2011-10-26 15:14:39 -07:00
Doug Coleman 313a8dbe88 Add a lint check for swap .. swap that can be replaced by dip. Clean up the cases it finds. 2011-10-26 13:01:04 -07:00
Doug Coleman 1641adc511 Use dip instead of swap swap for making file streams 2011-10-26 11:48:26 -07:00
John Benediktsson ba6a147185 Merge remote-tracking branch 'upstream/master' 2011-10-26 10:07:21 -07:00
John Benediktsson 8d4f11bef9 brainfuck: minor cleanup. 2011-10-26 10:07:04 -07:00
Doug Coleman 9df6d05a4e Fix error reporting for load, reported by Recursed 2011-10-25 14:54:23 -07:00
Doug Coleman b5b27676c4 Update Windows for word renames, fix lint errors 2011-10-24 21:50:02 -07:00
Doug Coleman f05e33fa37 Fix all failures in the linux64 build email 2011-10-24 19:33:09 -07:00
Doug Coleman 55d6dc14b0 Missed yet more renames 2011-10-24 17:00:09 -07:00
Doug Coleman b61f9f6903 Forget some classes after unit tests so that running "classes" test succeeds multiple times in a row 2011-10-24 16:59:46 -07:00
Doug Coleman cb41cc99d8 Fix 32bit platform bootstrap 2011-10-24 16:24:01 -07:00
John Benediktsson 7b177d6237 vocabs.loader: actually use the root cache. 2011-10-24 16:19:59 -07:00
Doug Coleman 14a2511d57 Found a few more places to use lookup-c-type 2011-10-24 15:58:40 -07:00
John Benediktsson 5dde0a5057 windows.directx: add platforms.txt. 2011-10-24 15:47:06 -07:00
Doug Coleman 7bfbe17861 Rename c-type to lookup-c-type. Fixes #230. 2011-10-24 14:37:24 -07:00
Doug Coleman 96da8df16e Rename class to class-of 2011-10-24 06:47:42 -05:00
Doug Coleman a7f6982354 Rename vocab to lookup-vocab 2011-10-24 06:42:54 -05:00
Doug Coleman 3c99d38a7f Remove docs for removed word 2011-10-24 00:57:14 -05:00
Doug Coleman c66849384e Factor out ``no-roots no-prefixes'' into its own word. Add load-root, load-from-root, vocabs-in-root and implement load in terms of load-from-root.
Add error checking for append-vocab-dir and (child-vocabs) in case someone tries to pass them the wrong parameters.
Rename: vocab-dir+ to append-vocab-dir
Document load-from-root and load-root
2011-10-23 19:59:01 -05:00
Doug Coleman 7e3b477b17 Checked in some code on accident. 2011-10-21 15:34:44 -05:00
Doug Coleman 20a31bcef7 Revert "Try without-limits in mason.report. Fixes #275."
This reverts commit 1771f18998.
2011-10-21 15:34:08 -05:00
John Benediktsson a13676f3b6 Remove stack effects from HELP: declarations. 2011-10-20 19:36:11 -07:00
Doug Coleman 8cb8228413 Install gtk2-engines-pixbuf to get rid of warnings when you run deps-linux. Fixes #286. 2011-10-19 18:16:58 -07:00
John Benediktsson 0d2bccdba7 core-foundation.timers: allow interval to be specified in the constructor. 2011-10-19 15:30:55 -07:00
John Benediktsson f5acef0f50 smtp: removing unused test. 2011-10-19 13:39:26 -07:00
Doug Coleman 703fa2fc1a Move --no-as-needed to Config.linux since it breaks compilation on mac 2011-10-19 12:09:43 -07:00