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

10 years agoAttempt to fix an undefined variable reference in svm disassembler.
Taylor R Campbell [Sun, 23 Feb 2014 21:19:03 +0000 (21:19 +0000)]
Attempt to fix an undefined variable reference in svm disassembler.

Guessing here what the right way is; I don't know this code well
enough to say for sure.

10 years agoGenerate all OS constructors for compiler.
Taylor R Campbell [Sun, 23 Feb 2014 17:57:35 +0000 (17:57 +0000)]
Generate all OS constructors for compiler.

10 years agoRemove obsolete AC_SYS_RESTARTABLE_SYSCALLS.
Taylor R Campbell [Sun, 23 Feb 2014 17:30:43 +0000 (17:30 +0000)]
Remove obsolete AC_SYS_RESTARTABLE_SYSCALLS.

We don't use the result anyway, and it always causes an annoying
delay in configure.

10 years agoUse FLO:NEGATE, not (FLO:- 0. ...), to apply sign in NUMBER->STRING.
Taylor R Campbell [Sun, 23 Feb 2014 17:10:24 +0000 (17:10 +0000)]
Use FLO:NEGATE, not (FLO:- 0. ...), to apply sign in NUMBER->STRING.

10 years agoDon't rewrite (flo:- 0. x) as (flo:negate x) on amd64.
Taylor R Campbell [Sun, 23 Feb 2014 17:08:55 +0000 (17:08 +0000)]
Don't rewrite (flo:- 0. x) as (flo:negate x) on amd64.

This is wrong because (flo:- 0. 0.) is 0. but (flo:negate 0.) is -0.

This caused some broken code to be miscompiled and yield the correct
result accidentally!

10 years agoMore hacks to get liarc to build.
Taylor R Campbell [Sun, 23 Feb 2014 16:42:02 +0000 (16:42 +0000)]
More hacks to get liarc to build.

10 years agoTry builtin objects before fasl files in liarc FASLOAD.
Taylor R Campbell [Sun, 23 Feb 2014 16:40:46 +0000 (16:40 +0000)]
Try builtin objects before fasl files in liarc FASLOAD.

10 years agoGenerate code for -0. constants correctly in liarc.
Taylor R Campbell [Sun, 23 Feb 2014 16:39:24 +0000 (16:39 +0000)]
Generate code for -0. constants correctly in liarc.

10 years agocompile-liarc-bundle rules depend on some tools in microcode/.
Taylor R Campbell [Sun, 23 Feb 2014 03:43:01 +0000 (03:43 +0000)]
compile-liarc-bundle rules depend on some tools in microcode/.

10 years agoFix up fni->bci files in crsend.scm.
Taylor R Campbell [Sun, 23 Feb 2014 01:17:57 +0000 (01:17 +0000)]
Fix up fni->bci files in crsend.scm.

10 years agoTemporary kludge: bake a fresh runtime into the toolchain.
Taylor R Campbell [Sat, 22 Feb 2014 22:31:17 +0000 (22:31 +0000)]
Temporary kludge: bake a fresh runtime into the toolchain.

This is practically necessary for now because of the SEQUENCE-2 mess.
It may continue to be necessary in the future until we have proper
cross-compilation tools that can handle macros and fasdump format
changes sanely.

10 years agoPut back some temporary SEQUENCE-2 scaffolding.
Taylor R Campbell [Sat, 22 Feb 2014 22:30:09 +0000 (22:30 +0000)]
Put back some temporary SEQUENCE-2 scaffolding.

10 years agoSimplify x86 fenv structures.
Taylor R Campbell [Sat, 22 Feb 2014 22:29:31 +0000 (22:29 +0000)]
Simplify x86 fenv structures.

Avoid needless typedefs and unions.

10 years agoOn i386, avoid FCOM[P] and FTST in favour of FUCOM[P].
Taylor R Campbell [Sat, 22 Feb 2014 22:28:39 +0000 (22:28 +0000)]
On i386, avoid FCOM[P] and FTST in favour of FUCOM[P].

The FCOM[P] and FTST instructions trap even on quiet NaN; the
FUCOM[P] instructions don't.

10 years agoAvoid using new-style SEQUENCE stuff in LIAR.
Taylor R Campbell [Sat, 22 Feb 2014 20:59:52 +0000 (20:59 +0000)]
Avoid using new-style SEQUENCE stuff in LIAR.

10 years agoFix default (ISO-8859-1) char image strings.
Taylor R Campbell [Sat, 22 Feb 2014 19:20:29 +0000 (19:20 +0000)]
Fix default (ISO-8859-1) char image strings.

We previously used `ANSI' char image strings, which really meant
Windows-1252 for some reason.  Now we use ISO-8859-1 so things get
displayed correctly in X at least.  Some characters may not display
*nicely* on Windows, but they will display *correctly* (with an octal
escape).

10 years agosvm: Fix the disassembler.
Matt Birkholz [Fri, 29 Nov 2013 18:26:29 +0000 (11:26 -0700)]
svm: Fix the disassembler.

Re-wrote it with a "cursor" that wraps up the block and offset and
symbol-table previously passed around and/or fluid-bound to *block,
*current-offset, *symbol-table, etc.

10 years agosvm: Convert program_counter from a static variable to an argument.
Matt Birkholz [Tue, 26 Nov 2013 17:08:59 +0000 (10:08 -0700)]
svm: Convert program_counter from a static variable to an argument.

This seems to speed the machine up 20%.  Before this patch, the
compile-everything phase ("Use the new machine and compiler to
re-compile everything.") took ~67 minutes on a 3.2GHz Core i3-550.
After applying this patch, that phase took ~53 minutes (21% less).

This conversion was incomplete in the original implementation (in
6ae556b).  I backed it out in order to get a simpler machine working.

10 years agoffi: Avoid longjmps in C-CALL primitive (callout_continue).
Matt Birkholz [Tue, 26 Nov 2013 17:07:29 +0000 (10:07 -0700)]
ffi: Avoid longjmps in C-CALL primitive (callout_continue).

Rather than abort after every callout (in callout_continue), call the
second trampoline directly, after unsealing the Scheme stack.

10 years agomake.so is supposed to be found in the compiler bundle.
Matt Birkholz [Mon, 18 Nov 2013 18:43:29 +0000 (11:43 -0700)]
make.so is supposed to be found in the compiler bundle.

It must have been Chaos that slipped in this bogus fix.

10 years agosrc/Makefile.tools.in: Missing dependency made cross-compiler crawl.
Matt Birkholz [Mon, 18 Nov 2013 18:41:26 +0000 (11:41 -0700)]
src/Makefile.tools.in: Missing dependency made cross-compiler crawl.

11 years agoffi: Add flovec_* functions and abort_to_c for shims.
Matt Birkholz [Thu, 31 Oct 2013 19:23:20 +0000 (12:23 -0700)]
ffi: Add flovec_* functions and abort_to_c for shims.

Add flovec_length, flovec_loc and flovec_ref.  The abort_to_c function
allows the Gtk shim's run_gtk() to stop Scheme and return to the
toolkit.

11 years agoffi/build.scm.in: Install compile-file:sf-only?ed options.
Matt Birkholz [Thu, 31 Oct 2013 19:05:52 +0000 (12:05 -0700)]
ffi/build.scm.in: Install compile-file:sf-only?ed options.

Copy the .bin if there is no .com.  Copy .ext too.

11 years agodoc/ffi: typo
Matt Birkholz [Thu, 31 Oct 2013 19:03:12 +0000 (12:03 -0700)]
doc/ffi: typo

11 years agomhash: Simplify configure.ac.
Matt Birkholz [Thu, 31 Oct 2013 19:02:10 +0000 (12:02 -0700)]
mhash: Simplify configure.ac.

11 years agodoc/user-manual (Unix Installation): Added plugin building.
Matt Birkholz [Wed, 16 Oct 2013 00:01:35 +0000 (17:01 -0700)]
doc/user-manual (Unix Installation): Added plugin building.

11 years agosrc/Makefile.in: Make xml/xml-unx.pkd depend on cref-star-parser.
Matt Birkholz [Tue, 15 Oct 2013 18:05:32 +0000 (11:05 -0700)]
src/Makefile.in: Make xml/xml-unx.pkd depend on cref-star-parser.

11 years agodist/make-src-files: Fix $plugin-config log file names.
Matt Birkholz [Tue, 15 Oct 2013 17:55:39 +0000 (10:55 -0700)]
dist/make-src-files: Fix $plugin-config log file names.

11 years agoRevert 13b5bca. Use the host's runtime, not a cross runtime.
Matt Birkholz [Tue, 15 Oct 2013 17:19:42 +0000 (10:19 -0700)]
Revert 13b5bca.  Use the host's runtime, not a cross runtime.

Revert 41c0070 and 5cf6bfc too, and the "training" in cref/make.scm
(for the compiler) and runtime.sf (for a cross runtime).

11 years agodist/make-src-files: Autoconf plugins (FFI wrappers).
Matt Birkholz [Tue, 15 Oct 2013 16:18:50 +0000 (09:18 -0700)]
dist/make-src-files: Autoconf plugins (FFI wrappers).

Fix a confusing error message too.

11 years agoffi: Add DESTDIR support.
Matt Birkholz [Tue, 15 Oct 2013 16:15:54 +0000 (09:15 -0700)]
ffi: Add DESTDIR support.

11 years agoFix LIAR/svm build to cross from 9.1.1.
Matt Birkholz [Sun, 13 Oct 2013 08:03:15 +0000 (01:03 -0700)]
Fix LIAR/svm build to cross from 9.1.1.

As for LIAR/C, do not cross compile host .bins containing sequence-3s.
Chuck them to STAGEX/ and re-syntax with cross runtime.  And syntax
compiler/base/crsend AFTER said chucking.

11 years agoMake compile-xml dependent on cref-star-parser.
Matt Birkholz [Sun, 13 Oct 2013 07:48:19 +0000 (00:48 -0700)]
Make compile-xml dependent on cref-star-parser.

xml.pkg wants (global-definitions "../star-parser/parser") else
;Warning: Could not find global definitions: ...

11 years agoFix LIAR/C build to cross from 9.1.1.
Matt Birkholz [Sun, 13 Oct 2013 07:44:16 +0000 (00:44 -0700)]
Fix LIAR/C build to cross from 9.1.1.

Toss the .bins generated by the host runtime (which include
sequence-3).  Only cross-compile .bins generated by the cross runtime.

11 years agoMore FFI cleanups: no need to include microcode/achost.ac.
Matt Birkholz [Sun, 13 Oct 2013 02:58:57 +0000 (19:58 -0700)]
More FFI cleanups: no need to include microcode/achost.ac.

11 years agoFix new build to cross from 9.1.1.
Matt Birkholz [Sun, 13 Oct 2013 01:17:44 +0000 (18:17 -0700)]
Fix new build to cross from 9.1.1.

On a 9.1.1 host, the new build dies while compiling the compiler.

    ;  Generating SCode for file: "fggen/canon.scm" => "fggen/canon.bin"...
    ;MICROCODE-TYPE: Unknown name sequence

The usual remedies did not suffice.  In fact now the temporary code in
cref/make.scm is not needed.  The compiler is compiled with a cross
runtime that provides the necessary patch via its utabs.scm, where
access to type-aliases and returns-aliases is easy, though
insufficient to train the host.  9.1.1 still needs the training in
runtime.sf.

Unlike a cross compile, a cross runtime was not used by this build(?).
Use a new compile-cross-runtime target and --fasl make.com to make
tools/syntaxer.com.  Make syntax-cross-cref and syntax-cross-sf
dependent on syntax-cross-runtime for its runtime.pkd (pinching off a
little parallelism, but allowing them to proceed while the runtime
compiles).  Did not try to syntax anything but the new compiler with
the new star-parser.

11 years agoEliminate compile-system.
Matt Birkholz [Wed, 9 Oct 2013 18:59:26 +0000 (11:59 -0700)]
Eliminate compile-system.

11 years agoAutomatically clean tree and build tools if necessary.
Taylor R Campbell [Tue, 8 Oct 2013 02:56:57 +0000 (02:56 +0000)]
Automatically clean tree and build tools if necessary.

11 years agoTurn some phony rules into explicit file rules to reduce rebuilds. [retry]
Taylor R Campbell [Tue, 8 Oct 2013 02:55:57 +0000 (02:55 +0000)]
Turn some phony rules into explicit file rules to reduce rebuilds.  [retry]

Unfinished conversion; some of the explicit file rules still depend
on phony rules.  Finishing this is left as an exercise for the
reader.

11 years agoRevert "Turn some phony rules into explicit file rules to reduce rebuilds."
Taylor R Campbell [Tue, 8 Oct 2013 02:54:21 +0000 (02:54 +0000)]
Revert "Turn some phony rules into explicit file rules to reduce rebuilds."

This reverts commit 54e7f433ab16f65cd12779b7a672edf713c72427.

That commit wasn't supposed to revert an earlier change to SVM1; not
sure how that snuck in there.

11 years agoTurn some phony rules into explicit file rules to reduce rebuilds.
Taylor R Campbell [Mon, 7 Oct 2013 22:57:53 +0000 (22:57 +0000)]
Turn some phony rules into explicit file rules to reduce rebuilds.

Unfinished conversion; some of the explicit file rules still depend
on phony rules.  Finishing this is left as an exercise for the
reader.

11 years agoReduce SVM1 address decoding indirection.
Taylor R Campbell [Mon, 7 Oct 2013 22:35:16 +0000 (22:35 +0000)]
Reduce SVM1 address decoding indirection.

This must have hammered horrendously on the CPU's branch target
predictor.  No measurements yet but I'm sure SVM1 should be a lot
faster now.

11 years agoTweak svm1-interp a little.
Taylor R Campbell [Mon, 7 Oct 2013 22:07:19 +0000 (22:07 +0000)]
Tweak svm1-interp a little.

- Mark several routines inline.
- Add branch predictions.
- Fail gracefully, don't abort, on illegal instructions.

11 years agoAdd a few more file types for save/restore targets.
Taylor R Campbell [Mon, 7 Oct 2013 21:07:26 +0000 (21:07 +0000)]
Add a few more file types for save/restore targets.

11 years agoIn COMPILE-SYSTEM, load the bin if cross-compiling too.
Taylor R Campbell [Mon, 7 Oct 2013 20:54:45 +0000 (20:54 +0000)]
In COMPILE-SYSTEM, load the bin if cross-compiling too.

XXX COMPILE-SYSTEM is completely wrong; it needs to be eliminated in
favour of a principled way to identify macro dependencies, like in
Scheme48 and Racket.

11 years agoCall it `saved-objects', not `obj', to avoid confusing BSD make.
Taylor R Campbell [Mon, 7 Oct 2013 20:52:57 +0000 (20:52 +0000)]
Call it `saved-objects', not `obj', to avoid confusing BSD make.

11 years agoDon't list compiler twice in SUBDIRS.
Taylor R Campbell [Mon, 7 Oct 2013 20:46:08 +0000 (20:46 +0000)]
Don't list compiler twice in SUBDIRS.

11 years agoLoad ffimacro.bin in win32.sf, not ffimacro.
Taylor R Campbell [Mon, 7 Oct 2013 20:36:55 +0000 (20:36 +0000)]
Load ffimacro.bin in win32.sf, not ffimacro.

Avoids accidentally loading cross-compiled gobbledegook which the
toolchain barfs on.

11 years agoExplain what the `cross-target' target does.
Taylor R Campbell [Mon, 7 Oct 2013 19:16:33 +0000 (19:16 +0000)]
Explain what the `cross-target' target does.

11 years agotoolchain target should really depend on tools/syntaxer.com too.
Taylor R Campbell [Mon, 7 Oct 2013 18:43:19 +0000 (18:43 +0000)]
toolchain target should really depend on tools/syntaxer.com too.

11 years agoRemove unfinished kludge to build IMAIL with LIARC.
Taylor R Campbell [Mon, 7 Oct 2013 18:37:10 +0000 (18:37 +0000)]
Remove unfinished kludge to build IMAIL with LIARC.

11 years agoRecompile edwin/edwin.bld only if necessary.
Taylor R Campbell [Mon, 7 Oct 2013 18:32:32 +0000 (18:32 +0000)]
Recompile edwin/edwin.bld only if necessary.

11 years agoRecompile *.pkd files for liarc only if necessary.
Taylor R Campbell [Mon, 7 Oct 2013 17:30:55 +0000 (17:30 +0000)]
Recompile *.pkd files for liarc only if necessary.

11 years agoFasload errors should fail gracefully, not terminate Scheme.
Taylor R Campbell [Mon, 7 Oct 2013 17:30:11 +0000 (17:30 +0000)]
Fasload errors should fail gracefully, not terminate Scheme.

11 years agoLots of changes toward making liarc build use new structure.
Taylor R Campbell [Mon, 7 Oct 2013 17:17:47 +0000 (17:17 +0000)]
Lots of changes toward making liarc build use new structure.

Doesn't fully work yet, but it's progress!

Old build system is still all there; you must use `make all-native'
to try the new one.

11 years agoUse $@ and $< for liarc .c.o rule, not $*.o and $*.c.
Taylor R Campbell [Mon, 7 Oct 2013 17:14:23 +0000 (17:14 +0000)]
Use $@ and $< for liarc .c.o rule, not $*.o and $*.c.

Otherwise, it won't work in subdirectories.

11 years agoUpdate links created by Setup.sh to reflect installed lib directory.
Taylor R Campbell [Mon, 7 Oct 2013 14:25:20 +0000 (14:25 +0000)]
Update links created by Setup.sh to reflect installed lib directory.