Matt Birkholz [Thu, 8 Mar 2012 16:43:10 +0000 (09:43 -0700)]
Merge branch 'master' into ELisp
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.
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'.
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.
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).
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.
Matt Birkholz [Wed, 7 Mar 2012 21:29:16 +0000 (14:29 -0700)]
Stage.sh: Keep .rtls,.laps with corresponding .mocs,.coms.
Matt Birkholz [Wed, 7 Mar 2012 21:28:05 +0000 (14:28 -0700)]
svm: Save a byte encoding (ea:stack-ref 0).
Matt Birkholz [Wed, 7 Mar 2012 21:27:06 +0000 (14:27 -0700)]
svm: Punt old (less interesting now) warnings.
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
Chris Hanson [Mon, 5 Mar 2012 01:50:39 +0000 (17:50 -0800)]
Include either <term.h> or <termcap.h> but not both.
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.
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.
Matt Birkholz [Wed, 29 Feb 2012 19:42:03 +0000 (12:42 -0700)]
svm: Add diagram of a compiled closure with 64 bit words.
Matt Birkholz [Wed, 29 Feb 2012 19:36:48 +0000 (12:36 -0700)]
svm: Port to 64 bit words.
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*).
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.
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.
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.
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.
Chris Hanson [Sun, 26 Feb 2012 09:12:39 +0000 (01:12 -0800)]
Simplify implementation of syntactic environments.
Chris Hanson [Sun, 26 Feb 2012 09:05:22 +0000 (01:05 -0800)]
Fix three duplicate definitions and one dangling reference.
Chris Hanson [Sun, 26 Feb 2012 09:04:42 +0000 (01:04 -0800)]
Fix dangling references.
Chris Hanson [Sun, 26 Feb 2012 08:33:59 +0000 (00:33 -0800)]
Fix broken pty support on Mac OS X 10.7.
Chris Hanson [Sat, 25 Feb 2012 06:45:00 +0000 (22:45 -0800)]
Always wrap multiple statements in stdin with (begin ...).
Chris Hanson [Sat, 25 Feb 2012 06:43:18 +0000 (22:43 -0800)]
Change var references for consistency.
Chris Hanson [Sat, 25 Feb 2012 06:28:34 +0000 (22:28 -0800)]
Don't fold argument check into expression.
Chris Hanson [Sat, 25 Feb 2012 06:23:17 +0000 (22:23 -0800)]
Fix think-o in previous change.
Matt Birkholz [Wed, 15 Feb 2012 20:03:54 +0000 (13:03 -0700)]
Syntax boot (LIAR/C) compiler with new runtime, sf, etc.
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.
Matt Birkholz [Wed, 15 Feb 2012 04:12:04 +0000 (21:12 -0700)]
Syntax new compiler with new runtime, sf, etc.
Matt Birkholz [Wed, 15 Feb 2012 01:19:26 +0000 (18:19 -0700)]
Remove unused variable from Prim_fixnum_lsh.
Matt Birkholz [Wed, 15 Feb 2012 01:18:57 +0000 (18:18 -0700)]
Typo in compiler-*.pkd installation.
Matt Birkholz [Tue, 14 Feb 2012 18:05:46 +0000 (11:05 -0700)]
svm: Include fixnum.h in fixnum.c.
Matt Birkholz [Tue, 14 Feb 2012 17:45:44 +0000 (10:45 -0700)]
svm: Mark stages of build with echoed progress commentary.
Matt Birkholz [Tue, 14 Feb 2012 17:34:17 +0000 (10:34 -0700)]
Fix stack address printing in Debug_Stack_Trace.
Matt Birkholz [Tue, 14 Feb 2012 17:32:00 +0000 (10:32 -0700)]
svm: Fix remote-link generators.
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.
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.
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.
Matt Birkholz [Tue, 14 Feb 2012 16:36:27 +0000 (09:36 -0700)]
svm: Fixed icall instruction, and cast in IMPORT_REGS.
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.
Joe Marshall [Sun, 12 Feb 2012 01:51:08 +0000 (17:51 -0800)]
Better unsyntaxing of lambda and extended-lambda.
Joe Marshall [Sun, 12 Feb 2012 01:41:01 +0000 (17:41 -0800)]
Avoid creating extended-lambdas just because of aux vars.
Joe Marshall [Sun, 12 Feb 2012 01:23:35 +0000 (17:23 -0800)]
Fix typo.
Joe Marshall [Sun, 12 Feb 2012 01:14:43 +0000 (17:14 -0800)]
Add lambda-interface, guarantees, and re-org code.
Joe Marshall [Sun, 12 Feb 2012 01:05:47 +0000 (17:05 -0800)]
Add codwlk handler for extended-lambda (defaults to lambda).
Joe Marshall [Sat, 11 Feb 2012 22:37:01 +0000 (14:37 -0800)]
Improve unsyntaxing of sequences.
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
Joe Marshall [Thu, 9 Feb 2012 04:39:26 +0000 (20:39 -0800)]
Use lambda-components* and lambda-bound 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.
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...
Matt Birkholz [Tue, 7 Feb 2012 19:34:23 +0000 (12:34 -0700)]
svm: Fix copy-block instruction's parameter list.
Joe Marshall [Tue, 7 Feb 2012 18:42:30 +0000 (10:42 -0800)]
Add selectors for OPEN-BLOCKs, rewrite unscan-defines in direct style.
Joe Marshall [Tue, 7 Feb 2012 04:39:45 +0000 (20:39 -0800)]
Don't create LEXPRs or CLEXPRs.
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.
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
Joe Marshall [Mon, 6 Feb 2012 19:55:19 +0000 (11:55 -0800)]
Use MAKE-LAMBDA-LIST rather than ad-hoc code.
Joe Marshall [Mon, 6 Feb 2012 19:54:23 +0000 (11:54 -0800)]
Add debugging tool.
Joe Marshall [Mon, 6 Feb 2012 16:55:54 +0000 (08:55 -0800)]
Add MAKE-LAMBDA-LIST.
Matt Birkholz [Mon, 6 Feb 2012 01:13:54 +0000 (18:13 -0700)]
svm: Fixed the return of trap results.
Matt Birkholz [Sun, 5 Feb 2012 22:46:25 +0000 (15:46 -0700)]
svm: Added compiler temporaries, for now, with warnings.
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(?).
Matt Birkholz [Sat, 4 Feb 2012 01:13:31 +0000 (18:13 -0700)]
svm: workaround definition for pseudo-register-home
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.
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.
Chris Hanson [Thu, 2 Feb 2012 05:42:11 +0000 (21:42 -0800)]
Clean up dangling references.
Matt Birkholz [Wed, 1 Feb 2012 18:38:03 +0000 (11:38 -0700)]
svm: instructions is now a hash table.
Matt Birkholz [Wed, 1 Feb 2012 18:33:51 +0000 (11:33 -0700)]
cref: Added butils.scm to hand-compiled bootstrap packages.
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!
Joe Marshall [Mon, 30 Jan 2012 02:59:06 +0000 (18:59 -0800)]
Undoing a change the hard way.
Joe Marshall [Sat, 28 Jan 2012 23:08:49 +0000 (15:08 -0800)]
Install .bci files for common parts of the compiler.
Joe Marshall [Sat, 28 Jan 2012 23:01:13 +0000 (15:01 -0800)]
Remove handling of IN-PACKAGE frames (which no longer exist).
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.
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
Chris Hanson [Fri, 27 Jan 2012 05:45:56 +0000 (21:45 -0800)]
Don't delete symlinks with maybe_rm.
Joe Marshall [Fri, 27 Jan 2012 01:01:58 +0000 (17:01 -0800)]
Unparse assignments, definitions, and lambdas with their respective names.
Joe Marshall [Wed, 25 Jan 2012 16:56:33 +0000 (08:56 -0800)]
Add some generated files to .gitignore
Joe Marshall [Wed, 25 Jan 2012 16:36:57 +0000 (08:36 -0800)]
Combinations no longer constructed with pcomb1, pcomb2, comb1, etc.
Joe Marshall [Wed, 25 Jan 2012 15:46:58 +0000 (07:46 -0800)]
Use sequence-immediate-first instead of sequence-first.
Joe Marshall [Wed, 25 Jan 2012 15:21:36 +0000 (07:21 -0800)]
Export sequence-immediate-first and -second.
Joe Marshall [Wed, 25 Jan 2012 15:20:15 +0000 (07:20 -0800)]
Add sequence-immediate-first and sequence-immediate-second.
Joe Marshall [Wed, 25 Jan 2012 09:48:51 +0000 (01:48 -0800)]
Fix typo, clean up.
Joe Marshall [Wed, 25 Jan 2012 08:38:56 +0000 (00:38 -0800)]
Don't bother flipping the sense of negative conditionals.
Joe Marshall [Wed, 25 Jan 2012 08:38:12 +0000 (00:38 -0800)]
Correctly handle lambda bodies with declarations.
Joe Marshall [Wed, 25 Jan 2012 06:42:47 +0000 (22:42 -0800)]
Check record-length before dereferencing.
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
Chris Hanson [Tue, 24 Jan 2012 08:57:11 +0000 (00:57 -0800)]
Update DTD references.
Joe Marshall [Sun, 22 Jan 2012 01:10:56 +0000 (17:10 -0800)]
Relocate a top-level variable.
Joe Marshall [Sun, 22 Jan 2012 00:42:01 +0000 (16:42 -0800)]
Fix some well-intentioned, but semantically suspect code.
Joe Marshall [Sat, 21 Jan 2012 20:02:10 +0000 (12:02 -0800)]
Pass profile into run-with-stack-sampling.
Joe Marshall [Sat, 21 Jan 2012 19:34:37 +0000 (11:34 -0800)]
Avoid printing trailing whitespace.
Joe Marshall [Sat, 21 Jan 2012 19:22:01 +0000 (11:22 -0800)]
Use scode/sequence-... procedures.
Joe Marshall [Sat, 21 Jan 2012 19:20:42 +0000 (11:20 -0800)]
Export SEQUENCE-FIRST and SEQUENCE-SECOND.
Joe Marshall [Sat, 21 Jan 2012 18:52:56 +0000 (10:52 -0800)]
Export SEQUENCE-FIRST and SEQUENCE-SECOND.
Joe Marshall [Sat, 21 Jan 2012 18:51:37 +0000 (10:51 -0800)]
Fixup scode SEQUENCE abstraction.
Joe Marshall [Sat, 21 Jan 2012 17:32:33 +0000 (09:32 -0800)]
Remove SEQUENCE-3 (forgot to commit this one).
Joe Marshall [Sat, 21 Jan 2012 01:57:34 +0000 (17:57 -0800)]
Missed a SEQUENCE-3.
Joe Marshall [Fri, 20 Jan 2012 18:42:10 +0000 (10:42 -0800)]
Remove SEQUENCE-3 from Scheme code.
Joe Marshall [Wed, 18 Jan 2012 22:48:14 +0000 (14:48 -0800)]
Fix bogus steps.