mit-scheme.git
9 years agoRemove with-absolutely-no-interrupts from runtime/gc.scm.
Matt Birkholz [Tue, 23 Jun 2015 18:42:13 +0000 (11:42 -0700)]
Remove with-absolutely-no-interrupts from runtime/gc.scm.

Default/purify and default/gc-flip modified the constant-space-queue
under the cover of with-absolutely-no-interrupts, which is no longer
atomic.  Serializing these procedures is a trick because the latter is
invoked by the GC interrupt.  (Thus ABSOLUTELY no interrupts were
allowed?)

But there is no need for default/gc-flip to remove items from the
queue.  Flush-purification-queue! will know that its queue is "empty"
when its head is in constant space.  Thus the interrupt no longer
modifies the queue, and the queuing process is serialized in the usual
way.

Since primitive-purify cannot fail for lack of space, ancient error
signals and retry loops are also eliminated.

9 years agoDefine make-thread-mutex early.
Matt Birkholz [Wed, 17 Jun 2015 03:03:56 +0000 (20:03 -0700)]
Define make-thread-mutex early.

Global data structures like event-distributors and gc-daemon queues
need to serialize operations and could use thread mutexes except that
they are naturally created early in the cold load, before the thread
system is loaded.  So the mutex data structure is defined (withOUT
define-structure syntax) in a new file: runtime/thread-low.scm.  The
rest of thread.scm must be loaded after record.scm.

This breaks the circularity where thread system initialization
requires population and 1d-table operations which are serialized by
the thread system.

9 years agoRemove without-interrupts from runtime/sfile.scm.
Matt Birkholz [Wed, 17 Jun 2015 02:35:31 +0000 (19:35 -0700)]
Remove without-interrupts from runtime/sfile.scm.

Serialize access to the files-to-delete element of the fixed-objects
vector.

9 years agoRemove without-interrupts from runtime/rgxcmp.scm.
Matt Birkholz [Wed, 17 Jun 2015 02:34:03 +0000 (19:34 -0700)]
Remove without-interrupts from runtime/rgxcmp.scm.

Add a mutex to each of the memoization caches.

9 years agoRemove without-interrupts from runtime/ffi.scm.
Matt Birkholz [Tue, 14 Jul 2015 01:35:18 +0000 (18:35 -0700)]
Remove without-interrupts from runtime/ffi.scm.

Modifications to the registered-callbacks vector and the malloced
aliens list are now serialized by mutexes.  Call-alien now uses
without-preemption during a callout (and its callbacks).

9 years agoAdd without-preemption.
Matt Birkholz [Fri, 10 Jul 2015 02:30:06 +0000 (19:30 -0700)]
Add without-preemption.

9 years agoRemove without-interrupts from runtime/string.scm.
Matt Birkholz [Wed, 17 Jun 2015 02:21:46 +0000 (19:21 -0700)]
Remove without-interrupts from runtime/string.scm.

It was only used to postpone aborts that would drop an external string
descriptor.  The interrupt mask manipulation in %string-head! only
postpones a GC flip while the local heap is edited.

9 years agoRemove without-interrupts from runtime/rbtree.scm.
Matt Birkholz [Wed, 17 Jun 2015 02:21:19 +0000 (19:21 -0700)]
Remove without-interrupts from runtime/rbtree.scm.

It was only used to postpone aborts that would leave data structures
inconsistent.

9 years agoUnalias with-absolutely-no-interrupts in runtime/prgcop.scm.
Matt Birkholz [Wed, 17 Jun 2015 02:20:31 +0000 (19:20 -0700)]
Unalias with-absolutely-no-interrupts in runtime/prgcop.scm.

It is not atomic in multiprocessing worlds.  The alias "atomically" is
no longer appropriate.

9 years agoRemove without-interrupts from runtime/parser-buffer.scm.
Matt Birkholz [Wed, 17 Jun 2015 02:18:21 +0000 (19:18 -0700)]
Remove without-interrupts from runtime/parser-buffer.scm.

It was only used to postpone aborts that would leave data structures
inconsistent.

9 years agoRemove without-interrupts from runtime/gencache.scm.
Matt Birkholz [Wed, 17 Jun 2015 02:16:21 +0000 (19:16 -0700)]
Remove without-interrupts from runtime/gencache.scm.

It was only used to postpone aborts that would leave data structures
inconsistent.  Access to these caches needs to be serial.

9 years agoRemove without-interrupts from runtime/gdbm.scm.
Matt Birkholz [Wed, 17 Jun 2015 02:15:57 +0000 (19:15 -0700)]
Remove without-interrupts from runtime/gdbm.scm.

It was only used to postpone aborts that would leak gdbfs.

9 years agoRemove without-interrupts from runtime/crypto.scm.
Matt Birkholz [Wed, 17 Jun 2015 02:15:05 +0000 (19:15 -0700)]
Remove without-interrupts from runtime/crypto.scm.

It was only used to postpone aborts that would leak mhash contexts.

9 years agoRemove without-interrupts from runtime/condvar.scm.
Matt Birkholz [Wed, 17 Jun 2015 02:13:46 +0000 (19:13 -0700)]
Remove without-interrupts from runtime/condvar.scm.

Multi-threaded access to the chain of waiters is already adequately
serialized by the condition-variable.lock.  Without-interrupts was
only intended to postpone aborts that would leave a doubly-linked
chain without a complete pair of links.

9 years agoAdd without-interruption, to replace without-interrupts.
Matt Birkholz [Sun, 12 Jul 2015 22:18:25 +0000 (15:18 -0700)]
Add without-interruption, to replace without-interrupts.

Without-interruption will replace without-interrupts wherever
exclusivity is not thought to be needed -- just uninterruptibility.

Without-interrupts is deprecated because it is broken in multi-
processing worlds where it cannot provide exclusive access to the heap
as it does in uniprocessing worlds.

9 years agomhash: Prepare the GC daemon to run concurrently with other threads.
Matt Birkholz [Sun, 12 Jul 2015 22:10:53 +0000 (15:10 -0700)]
mhash: Prepare the GC daemon to run concurrently with other threads.

9 years agogdbm: Prepare the GC daemon to run concurrently with other threads.
Matt Birkholz [Thu, 23 Jul 2015 16:21:01 +0000 (09:21 -0700)]
gdbm: Prepare the GC daemon to run concurrently with other threads.

9 years agoAdd with-thread-mutex-try-lock.
Matt Birkholz [Sun, 12 Jul 2015 22:42:00 +0000 (15:42 -0700)]
Add with-thread-mutex-try-lock.

9 years agoLook for IO in yield-current-thread.
Matt Birkholz [Sat, 11 Jul 2015 00:26:23 +0000 (17:26 -0700)]
Look for IO in yield-current-thread.

9 years agoAdd type-checking to thread-dead?.
Matt Birkholz [Sat, 11 Jul 2015 19:32:52 +0000 (12:32 -0700)]
Add type-checking to thread-dead?.

9 years agodebug.c (print_string): Summarize long strings.
Matt Birkholz [Wed, 17 Jun 2015 01:56:30 +0000 (18:56 -0700)]
debug.c (print_string): Summarize long strings.

9 years agoMark with-thread-events-blocked stack frames with the symbol.
Matt Birkholz [Sat, 6 Jun 2015 00:51:33 +0000 (17:51 -0700)]
Mark with-thread-events-blocked stack frames with the symbol.

These frames can then be recognized in Debug_Stack_Trace output.

9 years agoPunt unused variable slots and mention of dangerous bindings.
Matt Birkholz [Wed, 1 Jul 2015 15:03:48 +0000 (08:03 -0700)]
Punt unused variable slots and mention of dangerous bindings.

9 years agoCorrect typos in src/wabbit/README.
Matt Birkholz [Sun, 12 Jul 2015 22:03:54 +0000 (15:03 -0700)]
Correct typos in src/wabbit/README.

9 years agosvm: typo
Matt Birkholz [Tue, 23 Jun 2015 21:41:02 +0000 (14:41 -0700)]
svm: typo

9 years agodoc: The User Manual is for version 9.2.
Matt Birkholz [Wed, 1 Jul 2015 14:57:54 +0000 (07:57 -0700)]
doc: The User Manual is for version 9.2.

9 years agodoc: In the microcode the "context" is called "dynamic-state".
Matt Birkholz [Sun, 12 Jul 2015 21:52:32 +0000 (14:52 -0700)]
doc: In the microcode the "context" is called "dynamic-state".

And unparenthesize a sentence.

9 years agodoc/index.html: Factor out redundant words.
Matt Birkholz [Wed, 1 Jul 2015 14:54:06 +0000 (07:54 -0700)]
doc/index.html: Factor out redundant words.

9 years agodoc: Punt old and redundant discussion of constant space.
Matt Birkholz [Wed, 1 Jul 2015 14:53:08 +0000 (07:53 -0700)]
doc: Punt old and redundant discussion of constant space.

9 years agoAdd various math/float functions whose absence was getting in my way.
Taylor R Campbell [Mon, 3 Aug 2015 02:53:25 +0000 (02:53 +0000)]
Add various math/float functions whose absence was getting in my way.

New functions:

- flo:copysign          copy sign from one value to another
- flo:nextafter         next representable floating-point number
- flo:sinh              hyperbolic trig
- flo:cosh
- flo:tanh
- flo:asinh             hyperbolic inverse trig
- flo:acosh
- flo:atanh
- flo:cbrt              cube root
- flo:erf               error function: 2/sqrt(pi) \int_0^x e^{-t^2} dt
- flo:erfc              complement: 1 - erf(x)
- flo:gamma             Gamma function: \int_0^\infty t^{x-1} e^{-t} dt
- flo:hypot             Euclidean distance: sqrt(x^2 + y^2)
- flo:j0                Bessel function of first kind, order 0
- flo:j1                "      "        "  "     "     "     1
- flo:jn                "      "        "  "     "     "     n
- flo:y0                Bessel function of second kind, order 0
- flo:y1                "      "        "  "      "     "     1
- flo:yn                "      "        "  "      "     "     n

These are all in C99 and POSIX.  For beta, incomplete Gamma, and
other such common critters, we'll have to do it ourselves.

XXX Need automatic tests.

9 years agoMark microcode/scheme as phony so we always descend into microcode.
Taylor R Campbell [Fri, 10 Jul 2015 17:46:53 +0000 (17:46 +0000)]
Mark microcode/scheme as phony so we always descend into microcode.

9 years agoFix comment. Note it has been fixed in glibc as of 2014-04.
Taylor R Campbell [Fri, 10 Jul 2015 17:40:11 +0000 (17:40 +0000)]
Fix comment.  Note it has been fixed in glibc as of 2014-04.

9 years agoFix botched ()/#F split in continuation parser.
Taylor R Campbell [Fri, 10 Jul 2015 17:25:30 +0000 (17:25 +0000)]
Fix botched ()/#F split in continuation parser.

No more `The object (), passed as an argument to stream-car, is not a
pair.' when trying to debug SIGFPE!

9 years agoPrint one of several messages on normal exit.
Joe Marshall [Wed, 8 Jul 2015 18:35:10 +0000 (11:35 -0700)]
Print one of several messages on normal exit.

9 years agoUse correct time offset for file age test.
Taylor R Campbell [Wed, 8 Jul 2015 04:41:31 +0000 (04:41 +0000)]
Use correct time offset for file age test.

9 years agoAdd procedure CUBE.
Joe Marshall [Mon, 6 Jul 2015 20:33:02 +0000 (13:33 -0700)]
Add procedure CUBE.

9 years agoAdd CONS-STREAM* and CIRCULAR-STREAM macros.
Joe Marshall [Mon, 6 Jul 2015 20:01:55 +0000 (13:01 -0700)]
Add CONS-STREAM* and CIRCULAR-STREAM macros.

9 years agoMerge with head.
Joe Marshall [Mon, 6 Jul 2015 16:54:33 +0000 (09:54 -0700)]
Merge with head.

9 years agoFancy unparsing of streams.
Joe Marshall [Mon, 6 Jul 2015 16:52:28 +0000 (09:52 -0700)]
Fancy unparsing of streams.

9 years agoBetter unparsing of promises.
Joe Marshall [Mon, 6 Jul 2015 16:04:05 +0000 (09:04 -0700)]
Better unparsing of promises.

9 years agoFix another typo in commit 2a447ff.
Matt Birkholz [Mon, 6 Jul 2015 05:41:27 +0000 (22:41 -0700)]
Fix another typo in commit 2a447ff.

9 years agoFix typo in commit 2a447ff.
Matt Birkholz [Mon, 6 Jul 2015 01:21:25 +0000 (18:21 -0700)]
Fix typo in commit 2a447ff.

9 years agoFix VECTOR-8B->HEXADECIMAL/UPPERCASE test.
Taylor R Campbell [Sun, 5 Jul 2015 17:41:11 +0000 (17:41 +0000)]
Fix VECTOR-8B->HEXADECIMAL/UPPERCASE test.

9 years agoAdd error checking to entity and apply hook operations.
Taylor R Campbell [Sun, 5 Jul 2015 17:39:59 +0000 (17:39 +0000)]
Add error checking to entity and apply hook operations.

9 years agoNo recursion needed: use WITH-THREAD-MUTEX-LOCK.
Taylor R Campbell [Tue, 9 Jun 2015 04:22:11 +0000 (04:22 +0000)]
No recursion needed: use WITH-THREAD-MUTEX-LOCK.

9 years agoNo recursion needed: use WITH-THREAD-MUTEX-LOCK.
Taylor R Campbell [Tue, 9 Jun 2015 04:22:07 +0000 (04:22 +0000)]
No recursion needed: use WITH-THREAD-MUTEX-LOCK.

9 years agoNo recursion needed: use WITH-THREAD-MUTEX-LOCK.
Taylor R Campbell [Tue, 9 Jun 2015 04:22:01 +0000 (04:22 +0000)]
No recursion needed: use WITH-THREAD-MUTEX-LOCK.

9 years agoNo recursion needed: use WITH-THREAD-MUTEX-LOCK.
Taylor R Campbell [Tue, 9 Jun 2015 04:21:50 +0000 (04:21 +0000)]
No recursion needed: use WITH-THREAD-MUTEX-LOCK.

9 years agoNo recursion needed: use WITH-THREAD-MUTEX-LOCK.
Taylor R Campbell [Tue, 9 Jun 2015 04:21:41 +0000 (04:21 +0000)]
No recursion needed: use WITH-THREAD-MUTEX-LOCK.

9 years agoNew WITH-THREAD-MUTEX-LOCKED rejects recursion like LOCK-THREAD-MUTEX.
Taylor R Campbell [Tue, 9 Jun 2015 04:21:20 +0000 (04:21 +0000)]
New WITH-THREAD-MUTEX-LOCKED rejects recursion like LOCK-THREAD-MUTEX.

9 years agoRevert "Remove support for recursion in WITH-THREAD-MUTEX-LOCKED."
Taylor R Campbell [Tue, 9 Jun 2015 03:44:38 +0000 (03:44 +0000)]
Revert "Remove support for recursion in WITH-THREAD-MUTEX-LOCKED."

This reverts commit d7241d6fe8b151f6d15db9cac8fba44b074ca215.

Evidently people did rely on this.

9 years agoUse logarithmic balancing rather than bounded balancing for wttree.
Taylor R Campbell [Sun, 3 May 2015 03:04:40 +0000 (03:04 +0000)]
Use logarithmic balancing rather than bounded balancing for wttree.

9 years agoFactor out wttree balancing criteria.
Taylor R Campbell [Sun, 3 May 2015 00:05:05 +0000 (00:05 +0000)]
Factor out wttree balancing criteria.

9 years agoAdd vector-8b<->hexadecimal tests.
Taylor R Campbell [Sun, 3 May 2015 00:03:44 +0000 (00:03 +0000)]
Add vector-8b<->hexadecimal tests.

9 years agoFix hexadecimal->vector-8b for real.
Taylor R Campbell [Sun, 3 May 2015 00:04:31 +0000 (00:04 +0000)]
Fix hexadecimal->vector-8b for real.

9 years agoAdd outf_error_line; use it everywhere.
Matt Birkholz [Fri, 19 Dec 2014 17:32:04 +0000 (10:32 -0700)]
Add outf_error_line; use it everywhere.

Use it for brevity.  Later when each outf_ operation involves grabbing
a mutex, use it for efficiency.

9 years agoFix Do_Micro_Error to respect stack direction, and print arguments.
Matt Birkholz [Fri, 19 Dec 2014 17:05:34 +0000 (10:05 -0700)]
Fix Do_Micro_Error to respect stack direction, and print arguments.

9 years agoUse INTERRUPTABLE_EXTENT in OS_pause when !HAVE_SIGSUSPEND.
Matt Birkholz [Fri, 19 Dec 2014 16:56:32 +0000 (09:56 -0700)]
Use INTERRUPTABLE_EXTENT in OS_pause when !HAVE_SIGSUSPEND.

9 years agoJust warn when set-debug-flags! is used on a non-debugging machine.
Matt Birkholz [Fri, 19 Dec 2014 16:54:31 +0000 (09:54 -0700)]
Just warn when set-debug-flags! is used on a non-debugging machine.

9 years agodoc: Clean up doc-config.scm.
Matt Birkholz [Fri, 12 Dec 2014 17:02:35 +0000 (10:02 -0700)]
doc: Clean up doc-config.scm.

9 years agodoc: Configure --disable-* should disable build as well as install.
Matt Birkholz [Fri, 12 Dec 2014 17:01:53 +0000 (10:01 -0700)]
doc: Configure --disable-* should disable build as well as install.

Add a TARGETS variable to collect ENabled targets, like INST_TARGETS.

9 years agoTweak condition variable locking.
Taylor R Campbell [Mon, 17 Nov 2014 06:04:26 +0000 (06:04 +0000)]
Tweak condition variable locking.

- Use WITH-THREAD-MUTEX-LOCKED.
- Use ASSERT-THREAD-MUTEX-OWNED.

No functional changes intended.

9 years agoAllow thread barriers to be named.
Taylor R Campbell [Sun, 16 Nov 2014 20:25:27 +0000 (20:25 +0000)]
Allow thread barriers to be named.

9 years agoShow the condition, not just its report, in derived condition reports.
Taylor R Campbell [Sun, 16 Nov 2014 20:24:42 +0000 (20:24 +0000)]
Show the condition, not just its report, in derived condition reports.

That way you can (debug #@n) it or M-x browse-continuation it.

9 years agoFix timed condition variable waits.
Taylor R Campbell [Sun, 16 Nov 2014 18:53:41 +0000 (18:53 +0000)]
Fix timed condition variable waits.

9 years agoSternly advise against non-debugging use of THREAD-MUTEX-OWNER.
Taylor R Campbell [Sun, 16 Nov 2014 18:53:28 +0000 (18:53 +0000)]
Sternly advise against non-debugging use of THREAD-MUTEX-OWNER.

9 years agoRemove support for recursion in WITH-THREAD-MUTEX-LOCKED.
Taylor R Campbell [Sun, 16 Nov 2014 18:52:58 +0000 (18:52 +0000)]
Remove support for recursion in WITH-THREAD-MUTEX-LOCKED.

9 years agoDon't let just any event wake THREAD-JOIN.
Taylor R Campbell [Fri, 14 Nov 2014 04:47:04 +0000 (04:47 +0000)]
Don't let just any event wake THREAD-JOIN.

9 years agoSort names in (runtime thread) package.
Taylor R Campbell [Fri, 14 Nov 2014 04:19:05 +0000 (04:19 +0000)]
Sort names in (runtime thread) package.

9 years agoRename GUARANTEE-THREAD-MUTEX-OWNED to ASSERT-THREAD-MUTEX-OWNED.
Taylor R Campbell [Fri, 14 Nov 2014 04:18:27 +0000 (04:18 +0000)]
Rename GUARANTEE-THREAD-MUTEX-OWNED to ASSERT-THREAD-MUTEX-OWNED.

9 years agoFluidize hook/exit and hook/quit. Add hook/%exit for Edwin.
Matt Birkholz [Thu, 13 Nov 2014 22:22:03 +0000 (15:22 -0700)]
Fluidize hook/exit and hook/quit.  Add hook/%exit for Edwin.

Replace the fluid-let in src/edwin/intmod.scm with let-fluids.  The
fluid-let kludge in SMP worlds causes Edwin to hang when killed.

9 years agoUnfluidize (runtime boot-definitions) internal boot-inits.
Matt Birkholz [Thu, 13 Nov 2014 22:25:29 +0000 (15:25 -0700)]
Unfluidize (runtime boot-definitions) internal boot-inits.

Replace the fluid-let with its expansion into a dynamic-wind, which
works only if the bootstrap proceeds in one thread and thus
thread-local values for boot-inits are not needed.

9 years agoruntime/thread-queue.scm: Use a mutex to serialize accesses.
Matt Birkholz [Thu, 13 Nov 2014 22:59:23 +0000 (15:59 -0700)]
runtime/thread-queue.scm: Use a mutex to serialize accesses.

Also, use #f events.  The (lambda () unspecific) events accumulate
unnecessarily.

9 years agosvm: Make the trap handlers static.
Matt Birkholz [Thu, 13 Nov 2014 23:03:08 +0000 (16:03 -0700)]
svm: Make the trap handlers static.

I won't vouch for any speed improvement.  I just noticed all the
others were declared static.

9 years agoetc/usermap: Update my email address.
Matt Birkholz [Thu, 13 Nov 2014 23:01:11 +0000 (16:01 -0700)]
etc/usermap: Update my email address.

9 years agoQuiet the last CREF complaint on Unix.
Matt Birkholz [Wed, 22 Oct 2014 23:12:31 +0000 (16:12 -0700)]
Quiet the last CREF complaint on Unix.

Convert references to compiler global variables into
environment-lookup combinations.

9 years agoAdd bindings to edwin/debug.scm; punt browser-evaluator.
Matt Birkholz [Wed, 22 Oct 2014 23:01:30 +0000 (16:01 -0700)]
Add bindings to edwin/debug.scm; punt browser-evaluator.

Add ansi.scm to (edwin screen console-screen) for unix as well as
dos and nt.  This quiets cref's complaint about termcap.scm's
reference to make-ansi-terminal-description.

The browser-evaluator command was never implemented(?).

9 years agoSyntax sf before compiler.
Matt Birkholz [Wed, 22 Oct 2014 22:58:11 +0000 (15:58 -0700)]
Syntax sf before compiler.

The trivial package model of (scode-optimizer) does not include the
internal bindings needed when analyzing (compiler).

9 years agoMove compile-directory. Punt sf- and compile-directory?.
Matt Birkholz [Thu, 23 Oct 2014 07:58:41 +0000 (00:58 -0700)]
Move compile-directory.  Punt sf- and compile-directory?.

Sf-directory? and friend appear to have been broken since
directory-processor started expecting output-type to be a thunk.

Moving compile-directory out of sf/butils.scm and into
compiler/base/toplev.scm eliminates free variable references noted by
CREF.

9 years agoAdd thread barrier abstraction.
Taylor R Campbell [Thu, 13 Nov 2014 22:59:36 +0000 (22:59 +0000)]
Add thread barrier abstraction.

9 years agoAdd condition variable abstraction.
Taylor R Campbell [Thu, 13 Nov 2014 22:55:16 +0000 (22:55 +0000)]
Add condition variable abstraction.

9 years agoAdd GUARANTEE-THREAD-MUTEX-OWNED.
Taylor R Campbell [Thu, 13 Nov 2014 22:45:03 +0000 (22:45 +0000)]
Add GUARANTEE-THREAD-MUTEX-OWNED.

10 years agoInherit the root thread continuation.
Taylor R Campbell [Thu, 6 Nov 2014 01:39:15 +0000 (01:39 +0000)]
Inherit the root thread continuation.

Fixes
<http://lists.gnu.org/archive/html/mit-scheme-devel/2012-04/msg00000.html>:
nested CREATE-THREADs sometimes see an unassigned root continuation.

10 years agoFix indentation in GET-X-DISPLAY botched by last commit.
Taylor R Campbell [Tue, 4 Nov 2014 04:29:42 +0000 (04:29 +0000)]
Fix indentation in GET-X-DISPLAY botched by last commit.

10 years agoReset Edwin's X display on restore.
Taylor R Campbell [Mon, 3 Nov 2014 20:43:44 +0000 (20:43 +0000)]
Reset Edwin's X display on restore.

It now works to save and restore bands in which you have run Edwin
with X, as long as Edwin is not currently running while you save the
band.

10 years agoCall dload_finalize_file, not dld_finalize_file. Oops.
Taylor R Campbell [Mon, 3 Nov 2014 20:43:34 +0000 (20:43 +0000)]
Call dload_finalize_file, not dld_finalize_file.  Oops.

10 years agoReset dld (.so) handles on restore.
Taylor R Campbell [Mon, 3 Nov 2014 20:43:17 +0000 (20:43 +0000)]
Reset dld (.so) handles on restore.

10 years agoDon't pass `-isysroot -fconstant-cfstrings' if we can't find OS X SDKs.
Taylor R Campbell [Tue, 21 Oct 2014 21:09:11 +0000 (21:09 +0000)]
Don't pass `-isysroot -fconstant-cfstrings' if we can't find OS X SDKs.

10 years agosvm: Do fni->bci step in host, not with interpreted compress.
Matt Birkholz [Sun, 19 Oct 2014 18:40:03 +0000 (11:40 -0700)]
svm: Do fni->bci step in host, not with interpreted compress.

10 years agotests: Replace : with / so progress notes are not errors to Emacs.
Matt Birkholz [Sun, 19 Oct 2014 18:25:32 +0000 (11:25 -0700)]
tests: Replace : with / so progress notes are not errors to Emacs.

Use - instead of : in timestamps reported by compile-svm.sh too.

10 years agotypo
Matt Birkholz [Sat, 11 Oct 2014 01:22:02 +0000 (18:22 -0700)]
typo

10 years agosvm: Fix continue_from_trap.
Matt Birkholz [Fri, 10 Oct 2014 23:57:02 +0000 (16:57 -0700)]
svm: Fix continue_from_trap.

Signal handlers always find an unknown pc when the svm interpreter is
running.  This patch extracts the virtual machine's instruction
pointer for classify_pc in the hope that the compiled code block can
be located.

10 years agoi386 flonums: Fix substitution of FLDZ,FUCOMP for FTST in 521ffb3.
Matt Birkholz [Fri, 10 Oct 2014 23:39:22 +0000 (16:39 -0700)]
i386 flonums: Fix substitution of FLDZ,FUCOMP for FTST in 521ffb3.

The branch instructions needed to be swapped.

This caused compiled generic arithmetic to get e.g. (> x 0.) wrong,
causing an overflow in float->integers when compiling
runtime/arith.scm for the SVM.

10 years agomake check: To avoid long run times, export FAST=y.
Matt Birkholz [Fri, 10 Oct 2014 23:32:01 +0000 (16:32 -0700)]
make check: To avoid long run times, export FAST=y.

A nip and a tuck and the SVM can get through `make check' in 10-15
minutes, instead of MORE THAN 5 HOURS on a Dell Inspiron 1420 (2.2GHz
Core2Duo Centrino with 2GB RAM).

10 years agomcrypt: A libmcrypt plugin (separately buildable FFI wrapper).
Matt Birkholz [Fri, 5 Sep 2014 00:05:38 +0000 (17:05 -0700)]
mcrypt: A libmcrypt plugin (separately buildable FFI wrapper).

10 years agomicrocode/unix: fix continue_from_trap to freak out (force GC) less
Matt Birkholz [Wed, 27 Aug 2014 05:27:38 +0000 (22:27 -0700)]
microcode/unix: fix continue_from_trap to freak out (force GC) less

The classify_pc function returns pcl_unknown for traps in shared
libraries, e.g. in feraiseexcept (in the raise-float-exceptions
primitive) or any callout (in the c-call primitive).  This new
continue_from_trap function is less conservative, ignoring the
pcl_unknown result from classify_pc when the stack_pointer, Free and
PRIMITIVE registers all look good.  This eliminated all complaints
during `make check' about "resetting bogus Free" (not the actual
problem), representing 14 unnecessarily forced GCs.

Also, fix the murmur about "resetting bogus Free".  Correct it for
accuracy and so that it must be turned on with the
((make-primitive-procedure 'SET-DEBUG-FLAGS! 2) 9 #t)

10 years agomicrocode/i386: Set sse_presence.
Matt Birkholz [Wed, 27 Aug 2014 04:59:34 +0000 (21:59 -0700)]
microcode/i386: Set sse_presence.

10 years agoFluidize (runtime thread) internal root-continuation-default.
Matt Birkholz [Wed, 13 Aug 2014 04:03:12 +0000 (21:03 -0700)]
Fluidize (runtime thread) internal root-continuation-default.

10 years agoFluidize *bound-restarts* and dynamic-handler-frames.
Matt Birkholz [Tue, 12 Aug 2014 18:51:23 +0000 (11:51 -0700)]
Fluidize *bound-restarts* and dynamic-handler-frames.

10 years agoFluidize *random-state*.
Matt Birkholz [Sat, 8 Feb 2014 20:02:42 +0000 (13:02 -0700)]
Fluidize *random-state*.