]> gitweb.factorcode.org Git - factor.git/log
factor.git
12 years agovm: update windows for resumable signals
Joe Groff [Thu, 27 Oct 2011 01:24:00 +0000 (18:24 -0700)]
vm: update windows for resumable signals

12 years agovm: win32 GetCurrentThread is a fake thread handle
Joe Groff [Thu, 27 Oct 2011 00:19:23 +0000 (17:19 -0700)]
vm: win32 GetCurrentThread is a fake thread handle
Open a real thread handle with the necessary permissions to dispatch a handler from the the Ctrl-C handler thread.

12 years agovm: change factorbug "q" to quit process
Joe Groff [Thu, 27 Oct 2011 00:04:11 +0000 (17:04 -0700)]
vm: change factorbug "q" to quit process
Also change the docs around so the useful commands are all listed under "Basic commands", and rename the more arcane "s" and "r" dumps to "ds" and "dr".

12 years agovm: move dispatch_signal_handler to cpu-x86.cpp
Joe Groff [Wed, 26 Oct 2011 23:22:42 +0000 (16:22 -0700)]
vm: move dispatch_signal_handler to cpu-x86.cpp
The new signal handler dispatch is logic is CISC-centric; defer fixing it until we find someone who cares

12 years agovm: code_block_for_address method -> code_heap
Joe Groff [Wed, 26 Oct 2011 22:45:01 +0000 (15:45 -0700)]
vm: code_block_for_address method -> code_heap

12 years agovm: remove signal_from_leaf flag
Joe Groff [Wed, 26 Oct 2011 22:08:27 +0000 (15:08 -0700)]
vm: remove signal_from_leaf flag
Now that the resuming from the signal handler works within leaf procedures, the flag is no longer necessary.

12 years agovm: sniff leaf words walking code heap, not data
Joe Groff [Wed, 26 Oct 2011 21:36:26 +0000 (14:36 -0700)]
vm: sniff leaf words walking code heap, not data

12 years agovm: include quots and profile stubs in leaf search
Joe Groff [Wed, 26 Oct 2011 18:00:13 +0000 (11:00 -0700)]
vm: include quots and profile stubs in leaf search

12 years agocpu.x86.32: update for resumable signal handlers
Joe Groff [Wed, 26 Oct 2011 06:25:19 +0000 (23:25 -0700)]
cpu.x86.32: update for resumable signal handlers

12 years agovm: suppress signal-handler stack frame generation
Joe Groff [Wed, 26 Oct 2011 02:52:47 +0000 (19:52 -0700)]
vm: suppress signal-handler stack frame generation
This is a hack; see #295

12 years agovm: turns out adding and subtracting are different
Joe Groff [Wed, 26 Oct 2011 00:50:09 +0000 (17:50 -0700)]
vm: turns out adding and subtracting are different

12 years agovm: fix foreign segfaults and callstack overflows
Joe Groff [Tue, 25 Oct 2011 22:42:08 +0000 (15:42 -0700)]
vm: fix foreign segfaults and callstack overflows

12 years agovm: resumably handle signals from leaf procedures
Joe Groff [Tue, 25 Oct 2011 06:46:34 +0000 (23:46 -0700)]
vm: resumably handle signals from leaf procedures

12 years agovm: dispatch signal handlers through subprimitive
Joe Groff [Mon, 24 Oct 2011 21:26:58 +0000 (14:26 -0700)]
vm: dispatch signal handlers through subprimitive
We also need to save C ABI volatile registers before calling the signal handler in order to be able to reliably resume. Add signal-handler and leaf-signal-handler subprimitives to preserve volatile registers before invoking the signal handler C function.

12 years agovm: Revert extra canary page before callstack
Joe Groff [Fri, 21 Oct 2011 18:49:34 +0000 (11:49 -0700)]
vm: Revert extra canary page before callstack

This reverts commit 7d5c8d6990385b94569116a23163d7e75ae21f49. We pretty much can't avoid unwinding frames without some more drastic redesign.

12 years agocpu.x86.(32,64).bootstrap: get rid of PUSH malarky
Joe Groff [Fri, 21 Oct 2011 17:53:44 +0000 (10:53 -0700)]
cpu.x86.(32,64).bootstrap: get rid of PUSH malarky
In the function prologue, move the stack pointer once after the stack frame is set up instead of PUSHing the stack frame piece by piece.

12 years agovm: comments should be in English
Joe Groff [Fri, 21 Oct 2011 06:21:52 +0000 (23:21 -0700)]
vm: comments should be in English

12 years agovm: allocate an extra canary page before callstack
Joe Groff [Fri, 21 Oct 2011 06:21:36 +0000 (23:21 -0700)]
vm: allocate an extra canary page before callstack
This will let us safely unguard the callstack overflow guard page as a grace page so the callstack overflow handler can do its business without discarding frames.

12 years agovm: add factorbug command to throw exception
Joe Groff [Fri, 21 Oct 2011 06:19:32 +0000 (23:19 -0700)]
vm: add factorbug command to throw exception
Also rename "q" to "c" because it "c"ontinues, remove the useless "im" command, and rename the less useful "t" to "trim" so we can use "t" to mean "throw"

12 years agovm: sketchy signal dispatch from leaf procs
Joe Groff [Fri, 21 Oct 2011 05:05:38 +0000 (22:05 -0700)]
vm: sketchy signal dispatch from leaf procs

12 years agovm: factor out dispatch_signal_handler logic
Joe Groff [Fri, 21 Oct 2011 04:30:40 +0000 (21:30 -0700)]
vm: factor out dispatch_signal_handler logic

12 years agovm: fep on SIGINT or SIGQUIT instead of exception
Joe Groff [Fri, 21 Oct 2011 04:00:25 +0000 (21:00 -0700)]
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.

12 years agovm: clean up signal handler dispatch
Joe Groff [Fri, 21 Oct 2011 03:55:55 +0000 (20:55 -0700)]
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.

12 years agovm: don't mix iostream and stdio
Joe Groff [Thu, 20 Oct 2011 23:04:01 +0000 (16:04 -0700)]
vm: don't mix iostream and stdio

12 years agocompiler: no spurious safepoint at start of loops
Joe Groff [Thu, 20 Oct 2011 05:58:02 +0000 (22:58 -0700)]
compiler: no spurious safepoint at start of loops

12 years agovm: fatal_error if VM-less thread gets a signal
Joe Groff [Thu, 20 Oct 2011 05:47:14 +0000 (22:47 -0700)]
vm: fatal_error if VM-less thread gets a signal

12 years agocompiler.cfg.tco: clean up commented-out old code
Joe Groff [Thu, 20 Oct 2011 05:45:24 +0000 (22:45 -0700)]
compiler.cfg.tco: clean up commented-out old code

12 years agovm: fix windows compile errors
Joe Groff [Thu, 20 Oct 2011 04:05:35 +0000 (21:05 -0700)]
vm: fix windows compile errors

12 years agovm: remove unguard-safepoint primitive
Joe Groff [Thu, 20 Oct 2011 02:28:02 +0000 (19:28 -0700)]
vm: remove unguard-safepoint primitive

12 years agovm: block all signals from unix stdin_loop thread
Joe Groff [Thu, 20 Oct 2011 01:55:31 +0000 (18:55 -0700)]
vm: block all signals from unix stdin_loop thread

12 years agovm: SetConsoleCtrlHandler on windows
Joe Groff [Thu, 20 Oct 2011 01:54:49 +0000 (18:54 -0700)]
vm: SetConsoleCtrlHandler on windows

12 years agovm: handle async signals at safepoints on unix
Joe Groff [Wed, 19 Oct 2011 22:39:44 +0000 (15:39 -0700)]
vm: handle async signals at safepoints on unix
Factor now supports the new 4.0BSD feature of "signals".

12 years agocompiler.cfg.tco: teach TCO about safepoints
Joe Groff [Wed, 19 Oct 2011 20:04:43 +0000 (13:04 -0700)]
compiler.cfg.tco: teach TCO about safepoints

12 years agocompiler.cfg.builder: safepoint loops and epilogs
Joe Groff [Wed, 19 Oct 2011 17:35:33 +0000 (10:35 -0700)]
compiler.cfg.builder: safepoint loops and epilogs

12 years agocompiler: add ##safepoint IR insn
Joe Groff [Tue, 18 Oct 2011 05:43:19 +0000 (22:43 -0700)]
compiler: add ##safepoint IR insn

12 years agocpu.x86.assembler: add MOVABS instruction
Joe Groff [Tue, 18 Oct 2011 00:11:12 +0000 (17:11 -0700)]
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.

12 years agovm: add RT_SAFEPOINT to number_of_parameters()
Joe Groff [Mon, 17 Oct 2011 23:44:49 +0000 (16:44 -0700)]
vm: add RT_SAFEPOINT to number_of_parameters()

12 years agocpu.x86.bootstrap: add safepoint to jit-epilog
Joe Groff [Mon, 17 Oct 2011 22:26:06 +0000 (15:26 -0700)]
cpu.x86.bootstrap: add safepoint to jit-epilog

12 years agocompiler: rt-safepoint and rel-safepoint words
Joe Groff [Mon, 17 Oct 2011 22:23:05 +0000 (15:23 -0700)]
compiler: rt-safepoint and rel-safepoint words

12 years agovm: add RT_SAFEPOINT relocation type
Joe Groff [Mon, 17 Oct 2011 22:22:37 +0000 (15:22 -0700)]
vm: add RT_SAFEPOINT relocation type

12 years agovm: code_heap::(un)guard_safepoint methods
Joe Groff [Mon, 17 Oct 2011 20:46:25 +0000 (13:46 -0700)]
vm: code_heap::(un)guard_safepoint methods

12 years agovm: take a page from code_heap for safepoints
Joe Groff [Mon, 17 Oct 2011 20:24:06 +0000 (13:24 -0700)]
vm: take a page from code_heap for safepoints

12 years agosynth: adding some tests.
John Benediktsson [Thu, 27 Oct 2011 16:47:36 +0000 (09:47 -0700)]
synth: adding some tests.

12 years agosynth: fix code that depended on iterable numbers.
John Benediktsson [Wed, 26 Oct 2011 22:14:39 +0000 (15:14 -0700)]
synth: fix code that depended on iterable numbers.

12 years agoAdd a lint check for swap .. swap that can be replaced by dip. Clean up the cases...
Doug Coleman [Wed, 26 Oct 2011 20:01:04 +0000 (13:01 -0700)]
Add a lint check for swap .. swap that can be replaced by dip. Clean up the cases it finds.

12 years agoUse dip instead of swap swap for making file streams
Doug Coleman [Wed, 26 Oct 2011 18:47:41 +0000 (11:47 -0700)]
Use dip instead of swap swap for making file streams

12 years agoMerge remote-tracking branch 'upstream/master'
John Benediktsson [Wed, 26 Oct 2011 17:07:21 +0000 (10:07 -0700)]
Merge remote-tracking branch 'upstream/master'

12 years agobrainfuck: minor cleanup.
John Benediktsson [Wed, 26 Oct 2011 17:07:04 +0000 (10:07 -0700)]
brainfuck: minor cleanup.

12 years agoFix error reporting for load, reported by Recursed
Doug Coleman [Tue, 25 Oct 2011 21:53:56 +0000 (14:53 -0700)]
Fix error reporting for load, reported by Recursed

12 years agoUpdate Windows for word renames, fix lint errors
Doug Coleman [Tue, 25 Oct 2011 04:47:00 +0000 (21:47 -0700)]
Update Windows for word renames, fix lint errors

12 years agoFix all failures in the linux64 build email
Doug Coleman [Tue, 25 Oct 2011 02:33:09 +0000 (19:33 -0700)]
Fix all failures in the linux64 build email

12 years agoMissed yet more renames
Doug Coleman [Tue, 25 Oct 2011 00:00:09 +0000 (17:00 -0700)]
Missed yet more renames

12 years agoForget some classes after unit tests so that running "classes" test succeeds multiple...
Doug Coleman [Mon, 24 Oct 2011 23:59:46 +0000 (16:59 -0700)]
Forget some classes after unit tests so that running "classes" test succeeds multiple times in a row

12 years agoFix 32bit platform bootstrap
Doug Coleman [Mon, 24 Oct 2011 23:22:20 +0000 (16:22 -0700)]
Fix 32bit platform bootstrap

12 years agovocabs.loader: actually use the root cache.
John Benediktsson [Mon, 24 Oct 2011 23:18:29 +0000 (16:18 -0700)]
vocabs.loader: actually use the root cache.

12 years agoFound a few more places to use lookup-c-type
Doug Coleman [Mon, 24 Oct 2011 22:57:37 +0000 (15:57 -0700)]
Found a few more places to use lookup-c-type

12 years agowindows.directx: add platforms.txt.
John Benediktsson [Mon, 24 Oct 2011 22:45:54 +0000 (15:45 -0700)]
windows.directx: add platforms.txt.

12 years agoRename c-type to lookup-c-type. Fixes #230.
Doug Coleman [Mon, 24 Oct 2011 21:31:10 +0000 (14:31 -0700)]
Rename c-type to lookup-c-type. Fixes #230.

12 years agoRename class to class-of
Doug Coleman [Mon, 24 Oct 2011 11:47:42 +0000 (06:47 -0500)]
Rename class to class-of

12 years agoRename vocab to lookup-vocab
Doug Coleman [Mon, 24 Oct 2011 10:37:47 +0000 (05:37 -0500)]
Rename vocab to lookup-vocab

12 years agoRemove docs for removed word
Doug Coleman [Mon, 24 Oct 2011 05:57:14 +0000 (00:57 -0500)]
Remove docs for removed word

12 years agoFactor out ``no-roots no-prefixes'' into its own word. Add load-root, load-from-root...
Doug Coleman [Mon, 24 Oct 2011 00:05:22 +0000 (19:05 -0500)]
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

12 years agoChecked in some code on accident.
Doug Coleman [Fri, 21 Oct 2011 20:34:44 +0000 (15:34 -0500)]
Checked in some code on accident.

12 years agoRevert "Try without-limits in mason.report. Fixes #275."
Doug Coleman [Fri, 21 Oct 2011 20:34:08 +0000 (15:34 -0500)]
Revert "Try without-limits in mason.report. Fixes #275."

This reverts commit 1771f18998b20e0f8769b094f46329267799c7e7.

12 years agoRemove stack effects from HELP: declarations.
John Benediktsson [Fri, 21 Oct 2011 02:36:11 +0000 (19:36 -0700)]
Remove stack effects from HELP: declarations.

12 years agoInstall gtk2-engines-pixbuf to get rid of warnings when you run deps-linux. Fixes...
Doug Coleman [Thu, 20 Oct 2011 01:16:58 +0000 (18:16 -0700)]
Install gtk2-engines-pixbuf to get rid of warnings when you run deps-linux. Fixes #286.

12 years agocore-foundation.timers: allow interval to be specified in the constructor.
John Benediktsson [Wed, 19 Oct 2011 22:30:55 +0000 (15:30 -0700)]
core-foundation.timers: allow interval to be specified in the constructor.

12 years agosmtp: removing unused test.
John Benediktsson [Wed, 19 Oct 2011 20:39:26 +0000 (13:39 -0700)]
smtp: removing unused test.

12 years agoMove --no-as-needed to Config.linux since it breaks compilation on mac
Doug Coleman [Wed, 19 Oct 2011 19:09:43 +0000 (12:09 -0700)]
Move --no-as-needed to Config.linux since it breaks compilation on mac

12 years agoGNUmakefile: add linker option --no-as-needed, fixes #266
Philipp Brüschweiler [Sun, 16 Oct 2011 10:33:34 +0000 (12:33 +0200)]
GNUmakefile: add linker option --no-as-needed, fixes #266

12 years agoConfig.unix: don't hardcode ui libs, use pkg-config instead
Philipp Brüschweiler [Sun, 16 Oct 2011 10:34:30 +0000 (12:34 +0200)]
Config.unix: don't hardcode ui libs, use pkg-config instead

12 years agohash-sets: separate <hash-set> and >hash-set to match other containers. Fixes #154.
John Benediktsson [Wed, 19 Oct 2011 18:35:25 +0000 (11:35 -0700)]
hash-sets: separate <hash-set> and >hash-set to match other containers.  Fixes #154.

12 years agoMore cleanup of unused stuff.
John Benediktsson [Wed, 19 Oct 2011 18:00:07 +0000 (11:00 -0700)]
More cleanup of unused stuff.

12 years agoCleanup some uses of global [ ] bind.
John Benediktsson [Wed, 19 Oct 2011 17:40:12 +0000 (10:40 -0700)]
Cleanup some uses of global [ ] bind.

12 years agocalendar: removing unused (month-name) word.
John Benediktsson [Wed, 19 Oct 2011 17:34:50 +0000 (10:34 -0700)]
calendar: removing unused (month-name) word.

12 years agoRemove unused words. Fixes #132.
John Benediktsson [Wed, 19 Oct 2011 17:28:45 +0000 (10:28 -0700)]
Remove unused words.  Fixes #132.

12 years agoFix command line options for factor.sh
Doug Coleman [Wed, 19 Oct 2011 17:31:40 +0000 (10:31 -0700)]
Fix command line options for factor.sh

12 years agoDon't use exception handling for handle>file-size
Doug Coleman [Wed, 19 Oct 2011 17:15:09 +0000 (10:15 -0700)]
Don't use exception handling for handle>file-size

12 years agoui.gadgets.editors: windows doesn't work like macosx.
John Benediktsson [Wed, 19 Oct 2011 16:41:49 +0000 (09:41 -0700)]
ui.gadgets.editors: windows doesn't work like macosx.

12 years agobenchmark.splay: fix IN:.
John Benediktsson [Wed, 19 Oct 2011 16:40:51 +0000 (09:40 -0700)]
benchmark.splay: fix IN:.

12 years agowebapps.mason: remove ugly border.
John Benediktsson [Wed, 19 Oct 2011 16:40:15 +0000 (09:40 -0700)]
webapps.mason: remove ugly border.

12 years agoCreate attributes>> accessor in io.files.windows
Doug Coleman [Wed, 19 Oct 2011 10:14:19 +0000 (03:14 -0700)]
Create attributes>> accessor in io.files.windows

12 years agoAdd throw-win32-error, use it in (delete-file)
Doug Coleman [Wed, 19 Oct 2011 09:51:36 +0000 (02:51 -0700)]
Add throw-win32-error, use it in (delete-file)

12 years agoRemove really-delete-tree in favor of setting the file attributes to normal
Doug Coleman [Wed, 19 Oct 2011 09:32:30 +0000 (02:32 -0700)]
Remove really-delete-tree in favor of setting the file attributes to normal
on Windows deletes.

12 years agoWhen deleting a file, if it fails with "Access is denied" then set the file
Doug Coleman [Wed, 19 Oct 2011 09:31:48 +0000 (02:31 -0700)]
When deleting a file, if it fails with "Access is denied" then set the file
attributes to normal and try again. Some files in the .git directory are set
to read-only, preventing the build machines from deleting old builds.

12 years agoLower tcp-echo0 test so we don't crash
Doug Coleman [Wed, 19 Oct 2011 08:17:08 +0000 (01:17 -0700)]
Lower tcp-echo0 test so we don't crash

12 years agoCheck if streams are seekable in Windows
Doug Coleman [Wed, 19 Oct 2011 08:16:53 +0000 (01:16 -0700)]
Check if streams are seekable in Windows

12 years agoForgot using in io.tests
Doug Coleman [Wed, 19 Oct 2011 08:16:41 +0000 (01:16 -0700)]
Forgot using in io.tests

12 years agoFix help-lint for editors, peg.ebnf
Doug Coleman [Wed, 19 Oct 2011 07:57:20 +0000 (00:57 -0700)]
Fix help-lint for editors, peg.ebnf

12 years agoFix tools.annotations tests
Doug Coleman [Wed, 19 Oct 2011 07:57:06 +0000 (00:57 -0700)]
Fix tools.annotations tests

12 years agoAdd with-error>output word and test
Doug Coleman [Wed, 19 Oct 2011 07:56:11 +0000 (00:56 -0700)]
Add with-error>output word and test

12 years agoio.streams.limited: missed INSTANCE: input-stream
Joe Groff [Wed, 19 Oct 2011 04:26:32 +0000 (21:26 -0700)]
io.streams.limited: missed INSTANCE: input-stream

12 years agodelegate: not sure why protocols can be defined with arrays, but...
John Benediktsson [Wed, 19 Oct 2011 03:40:14 +0000 (20:40 -0700)]
delegate: not sure why protocols can be defined with arrays, but...

12 years agohelp.syntax: if you're gonna have HELP: stack effects, they might as well be correct...
John Benediktsson [Wed, 19 Oct 2011 03:12:42 +0000 (20:12 -0700)]
help.syntax: if you're gonna have HELP: stack effects, they might as well be correct...

12 years agosystem: fix stack effect for exit in docs.
John Benediktsson [Wed, 19 Oct 2011 03:03:19 +0000 (20:03 -0700)]
system: fix stack effect for exit in docs.

12 years agomongodb.driver: remove stack effect.
John Benediktsson [Wed, 19 Oct 2011 03:03:05 +0000 (20:03 -0700)]
mongodb.driver: remove stack effect.

12 years agotokyo.remotedb: remove stack effects.
John Benediktsson [Wed, 19 Oct 2011 03:01:37 +0000 (20:01 -0700)]
tokyo.remotedb: remove stack effects.

12 years agoparser-combinators: fix constructor stack effects.
John Benediktsson [Wed, 19 Oct 2011 02:23:22 +0000 (19:23 -0700)]
parser-combinators: fix constructor stack effects.

12 years agoirc: fix IRC: stack effects.
John Benediktsson [Wed, 19 Oct 2011 02:20:24 +0000 (19:20 -0700)]
irc: fix IRC: stack effects.

12 years agocpu.8080: fix stack effects.
John Benediktsson [Wed, 19 Oct 2011 02:15:09 +0000 (19:15 -0700)]
cpu.8080: fix stack effects.