mit-scheme.git
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*.

10 years agoFluidize flonum-unparser-cutoff.
Matt Birkholz [Sat, 8 Feb 2014 19:57:21 +0000 (12:57 -0700)]
Fluidize flonum-unparser-cutoff.

10 years agoFluidize (runtime swank) internal variables *top-level-restart*,...
Matt Birkholz [Sat, 8 Feb 2014 17:33:26 +0000 (10:33 -0700)]
Fluidize (runtime swank) internal variables *top-level-restart*,...

...*sldb-state*, *index* and *buffer-pstring*.

10 years agoFluidize (runtime structure-parser) internal variable name-counters.
Matt Birkholz [Sat, 8 Feb 2014 17:32:18 +0000 (10:32 -0700)]
Fluidize (runtime structure-parser) internal variable name-counters.

10 years agoFluidize (runtime gc-statistics) internal hook/record-statistic!.
Matt Birkholz [Sat, 8 Feb 2014 17:29:09 +0000 (10:29 -0700)]
Fluidize (runtime gc-statistics) internal hook/record-statistic!.

10 years agoFluidize (runtime save/restore) internal *within-restore-window?*.
Matt Birkholz [Sat, 8 Feb 2014 17:25:07 +0000 (10:25 -0700)]
Fluidize (runtime save/restore) internal *within-restore-window?*.

10 years agoFluidize (runtime options) internal variables *options*, *parent*.
Matt Birkholz [Fri, 7 Feb 2014 18:20:07 +0000 (11:20 -0700)]
Fluidize (runtime options) internal variables *options*, *parent*.

10 years agoFluidize (runtime parser) controls: *parser-radix*,...
Matt Birkholz [Fri, 7 Feb 2014 17:57:39 +0000 (10:57 -0700)]
Fluidize (runtime parser) controls: *parser-radix*,...

... *parser-associate-positions?*,
    *parser-atom-delimiters*,
    *parser-canonicalize-symbols?*,
    *parser-constituents*,
    *parser-enable-file-attributes-parsing?*,
    *parser-keyword-style*,
    and *parser-table*.

10 years agoFluidize (runtime debugger) internals *dstate* and *port*.
Matt Birkholz [Fri, 7 Feb 2014 17:55:36 +0000 (10:55 -0700)]
Fluidize (runtime debugger) internals *dstate* and *port*.

10 years agoFluidize (runtime syntax) internal variable *rename-database*.
Matt Birkholz [Tue, 4 Feb 2014 22:24:52 +0000 (15:24 -0700)]
Fluidize (runtime syntax) internal variable *rename-database*.

10 years agoFluidize (runtime user-interface) internal *notification-level*.
Matt Birkholz [Tue, 4 Feb 2014 22:13:09 +0000 (15:13 -0700)]
Fluidize (runtime user-interface) internal *notification-level*.

10 years agoFluidize (runtime unsyntaxer) internal variable: substitutions.
Matt Birkholz [Tue, 4 Feb 2014 22:10:59 +0000 (15:10 -0700)]
Fluidize (runtime unsyntaxer) internal variable: substitutions.

10 years agoFluidize (runtime program-copier) internal *copy-constants*?,...
Matt Birkholz [Tue, 4 Feb 2014 21:09:29 +0000 (14:09 -0700)]
Fluidize (runtime program-copier) internal *copy-constants*?,...

...and *object-copies*.

10 years agoFluidize (runtime compiler-info) internal directory-rewriting-rules.
Matt Birkholz [Tue, 4 Feb 2014 21:07:55 +0000 (14:07 -0700)]
Fluidize (runtime compiler-info) internal directory-rewriting-rules.

10 years agoFluidize (runtime advice) internal advice-continuation,...
Matt Birkholz [Tue, 4 Feb 2014 21:03:45 +0000 (14:03 -0700)]
Fluidize (runtime advice) internal advice-continuation,...

...the-arguments, the-procedure and the-result.

10 years agoFluidize (runtime pathname) internal library-directory-path.
Matt Birkholz [Tue, 4 Feb 2014 21:01:12 +0000 (14:01 -0700)]
Fluidize (runtime pathname) internal library-directory-path.

10 years agoFluidize (runtime unparser) internal *list-depth*, *output-port*,...
Matt Birkholz [Tue, 4 Feb 2014 01:21:12 +0000 (18:21 -0700)]
Fluidize (runtime unparser) internal *list-depth*, *output-port*,...

...*slashify?*, *environment* and *dispatch-table*.

10 years agoFluidize *pp-...*, i.e. *pp-default-as-code?*,...
Matt Birkholz [Mon, 3 Feb 2014 23:42:59 +0000 (16:42 -0700)]
Fluidize *pp-...*, i.e. *pp-default-as-code?*,...

... *pp-named-lambda->define?*,
    *pp-primitives-by-name*,
    *pp-uninterned-symbols-by-name*,
    *pp-no-highlights?*,
    *pp-save-vertical-space?*,
    *pp-lists-as-tables?*,
    *pp-forced-x-size*,
    *pp-avoid-circularity?*,
    *pp-auto-highlighter*, and
    *pp-arity-dispatched-procedure-style*.

10 years agoFluidize (runtime pretty-printer) x-size, code-dispatch-list,...
Matt Birkholz [Mon, 3 Feb 2014 23:40:41 +0000 (16:40 -0700)]
Fluidize (runtime pretty-printer) x-size, code-dispatch-list,...

...output-port, dispatch-list, dispatch-default.

10 years agoFluidize (runtime unparser) *default-unparser-state*.
Matt Birkholz [Mon, 3 Feb 2014 18:58:01 +0000 (11:58 -0700)]
Fluidize (runtime unparser) *default-unparser-state*.

10 years agoFluidize (runtime directory) variable *expand-directory-prefixes?*.
Matt Birkholz [Mon, 3 Feb 2014 16:19:45 +0000 (09:19 -0700)]
Fluidize (runtime directory) variable *expand-directory-prefixes?*.

10 years agoFluidize (runtime error-handler) internal variables: i.e. ...
Matt Birkholz [Sun, 2 Feb 2014 23:45:52 +0000 (16:45 -0700)]
Fluidize (runtime error-handler) internal variables: i.e. ...

...static-handler-frames and break-on-signals-types.

10 years agoFluidize *unparse...*, i.e. *unparser-table*, *unparser-radix*...
Matt Birkholz [Sun, 2 Feb 2014 21:39:38 +0000 (14:39 -0700)]
Fluidize *unparse...*, i.e. *unparser-table*, *unparser-radix*...

... *unparse-abbreviate-quotations?*,
    *unparse-compound-procedure-names?*,
    *unparse-primitives-by-name?*,
    *unparse-uninterned-symbols-by-name?*,
    *unparse-with-datum?*,
    *unparse-with-maximum-readability?*,
    *unparser-list-breadth-limit*,
    *unparser-list-depth-limit*, and
    *unparser-string-length-limit*.

10 years agoFluidize *default-pathname-defaults*.
Matt Birkholz [Sun, 2 Feb 2014 21:34:55 +0000 (14:34 -0700)]
Fluidize *default-pathname-defaults*.

10 years agoFluidize standard-error-hook, standard-warning-hook and...
Matt Birkholz [Sat, 1 Feb 2014 05:47:42 +0000 (22:47 -0700)]
Fluidize standard-error-hook, standard-warning-hook and...

...standard-breakpoint-hook.  These are exported to () so... apologies
in advance.

10 years agoFluidize *nearest-cmdl*.
Matt Birkholz [Sat, 1 Feb 2014 05:37:43 +0000 (22:37 -0700)]
Fluidize *nearest-cmdl*.

10 years agoFluidize (runtime load) exported variables: i.e. load/loading?...
Matt Birkholz [Tue, 12 Aug 2014 00:25:58 +0000 (17:25 -0700)]
Fluidize (runtime load) exported variables: i.e. load/loading?...

and load/suppress-loading-message?.  Punted old load-noisily?.

10 years agoFluidize (runtime load) internal variables: *eval-unit*,...
Matt Birkholz [Mon, 11 Aug 2014 22:33:35 +0000 (15:33 -0700)]
Fluidize (runtime load) internal variables: *eval-unit*,...

*current-load-environment*, *write-notifications?*, *load-init-file?*
and load/after-load-hooks.

10 years agoFluidize *working-directory-pathname*.
Matt Birkholz [Mon, 11 Aug 2014 22:30:07 +0000 (15:30 -0700)]
Fluidize *working-directory-pathname*.

10 years agoTypo: missing closing bracket.
Matt Birkholz [Mon, 11 Aug 2014 22:21:11 +0000 (15:21 -0700)]
Typo: missing closing bracket.

10 years agoFluidize (runtime port) internal variables *current-output-port*,...
Matt Birkholz [Mon, 11 Aug 2014 21:45:55 +0000 (14:45 -0700)]
Fluidize (runtime port) internal variables *current-output-port*,...

*current-input-port*, *notification-output-port*, *trace-output-port*,
and *interaction-i/o-port*.

10 years agoAdd fluid and parameter objects.
Matt Birkholz [Mon, 11 Aug 2014 21:28:33 +0000 (14:28 -0700)]
Add fluid and parameter objects.

Update documentation of miscellaneous object type Cell and special
form Fluid-Let, describing them as deprecated.

10 years agoRemove unused C version of ASSQ and LENGTH.
Joe Marshall [Fri, 8 Aug 2014 16:39:50 +0000 (09:39 -0700)]
Remove unused C version of ASSQ and LENGTH.

10 years agoUnfluidize (runtime regular-expression-compiler) internals.
Matt Birkholz [Thu, 24 Jul 2014 22:44:51 +0000 (15:44 -0700)]
Unfluidize (runtime regular-expression-compiler) internals.

Gather all of the fluid variables into a rgxcmpctx object.  Pass it
along as the first argument to most(!) procedures.

10 years agoPunt hack that slipped into the previous commit.
Matt Birkholz [Thu, 24 Jul 2014 21:59:28 +0000 (14:59 -0700)]
Punt hack that slipped into the previous commit.

10 years agoUnfluidize (runtime compress) internals, e.g. root-nodes.
Matt Birkholz [Thu, 24 Jul 2014 20:24:22 +0000 (13:24 -0700)]
Unfluidize (runtime compress) internals, e.g. root-nodes.

This is the beginning of the end for fluid-let.

Gather all of the fluid variables into a compression-state object.
Pass it along as the first argument to many procedures.  The result is
approx. 10% slower, doing a lot of type and range checking where the
original was skipping checks for reference-traps.  A file-wide
(declare (no-range-checks) (no-type-checks)) got that 10% back PLUS 15%.

10 years agosvm: Fix disassembler to handle un/linked 64/32bit ccblocks.
Matt Birkholz [Thu, 10 Jul 2014 21:19:16 +0000 (14:19 -0700)]
svm: Fix disassembler to handle un/linked 64/32bit ccblocks.

10 years agoIgnore .diff files.
Chris Hanson [Thu, 5 Jun 2014 03:00:17 +0000 (20:00 -0700)]
Ignore .diff files.

10 years agogit merge release-9.2
Chris Hanson [Thu, 5 Jun 2014 02:54:54 +0000 (19:54 -0700)]
git merge release-9.2

10 years agogit pull
Chris Hanson [Thu, 5 Jun 2014 02:53:49 +0000 (19:53 -0700)]
git pull

10 years agoWhen enumerating files to process, ignore those generated by this script. release-9.2.0
Chris Hanson [Thu, 5 Jun 2014 02:51:18 +0000 (19:51 -0700)]
When enumerating files to process, ignore those generated by this script.

10 years agoAdd new tests/runtime/test-url.scm and move test-merge-uris there.
Matt Birkholz [Tue, 27 May 2014 17:48:00 +0000 (10:48 -0700)]
Add new tests/runtime/test-url.scm and move test-merge-uris there.

10 years agoFix uri->pathname too, just for completeness.
Matt Birkholz [Tue, 27 May 2014 16:41:16 +0000 (09:41 -0700)]
Fix uri->pathname too, just for completeness.

(uri->pathname (pathname->uri "./file")) does not signal an error, but
it does not produce the same directory component as (->pathname
"./file").  Now (pathname=? (->pathname "./file") (uri->pathname...))
is #t, at least on Unix(?).

10 years agoFix for bug #42412: "scheme --load ./file" fails.
Matt Birkholz [Tue, 27 May 2014 15:55:37 +0000 (08:55 -0700)]
Fix for bug #42412: "scheme --load ./file" fails.

Fix pathname->uri to handle the new directory name 'HERE, introduced
in commit 00aab1c.  Thanks to David Kinzer <dtkinzer>.

10 years agoAdd usual-integrations and note some ignored variables in ieee754.scm.
Taylor R Campbell [Sat, 24 May 2014 15:22:27 +0000 (15:22 +0000)]
Add usual-integrations and note some ignored variables in ieee754.scm.

10 years agoMake sure that root-dir is absolute.
Chris Hanson [Sat, 17 May 2014 09:19:23 +0000 (02:19 -0700)]
Make sure that root-dir is absolute.

10 years agoUpdate copyright years.
Chris Hanson [Sat, 17 May 2014 09:11:50 +0000 (02:11 -0700)]
Update copyright years.

10 years agoUpdate version strings to 9.2.
Chris Hanson [Sat, 17 May 2014 05:43:56 +0000 (22:43 -0700)]
Update version strings to 9.2.

10 years agoFix trailing whitespace.
Chris Hanson [Sat, 17 May 2014 05:10:17 +0000 (22:10 -0700)]
Fix trailing whitespace.

10 years agoFix over-long line.
Chris Hanson [Sat, 17 May 2014 05:09:54 +0000 (22:09 -0700)]
Fix over-long line.

10 years agoFix fencepost error thinko.
Chris Hanson [Sat, 17 May 2014 05:09:26 +0000 (22:09 -0700)]
Fix fencepost error thinko.

10 years agoffi: Punt AUXDIR from shim-config.scm.
Matt Birkholz [Thu, 8 May 2014 04:22:58 +0000 (21:22 -0700)]
ffi: Punt AUXDIR from shim-config.scm.

Procedures like compile-shim need to use the first directory in
MITSCHEME_LIBRARY_PATH (not the installation directory) so that the
FFI test can override it, getting the not-yet-installed configuration
from the build directory.

Symlink shim-config.scm to src/lib/ and generate it during `make all',
not `make install', so that it is available to the test FFI (during
`make check').

Fix FFI test NOT to use with-notification around `make', which cannot
use fresh-line.  Just write whole lines to notification-output-port.

10 years agoconfigure: Move check for __x86_64__.
Matt Birkholz [Wed, 7 May 2014 06:19:42 +0000 (23:19 -0700)]
configure: Move check for __x86_64__.

Move AC_CHECK_DECL(__x86_64__) before AC_MSG_CHECKING([for native-code
support]) so that the former's progress note does not arrive in the
middle of the latter's, like this:

checking for native-code support... checking whether __x86_64__ is declared... no
yes, for i386

10 years agoffi: Add install-html using documentation build parameters.
Matt Birkholz [Wed, 7 May 2014 04:11:25 +0000 (21:11 -0700)]
ffi: Add install-html using documentation build parameters.

Install parameters in infodir/mit-scheme-doc-config.scm.

10 years agoffi: Use Makefile to save shim build parameters.
Matt Birkholz [Wed, 7 May 2014 03:36:12 +0000 (20:36 -0700)]
ffi: Use Makefile to save shim build parameters.

Install them in AUXDIR/shim-config.scm and use them in the
compile-shim, link-shim, install-shim and install-load-option
procedures.

10 years agoFix continue_from_trap to NOT open a FREE_PARANOIA_MARGIN hole.
Matt Birkholz [Tue, 6 May 2014 02:26:44 +0000 (19:26 -0700)]
Fix continue_from_trap to NOT open a FREE_PARANOIA_MARGIN hole.

Just reset Free to heap_alloc_limit if its sanity check fails.

10 years agoffi: Update Makefile for prhello example.
Matt Birkholz [Tue, 6 May 2014 02:23:06 +0000 (19:23 -0700)]
ffi: Update Makefile for prhello example.

Use the generate-shim, compile-shim, link-shim and install-shim
procedures.  Move to a separate file included via @verbatiminclude,
for more convenient testing.

10 years agoAdd FFI to doc/info-dir and reformat.
Matt Birkholz [Tue, 6 May 2014 01:51:40 +0000 (18:51 -0700)]
Add FFI to doc/info-dir and reformat.

Renamed the dir entries for consistency, and so that they sort
together in a large category like "Programming Languages".  Updated
the @direntry in each toplevel .texinfo to match.

10 years agoAdd portable IEEE 754 format utilities.
Taylor R Campbell [Sun, 27 Apr 2014 03:17:43 +0000 (03:17 +0000)]
Add portable IEEE 754 format utilities.

Not hooked up to anything, but these have been floating around my
disk for months and were likely to get lost.  Feel free to hook these
up and start using them.  If you do, you should start by writing some
automatic tests.

10 years agoCorrect types in BIGNUM_REDUCE_LENGTH and use output parameter as such.
Taylor R Campbell [Sat, 26 Apr 2014 21:00:01 +0000 (21:00 +0000)]
Correct types in BIGNUM_REDUCE_LENGTH and use output parameter as such.

10 years agoMake definition of VERIFY-HEAP primitive unconditional.
Taylor R Campbell [Sat, 26 Apr 2014 20:58:24 +0000 (20:58 +0000)]
Make definition of VERIFY-HEAP primitive unconditional.

Define a verify_heap stub that always returns true if
!ENABLE_DEBUGGING_TOOLS.

10 years agoFix string-head! to hide the unused (non-marked) words.
Matt Birkholz [Sat, 26 Apr 2014 15:00:13 +0000 (08:00 -0700)]
Fix string-head! to hide the unused (non-marked) words.

This quiets 3 of the 17 complaints from verify_heap during `make
check'.  The remaining 14 appear to be caused by SIGFPE recovery.

10 years agoFix BIGNUM_REDUCE_LENGTH to hide the unused (non-marked) words.
Matt Birkholz [Sat, 26 Apr 2014 04:10:43 +0000 (21:10 -0700)]
Fix BIGNUM_REDUCE_LENGTH to hide the unused (non-marked) words.

This quiets 7093 of the 7110 complaints from verify_heap during the
tests.

10 years agoCall verify_heap before GC to scan for bogosities.
Matt Birkholz [Fri, 25 Apr 2014 23:47:06 +0000 (16:47 -0700)]
Call verify_heap before GC to scan for bogosities.

Trap recovery (on Unix) occasionally fails the assert in
linkage_section_type when its scan of the heap encounters non-marked
words that are not "hidden" by a non-marked vector header.

The new verify_heap function scans the heap in the same way, and
complains on stderr about any invalid linkage section types, object
types, etc.  If the GC_Debug flag is set, verify_heap is called by the
garbage-collect primitive to scan maximal heap.

The new dump_heap_at function can be used to inspect the heap around a
reported bogosity.

10 years agoFix technically incorrect malloc size in re_match. Omit needless cast.
Taylor R Campbell [Sun, 6 Apr 2014 22:10:20 +0000 (22:10 +0000)]
Fix technically incorrect malloc size in re_match.  Omit needless cast.

10 years agoNix dead initialization in scan_ephemerons.
Taylor R Campbell [Sun, 6 Apr 2014 22:09:47 +0000 (22:09 +0000)]
Nix dead initialization in scan_ephemerons.

10 years agoMark scan unused in non-debug builds.
Taylor R Campbell [Sun, 6 Apr 2014 22:09:32 +0000 (22:09 +0000)]
Mark scan unused in non-debug builds.

10 years agoMake (cd "/nonexistent") fail.
Taylor R Campbell [Sun, 6 Apr 2014 22:08:53 +0000 (22:08 +0000)]
Make (cd "/nonexistent") fail.

Kinda kludgey, but it'll do for interactive use.

See XXX comment for what a proper solution should look like.

10 years agoRemove vestigial unused variable in FAST-DIVISION.
Taylor R Campbell [Sun, 16 Mar 2014 17:30:55 +0000 (17:30 +0000)]
Remove vestigial unused variable in FAST-DIVISION.

10 years agoRevert "Assemble (JMP (@PCR FOO)) (LABEL FOO) to zero bits on amd64."
Taylor R Campbell [Sun, 16 Mar 2014 15:21:38 +0000 (15:21 +0000)]
Revert "Assemble (JMP (@PCR FOO)) (LABEL FOO) to zero bits on amd64."

This reverts commit f4dda7bf4a6f9f529fd2b295a0f51ee9ed6dc22b.

Apparently this doesn't work.

10 years agoClarify comment over amd64 fixnum_shift hook.
Taylor R Campbell [Sun, 16 Mar 2014 14:56:10 +0000 (14:56 +0000)]
Clarify comment over amd64 fixnum_shift hook.

10 years agoOpen-code non-2^n quotients and remainders by multiplication on amd64.
Taylor R Campbell [Sun, 16 Mar 2014 14:50:30 +0000 (14:50 +0000)]
Open-code non-2^n quotients and remainders by multiplication on amd64.

10 years agoAssemble (JMP (@PCR FOO)) (LABEL FOO) to zero bits on amd64.
Taylor R Campbell [Sun, 16 Mar 2014 14:49:26 +0000 (14:49 +0000)]
Assemble (JMP (@PCR FOO)) (LABEL FOO) to zero bits on amd64.

10 years agoReorder branches in FIX:QUOTIENT/FIX:REMAINDER code on amd64.
Taylor R Campbell [Sun, 16 Mar 2014 14:48:35 +0000 (14:48 +0000)]
Reorder branches in FIX:QUOTIENT/FIX:REMAINDER code on amd64.

Make the negative numerator case a forward branch so it will be
statically predicted not-taken.

10 years agoAvoid modifying rcx in amd64 fixnum_shift assembly hook.
Taylor R Campbell [Sat, 15 Mar 2014 20:32:07 +0000 (20:32 +0000)]
Avoid modifying rcx in amd64 fixnum_shift assembly hook.

10 years agoFix sf/cgen so it doesn't just drop declarations for the compiler.
Taylor R Campbell [Sat, 15 Mar 2014 20:30:09 +0000 (20:30 +0000)]
Fix sf/cgen so it doesn't just drop declarations for the compiler.