Joe Groff
0c58fd5c26
vm: more commentary on lock_console() stuff
2011-11-08 08:52:52 -08:00
Joe Groff
8337b08d0d
io.backend.unix: startup hook for signal-pipe
2011-11-08 08:42:48 -08:00
Joe Groff
5f811c0573
vm: don't mask SIGTTIN from stdin_loop
...
Fixes #360
2011-11-08 08:42:48 -08:00
Joe Groff
ed24890dce
io.backend.unix: init-signal-pipe function
...
Currently just reads off signal numbers and drops them.
2011-11-08 08:42:48 -08:00
Joe Groff
f9aa0419c4
vm: interrupt stdin_loop when entering fep
...
The stdin_loop thread will keep trying to consume input unless we stop it by sending it a signal. Use SIGUSR2 to stop the read syscall and a mutex to hold up the loop while the fep is active.
2011-11-08 08:42:48 -08:00
Joe Groff
04c6b2c393
vm: write signals to pipe immediately
...
The whole point is to wake up the mx without waiting for the next safepoint derp
2011-11-08 08:42:47 -08:00
Joe Groff
0e3c315099
vm: move bignum.cpp includes to master.hpp
...
That way they get PCHed
2011-11-08 08:42:47 -08:00
Joe Groff
18e01f7770
vm: enqueue signals for FEP signals too
...
Although SIGINT still can't interrupt the current Factor thread in a sane way, this will at least wake up the run loop when waiting for input and fix #348 when implemented at the application level.
2011-11-08 08:42:47 -08:00
Joe Groff
b46fd5e655
GNUmakefile: use PCH so compiler goes faster
...
Also add more accurate dependencies on headers so "make" works right when headers change
2011-11-08 08:42:46 -08:00
Joe Groff
72d335f2b5
vm: write async signals to pipe for multiplexer
...
also factor out safepoint logic into its own file
2011-11-08 08:42:46 -08:00
Joe Groff
55a316248e
io.launcher.windows: update tests for prompt
2011-11-08 00:09:25 -08:00
Joe Groff
212d012cb1
vm: switch atomic::add to atomic::fetch_add
...
Win32 only provides fetch-and-add, not add-and-fetch, and we don't really care. Rename the functions so the order of operations is clear.
2011-11-07 17:58:53 -08:00
Joe Groff
0856bb5711
lists: make lmap behave row-polymorphically
...
Fix contributed by @bremac. Fixes #355 .
2011-11-07 10:37:35 -08:00
Doug Coleman
eb2a0c611b
compiler.cfg: Change low-level IR constructors from ##foo to <##foo>
2011-11-06 23:02:46 -08:00
Doug Coleman
d65bd97a54
compiler.tree: Renamed high-level IR node constructors to <#foo> from #foo. Moving towards making classes/word names not conflict.
2011-11-06 23:02:45 -08:00
Joe Groff
ec19171220
vm: readable feps for more types
2011-11-06 20:26:52 -08:00
Joe Groff
f4479ee1e6
vm: print type names instead of numbers in fep
2011-11-06 20:26:51 -08:00
Doug Coleman
e4481b846b
lint: Add a word to find redundant word props like 'inline [flushable|foldable]'
2011-11-06 19:33:07 -08:00
Doug Coleman
60f928ddbf
math.functions: flushable and foldable don't do anything on inline words because flushable and foldable work on call sites (#call nodes), and inlined words are inlined into another word's call site; they don't generate their own #call node.
2011-11-06 19:25:53 -08:00
Doug Coleman
9048233d27
compiler.tree.dead-code: Rewrite /mod to /i or mod in the dead-code pass in the high level optimizer. Fixes #279 .
2011-11-06 19:23:26 -08:00
Joe Groff
4c197ec6e6
tools.deploy.backend: fix vocab manifest parse
...
We were absent-mindedly passing the VOCABS: line off as a vocab name itself. vocabs.loader doesn't put up with that anymore.
2011-11-06 18:57:12 -08:00
Doug Coleman
c731dc6edb
Rename lookup to lookup-word.
2011-11-06 16:00:00 -08:00
Doug Coleman
cb84fefc37
webapps.help: Load the navbar from a Factor word instead of hardcoding it into the template so that the glossary link works.
2011-11-06 12:16:46 -08:00
Doug Coleman
bc7162743c
html.components: For the t:html tag, only wrap strings in unescaped so that other objects can render.
2011-11-06 12:15:00 -08:00
Doug Coleman
ff0784ae8e
webapps.help: Change webapps.help search from post to get. Fixes #343 .
2011-11-05 00:07:16 -07:00
Doug Coleman
15575e5dd9
help.html: fix glossary link.
2011-11-05 00:05:58 -07:00
Doug Coleman
9d393f3709
Make edit-vocab work on an unloaded vocabulary.
2011-11-04 23:33:18 -07:00
Joe Groff
c736b04ada
cpu.x86.*.bootstrap: save flags in signal-handlers
2011-11-04 11:56:01 -07:00
Joe Groff
a934b7f3e5
cpu.x86.bootstrap: cell -> bootstrap-cell
2011-11-04 11:54:40 -07:00
Joe Groff
4ef2a9b4f0
cpu.x86.assembler: PUSHF, POPF instructions
2011-11-04 11:23:11 -07:00
Joe Groff
d9293337bb
cpu.x86.64.bootstrap: save all the regs on signal
...
Appears to fix another sporadic crash from mason on x86-64. There's no reason to cut corners here, really.
2011-11-04 10:01:56 -07:00
Doug Coleman
cb14adb1c2
Fix bootstrap. Add missing using on io.serial.linux. Fixes #351 .
2011-11-04 06:08:02 -07:00
Joe Groff
7942f807c9
unix.ffi: add signal constants
2011-11-04 00:24:18 -07:00
Joe Groff
f0d4fcc587
switch back to gcc from clang since it goes faster
2011-11-04 00:09:30 -07:00
Joe Groff
1bc623167f
cpu.x86.bootstrap: don't safepoint in a safepoint
...
Safepointing in the signal-handler primitive causes a crash if the safepoint is guarded and the signal being handled was raised by a safepoint. Put our own RET in the subprimitive to bail out before the standard epilog gets written out. This tentatively appears to fix #349 .
2011-11-03 20:19:38 -07:00
Joe Groff
94eb922998
makefile: add macosx-x86-fat target
2011-11-03 20:19:37 -07:00
Doug Coleman
e1c123e157
Move io.serial.unix to io.serial.linux, add platforms files. Move termios into io.serial.linux.ffi vocab.
2011-11-03 16:26:34 -07:00
Joe Groff
bbede53f78
mason.release.branch: fix test
2011-11-03 15:40:24 -07:00
Joe Groff
7619ff785b
stack-checker.known-words: add ffi-signal-handlers
2011-11-03 15:20:42 -07:00
Joe Groff
e201f3562f
cpu.x86.32.bootstrap: typo
2011-11-03 13:07:13 -07:00
Joe Groff
3cad288f90
use gcc-4.2 on OS X 10.5, or clang on Xcode 4
2011-11-03 12:18:07 -07:00
Doug Coleman
2d12fea828
Update emacs for editors protocol.
2011-11-03 12:04:02 -07:00
Joe Groff
6bb46a3f1e
vm: always generate safepoints in jit
...
Even if there's no stack frame we still need to safepoint before leaving the function. Fixes #332 .
2011-11-03 11:57:43 -07:00
Joe Groff
92445d77e2
vm: restore sigaltstack setup on unix
...
#ifdef __OpenBSD__ is different from #ifndef __OpenBSD
2011-11-03 11:57:43 -07:00
Doug Coleman
289cba7fb5
Add back the using for nested-comments. Wo shi ben dan...
2011-11-03 11:47:57 -07:00
Doug Coleman
f6353e17cd
Make the require-hook throw an error if the vocabulary does not exist in the dictionary or on disk. Move require docs to vocabs. Add unit tests for require. Fixes #339 .
2011-11-03 11:39:34 -07:00
John Benediktsson
ddb06ab6cb
webapp.help: making fonts more consistent. See #310 .
2011-11-03 08:30:44 -07:00
Joe Groff
8679fe82bb
tools.profiler.sampling: mess with formatting more
2011-11-03 00:14:18 -07:00
Joe Groff
0c701fb68d
tools.profiler.sampling: cross-section report
...
Also add depth to top-down reporting so we can tell what parameter to give cross-section
2011-11-02 23:57:15 -07:00
Joe Groff
d28845a1ef
vm: reserve some more special-objects
...
Need a jit-safepoint object to deal with #332 , and ffi-signal-handler words for immediate signal handling during FFI calls
2011-11-02 22:16:08 -07:00