mit-scheme.git
12 years agoMerge branch 'master' into ELisp
Matt Birkholz [Thu, 8 Mar 2012 16:43:10 +0000 (09:43 -0700)]
Merge branch 'master' into ELisp

12 years agosvm: Remove setjmp from execute_instruction.
Matt Birkholz [Thu, 8 Mar 2012 04:06:24 +0000 (21:06 -0700)]
svm: Remove setjmp from execute_instruction.

Trade some debuggability for significantly better performance.

12 years agosvm: Use the svm1 machine to compile-everything.
Matt Birkholz [Thu, 8 Mar 2012 03:47:30 +0000 (20:47 -0700)]
svm: Use the svm1 machine to compile-everything.

This takes hours, but exercises the boot-compiler, which can compile
by-procedures.  Added timestamps to the progress notes.  The option to
cross-compile everything is available by defining FAST, e.g. `make
FAST=1'.

12 years agosvm: Fix generate/remote-link and generate/remote-links.
Matt Birkholz [Thu, 8 Mar 2012 03:45:15 +0000 (20:45 -0700)]
svm: Fix generate/remote-link and generate/remote-links.

Made generate/remote-links gc-wary.

12 years agosvm: Fix COMPILER_TEMP_SIZE to 2.
Matt Birkholz [Thu, 8 Mar 2012 03:40:02 +0000 (20:40 -0700)]
svm: Fix COMPILER_TEMP_SIZE to 2.

On x86-64 sizeof(double)/sizeof(SCHEME_OBJECT) is 1, but
svm/machine.scm expects it to be 2 (as on i386).

12 years agosvm: Added 32bit offsets to explicit-coding-type "address".
Matt Birkholz [Thu, 8 Mar 2012 03:33:33 +0000 (20:33 -0700)]
svm: Added 32bit offsets to explicit-coding-type "address".

Compilation of win32/wf_user.bin produces block offsets like #x11168
and #x10a38.

12 years agoStage.sh: Keep .rtls,.laps with corresponding .mocs,.coms.
Matt Birkholz [Wed, 7 Mar 2012 21:29:16 +0000 (14:29 -0700)]
Stage.sh: Keep .rtls,.laps with corresponding .mocs,.coms.

12 years agosvm: Save a byte encoding (ea:stack-ref 0).
Matt Birkholz [Wed, 7 Mar 2012 21:28:05 +0000 (14:28 -0700)]
svm: Save a byte encoding (ea:stack-ref 0).

12 years agosvm: Punt old (less interesting now) warnings.
Matt Birkholz [Wed, 7 Mar 2012 21:27:06 +0000 (14:27 -0700)]
svm: Punt old (less interesting now) warnings.

12 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Mon, 5 Mar 2012 01:50:58 +0000 (17:50 -0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

12 years agoInclude either <term.h> or <termcap.h> but not both.
Chris Hanson [Mon, 5 Mar 2012 01:50:39 +0000 (17:50 -0800)]
Include either <term.h> or <termcap.h> but not both.

12 years agoFix fencepost typo in integer_shift_left.
Taylor R Campbell [Fri, 2 Mar 2012 19:34:50 +0000 (19:34 +0000)]
Fix fencepost typo in integer_shift_left.

Now (fixnum? (expt 2 24)) returns #t as it should.

12 years agosvm: Fix load-non-pointer to handle small negative fixnums.
Matt Birkholz [Wed, 29 Feb 2012 19:43:16 +0000 (12:43 -0700)]
svm: Fix load-non-pointer to handle small negative fixnums.

With 64 bit words the negative fixnums need sign-extension.  Punt the
unsigned variant of load-immediate.

12 years agosvm: Add diagram of a compiled closure with 64 bit words.
Matt Birkholz [Wed, 29 Feb 2012 19:42:03 +0000 (12:42 -0700)]
svm: Add diagram of a compiled closure with 64 bit words.

12 years agosvm: Port to 64 bit words.
Matt Birkholz [Wed, 29 Feb 2012 19:36:48 +0000 (12:36 -0700)]
svm: Port to 64 bit words.

12 years agosvm: Widen invocation:lookup, :cache-reference patterns.
Matt Birkholz [Wed, 29 Feb 2012 19:36:13 +0000 (12:36 -0700)]
svm: Widen invocation:lookup, :cache-reference patterns.

The (REGISTER (?...)) patterns work for the entire system, but these
rules provide the same generality as those in other machines' lapgens.
Presume that interpreter-call-temporaries can be allocated in any
order (punting let*).

12 years agoExit with non-zero status when Aborting!: out of memory...
Matt Birkholz [Wed, 29 Feb 2012 19:00:02 +0000 (12:00 -0700)]
Exit with non-zero status when Aborting!: out of memory...

...when run with --batch-mode.  This correctly signals to make(1) that
there was an error.

I used nearest-cmdl/batch-mode? though I wonder what a "batch level"
is.  Such a thing should probably cmdl-interrupt/abort-previous rather
than %exit, but this short-circuits the whole gc-clean recovery
effort.  I find similar yuck (a call to %exit) in ttyio.scm's
operation/read-char.

12 years agoSorry; re-fixed Debug_Stack_Trace again.
Matt Birkholz [Sun, 26 Feb 2012 17:14:28 +0000 (10:14 -0700)]
Sorry; re-fixed Debug_Stack_Trace again.

The 20 year old code lies!  STACK_LOC(0) *is* the top-of-stack.
(Free[0] is not a valid object, but that is a different register.)
So... the stack slot address must be printed *before* the _POP.
I tried to pop the last commit, but apparently we have
receive.denyNonFastForwards at Savannah.

12 years agoUnfix "fix" to stack address printing in Debug_Stack_Trace.
Matt Birkholz [Sun, 26 Feb 2012 16:46:56 +0000 (09:46 -0700)]
Unfix "fix" to stack address printing in Debug_Stack_Trace.

Silly me; STACK_LOC(0) is *not* a valid object.  I don't know what gdb
was trying to tell me... but 20 year old code doesn't lie.

12 years agoFix bug: missed one of the places that needed env->senv conversion.
Chris Hanson [Sun, 26 Feb 2012 12:23:06 +0000 (04:23 -0800)]
Fix bug: missed one of the places that needed env->senv conversion.

12 years agoSimplify implementation of syntactic environments.
Chris Hanson [Sun, 26 Feb 2012 09:12:39 +0000 (01:12 -0800)]
Simplify implementation of syntactic environments.

12 years agoFix three duplicate definitions and one dangling reference.
Chris Hanson [Sun, 26 Feb 2012 09:05:22 +0000 (01:05 -0800)]
Fix three duplicate definitions and one dangling reference.

12 years agoFix dangling references.
Chris Hanson [Sun, 26 Feb 2012 09:04:42 +0000 (01:04 -0800)]
Fix dangling references.

12 years agoFix broken pty support on Mac OS X 10.7.
Chris Hanson [Sun, 26 Feb 2012 08:33:59 +0000 (00:33 -0800)]
Fix broken pty support on Mac OS X 10.7.

12 years agoAlways wrap multiple statements in stdin with (begin ...).
Chris Hanson [Sat, 25 Feb 2012 06:45:00 +0000 (22:45 -0800)]
Always wrap multiple statements in stdin with (begin ...).

12 years agoChange var references for consistency.
Chris Hanson [Sat, 25 Feb 2012 06:43:18 +0000 (22:43 -0800)]
Change var references for consistency.

12 years agoDon't fold argument check into expression.
Chris Hanson [Sat, 25 Feb 2012 06:28:34 +0000 (22:28 -0800)]
Don't fold argument check into expression.

12 years agoFix think-o in previous change.
Chris Hanson [Sat, 25 Feb 2012 06:23:17 +0000 (22:23 -0800)]
Fix think-o in previous change.

12 years agoSyntax boot (LIAR/C) compiler with new runtime, sf, etc.
Matt Birkholz [Wed, 15 Feb 2012 20:03:54 +0000 (13:03 -0700)]
Syntax boot (LIAR/C) compiler with new runtime, sf, etc.

12 years agoffi: Give up trying to make %radix a constant.
Matt Birkholz [Wed, 15 Feb 2012 19:55:51 +0000 (12:55 -0700)]
ffi: Give up trying to make %radix a constant.

When compiling to C on a 64bit host, the wrong constant is chosen.

12 years agoSyntax new compiler with new runtime, sf, etc.
Matt Birkholz [Wed, 15 Feb 2012 04:12:04 +0000 (21:12 -0700)]
Syntax new compiler with new runtime, sf, etc.

12 years agoRemove unused variable from Prim_fixnum_lsh.
Matt Birkholz [Wed, 15 Feb 2012 01:19:26 +0000 (18:19 -0700)]
Remove unused variable from Prim_fixnum_lsh.

12 years agoTypo in compiler-*.pkd installation.
Matt Birkholz [Wed, 15 Feb 2012 01:18:57 +0000 (18:18 -0700)]
Typo in compiler-*.pkd installation.

12 years agosvm: Include fixnum.h in fixnum.c.
Matt Birkholz [Tue, 14 Feb 2012 18:05:46 +0000 (11:05 -0700)]
svm: Include fixnum.h in fixnum.c.

12 years agosvm: Mark stages of build with echoed progress commentary.
Matt Birkholz [Tue, 14 Feb 2012 17:45:44 +0000 (10:45 -0700)]
svm: Mark stages of build with echoed progress commentary.

12 years agoFix stack address printing in Debug_Stack_Trace.
Matt Birkholz [Tue, 14 Feb 2012 17:34:17 +0000 (10:34 -0700)]
Fix stack address printing in Debug_Stack_Trace.

12 years agosvm: Fix remote-link generators.
Matt Birkholz [Tue, 14 Feb 2012 17:32:00 +0000 (10:32 -0700)]
svm: Fix remote-link generators.

12 years agosvm: Add clear-map! before invocation:special-primitive.
Matt Birkholz [Tue, 14 Feb 2012 17:00:33 +0000 (10:00 -0700)]
svm: Add clear-map! before invocation:special-primitive.

Also, fix order of float arguments in rule for flonum constants.
And simplify the POP-RETURN rule.

12 years agosvm: Fixed signedness of some fixnum instructions.
Matt Birkholz [Tue, 14 Feb 2012 16:53:59 +0000 (09:53 -0700)]
svm: Fixed signedness of some fixnum instructions.

Included code from liarc.h by moving it to fixnum.h.  Included
fixnum.h in fixnum.c and used it to replace near-identical code.

12 years agosvm: Added "product" instruction, i.e. Mul().
Matt Birkholz [Tue, 14 Feb 2012 16:45:55 +0000 (09:45 -0700)]
svm: Added "product" instruction, i.e. Mul().

Using this new instruction only when overflow detection is required.

12 years agosvm: Fixed icall instruction, and cast in IMPORT_REGS.
Matt Birkholz [Tue, 14 Feb 2012 16:36:27 +0000 (09:36 -0700)]
svm: Fixed icall instruction, and cast in IMPORT_REGS.

12 years agoAdd LETREC*. Convert LETREC to R6RS semantics. Use internal definition for expansio...
Joe Marshall [Mon, 13 Feb 2012 21:04:49 +0000 (13:04 -0800)]
Add LETREC*.  Convert LETREC to R6RS semantics.  Use internal definition for expansion of named let.

12 years agoBetter unsyntaxing of lambda and extended-lambda.
Joe Marshall [Sun, 12 Feb 2012 01:51:08 +0000 (17:51 -0800)]
Better unsyntaxing of lambda and extended-lambda.

12 years agoAvoid creating extended-lambdas just because of aux vars.
Joe Marshall [Sun, 12 Feb 2012 01:41:01 +0000 (17:41 -0800)]
Avoid creating extended-lambdas just because of aux vars.

12 years agoFix typo.
Joe Marshall [Sun, 12 Feb 2012 01:23:35 +0000 (17:23 -0800)]
Fix typo.

12 years agoAdd lambda-interface, guarantees, and re-org code.
Joe Marshall [Sun, 12 Feb 2012 01:14:43 +0000 (17:14 -0800)]
Add lambda-interface, guarantees, and re-org code.

12 years agoAdd codwlk handler for extended-lambda (defaults to lambda).
Joe Marshall [Sun, 12 Feb 2012 01:05:47 +0000 (17:05 -0800)]
Add codwlk handler for extended-lambda (defaults to lambda).

12 years agoImprove unsyntaxing of sequences.
Joe Marshall [Sat, 11 Feb 2012 22:37:01 +0000 (14:37 -0800)]
Improve unsyntaxing of sequences.

12 years agoMerge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme
Joe Marshall [Sat, 11 Feb 2012 19:52:56 +0000 (11:52 -0800)]
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme

12 years agoUse lambda-components* and lambda-bound rather than lambda-components.
Joe Marshall [Thu, 9 Feb 2012 04:39:26 +0000 (20:39 -0800)]
Use lambda-components* and lambda-bound rather than lambda-components.

12 years agoUse lambda-bound and lambda-body rather than lambda-components.
Joe Marshall [Thu, 9 Feb 2012 04:07:24 +0000 (20:07 -0800)]
Use lambda-bound and lambda-body rather than lambda-components.

12 years agosvm: Undo "fix" for copy-block.
Matt Birkholz [Wed, 8 Feb 2012 04:48:06 +0000 (21:48 -0700)]
svm: Undo "fix" for copy-block.

There was nothing wrong with copy-block.  Presumably define-code-
sequence took a separate pattern and "coding" for a reason...
Copy-block can remain the sole exercise of the separation...

12 years agosvm: Fix copy-block instruction's parameter list.
Matt Birkholz [Tue, 7 Feb 2012 19:34:23 +0000 (12:34 -0700)]
svm: Fix copy-block instruction's parameter list.

12 years agoAdd selectors for OPEN-BLOCKs, rewrite unscan-defines in direct style.
Joe Marshall [Tue, 7 Feb 2012 18:42:30 +0000 (10:42 -0800)]
Add selectors for OPEN-BLOCKs, rewrite unscan-defines in direct style.

12 years agoDon't create LEXPRs or CLEXPRs.
Joe Marshall [Tue, 7 Feb 2012 04:39:45 +0000 (20:39 -0800)]
Don't create LEXPRs or CLEXPRs.

12 years agoFix how SF generates SCode for top level open blocks and procedure bodies.
Joe Marshall [Mon, 6 Feb 2012 22:38:59 +0000 (14:38 -0800)]
Fix how SF generates SCode for top level open blocks and procedure bodies.

12 years agoMerge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme
Joe Marshall [Mon, 6 Feb 2012 22:27:26 +0000 (14:27 -0800)]
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme

12 years agoUse MAKE-LAMBDA-LIST rather than ad-hoc code.
Joe Marshall [Mon, 6 Feb 2012 19:55:19 +0000 (11:55 -0800)]
Use MAKE-LAMBDA-LIST rather than ad-hoc code.

12 years agoAdd debugging tool.
Joe Marshall [Mon, 6 Feb 2012 19:54:23 +0000 (11:54 -0800)]
Add debugging tool.

12 years agoAdd MAKE-LAMBDA-LIST.
Joe Marshall [Mon, 6 Feb 2012 16:55:54 +0000 (08:55 -0800)]
Add MAKE-LAMBDA-LIST.

12 years agosvm: Fixed the return of trap results.
Matt Birkholz [Mon, 6 Feb 2012 01:13:54 +0000 (18:13 -0700)]
svm: Fixed the return of trap results.

12 years agosvm: Added compiler temporaries, for now, with warnings.
Matt Birkholz [Sun, 5 Feb 2012 22:46:25 +0000 (15:46 -0700)]
svm: Added compiler temporaries, for now, with warnings.

12 years agosvm: Fix (load-option 'compiler).
Matt Birkholz [Sat, 4 Feb 2012 01:23:03 +0000 (18:23 -0700)]
svm: Fix (load-option 'compiler).

Syntax compiler/machine/make, not compiler/make.  The
compiler/make.bin|com symlinks seem to confuse sf/conditionally.
CREF is required when loading compiler-unx.pkd(?).

12 years agosvm: workaround definition for pseudo-register-home
Matt Birkholz [Sat, 4 Feb 2012 01:13:31 +0000 (18:13 -0700)]
svm: workaround definition for pseudo-register-home

12 years agosvm: IMPORT_REGS should restore dynamic-link.
Matt Birkholz [Fri, 3 Feb 2012 23:40:24 +0000 (16:40 -0700)]
svm: IMPORT_REGS should restore dynamic-link.

The i386's interface_to_scheme restores this register from the
CC_STACK_ENV pushed by comutil_interrupt_dlink via
compiler_interrupt_common.  comp_interrupt_restart has popped the
CC_STACK_ENV into the value register and interface_to_scheme takes it
from there.

12 years agosvm: Fixed closure gc-flip.
Matt Birkholz [Fri, 3 Feb 2012 15:57:42 +0000 (08:57 -0700)]
svm: Fixed closure gc-flip.

The new compiled closures were unusable after a gc-flip.  The first
(often only) target entry was not scanned.  compiled_closure_entry is
not used when !EMBEDDED_CLOSURE_ADDRS_P.

12 years agoClean up dangling references.
Chris Hanson [Thu, 2 Feb 2012 05:42:11 +0000 (21:42 -0800)]
Clean up dangling references.

12 years agosvm: instructions is now a hash table.
Matt Birkholz [Wed, 1 Feb 2012 18:38:03 +0000 (11:38 -0700)]
svm: instructions is now a hash table.

12 years agocref: Added butils.scm to hand-compiled bootstrap packages.
Matt Birkholz [Wed, 1 Feb 2012 18:33:51 +0000 (11:33 -0700)]
cref: Added butils.scm to hand-compiled bootstrap packages.

12 years agocref: Replace alists with lists.
Matt Birkholz [Wed, 1 Feb 2012 18:29:49 +0000 (11:29 -0700)]
cref: Replace alists with lists.

Even alists are too much when bindings and references already contain
the name.  Use find-matching-item rather than assq&cdr!

12 years agoUndoing a change the hard way.
Joe Marshall [Mon, 30 Jan 2012 02:59:06 +0000 (18:59 -0800)]
Undoing a change the hard way.

12 years agoInstall .bci files for common parts of the compiler.
Joe Marshall [Sat, 28 Jan 2012 23:08:49 +0000 (15:08 -0800)]
Install .bci files for common parts of the compiler.

12 years agoRemove handling of IN-PACKAGE frames (which no longer exist).
Joe Marshall [Sat, 28 Jan 2012 23:01:13 +0000 (15:01 -0800)]
Remove handling of IN-PACKAGE frames (which no longer exist).

12 years agoRemove unused error codes, add syntax error code.
Joe Marshall [Sat, 28 Jan 2012 20:41:37 +0000 (12:41 -0800)]
Remove unused error codes, add syntax error code.
Add syntax-error SCode object.

12 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Fri, 27 Jan 2012 05:46:21 +0000 (21:46 -0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

12 years agoDon't delete symlinks with maybe_rm.
Chris Hanson [Fri, 27 Jan 2012 05:45:56 +0000 (21:45 -0800)]
Don't delete symlinks with maybe_rm.

12 years agoUnparse assignments, definitions, and lambdas with their respective names.
Joe Marshall [Fri, 27 Jan 2012 01:01:58 +0000 (17:01 -0800)]
Unparse assignments, definitions, and lambdas with their respective names.

12 years agoAdd some generated files to .gitignore
Joe Marshall [Wed, 25 Jan 2012 16:56:33 +0000 (08:56 -0800)]
Add some generated files to .gitignore

12 years agoCombinations no longer constructed with pcomb1, pcomb2, comb1, etc.
Joe Marshall [Wed, 25 Jan 2012 16:36:57 +0000 (08:36 -0800)]
Combinations no longer constructed with pcomb1, pcomb2, comb1, etc.

12 years agoUse sequence-immediate-first instead of sequence-first.
Joe Marshall [Wed, 25 Jan 2012 15:46:58 +0000 (07:46 -0800)]
Use sequence-immediate-first instead of sequence-first.

12 years agoExport sequence-immediate-first and -second.
Joe Marshall [Wed, 25 Jan 2012 15:21:36 +0000 (07:21 -0800)]
Export sequence-immediate-first and -second.

12 years agoAdd sequence-immediate-first and sequence-immediate-second.
Joe Marshall [Wed, 25 Jan 2012 15:20:15 +0000 (07:20 -0800)]
Add sequence-immediate-first and sequence-immediate-second.

12 years agoFix typo, clean up.
Joe Marshall [Wed, 25 Jan 2012 09:48:51 +0000 (01:48 -0800)]
Fix typo, clean up.

12 years agoDon't bother flipping the sense of negative conditionals.
Joe Marshall [Wed, 25 Jan 2012 08:38:56 +0000 (00:38 -0800)]
Don't bother flipping the sense of negative conditionals.

12 years agoCorrectly handle lambda bodies with declarations.
Joe Marshall [Wed, 25 Jan 2012 08:38:12 +0000 (00:38 -0800)]
Correctly handle lambda bodies with declarations.

12 years agoCheck record-length before dereferencing.
Joe Marshall [Wed, 25 Jan 2012 06:42:47 +0000 (22:42 -0800)]
Check record-length before dereferencing.

12 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Tue, 24 Jan 2012 08:57:36 +0000 (00:57 -0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

12 years agoUpdate DTD references.
Chris Hanson [Tue, 24 Jan 2012 08:57:11 +0000 (00:57 -0800)]
Update DTD references.

12 years agoRelocate a top-level variable.
Joe Marshall [Sun, 22 Jan 2012 01:10:56 +0000 (17:10 -0800)]
Relocate a top-level variable.

12 years agoFix some well-intentioned, but semantically suspect code.
Joe Marshall [Sun, 22 Jan 2012 00:42:01 +0000 (16:42 -0800)]
Fix some well-intentioned, but semantically suspect code.

12 years agoPass profile into run-with-stack-sampling.
Joe Marshall [Sat, 21 Jan 2012 20:02:10 +0000 (12:02 -0800)]
Pass profile into run-with-stack-sampling.

12 years agoAvoid printing trailing whitespace.
Joe Marshall [Sat, 21 Jan 2012 19:34:37 +0000 (11:34 -0800)]
Avoid printing trailing whitespace.

12 years agoUse scode/sequence-... procedures.
Joe Marshall [Sat, 21 Jan 2012 19:22:01 +0000 (11:22 -0800)]
Use scode/sequence-... procedures.

12 years agoExport SEQUENCE-FIRST and SEQUENCE-SECOND.
Joe Marshall [Sat, 21 Jan 2012 19:20:42 +0000 (11:20 -0800)]
Export SEQUENCE-FIRST and SEQUENCE-SECOND.

12 years agoExport SEQUENCE-FIRST and SEQUENCE-SECOND.
Joe Marshall [Sat, 21 Jan 2012 18:52:56 +0000 (10:52 -0800)]
Export SEQUENCE-FIRST and SEQUENCE-SECOND.

12 years agoFixup scode SEQUENCE abstraction.
Joe Marshall [Sat, 21 Jan 2012 18:51:37 +0000 (10:51 -0800)]
Fixup scode SEQUENCE abstraction.

12 years agoRemove SEQUENCE-3 (forgot to commit this one).
Joe Marshall [Sat, 21 Jan 2012 17:32:33 +0000 (09:32 -0800)]
Remove SEQUENCE-3 (forgot to commit this one).

12 years agoMissed a SEQUENCE-3.
Joe Marshall [Sat, 21 Jan 2012 01:57:34 +0000 (17:57 -0800)]
Missed a SEQUENCE-3.

12 years agoRemove SEQUENCE-3 from Scheme code.
Joe Marshall [Fri, 20 Jan 2012 18:42:10 +0000 (10:42 -0800)]
Remove SEQUENCE-3 from Scheme code.

12 years agoFix bogus steps.
Joe Marshall [Wed, 18 Jan 2012 22:48:14 +0000 (14:48 -0800)]
Fix bogus steps.