mit-scheme.git
14 years agoRestored more copyright dates.
Matt Birkholz [Sat, 5 Jun 2010 04:19:01 +0000 (21:19 -0700)]
Restored more copyright dates.

14 years agoUse properties in RUN-SUB-TEST where appropriate. Change tests to run
Chris Hanson [Wed, 2 Jun 2010 09:10:25 +0000 (02:10 -0700)]
Use properties in RUN-SUB-TEST where appropriate.  Change tests to run
properly now that argument SVLs may contain null ranges.

14 years agoChange RUN-SUB-TEST to allow it to take properties.
Chris Hanson [Wed, 2 Jun 2010 09:08:06 +0000 (02:08 -0700)]
Change RUN-SUB-TEST to allow it to take properties.

14 years agoFix thinko in previous change.
Chris Hanson [Wed, 2 Jun 2010 08:44:09 +0000 (01:44 -0700)]
Fix thinko in previous change.

14 years agoChange MAKE-RANDOM-SVL to generate empty ranges.
Chris Hanson [Wed, 2 Jun 2010 08:39:21 +0000 (01:39 -0700)]
Change MAKE-RANDOM-SVL to generate empty ranges.

14 years agoChange MAKE-RANDOM-SVL to generate empty ranges.
Chris Hanson [Wed, 2 Jun 2010 08:39:02 +0000 (01:39 -0700)]
Change MAKE-RANDOM-SVL to generate empty ranges.

14 years agoChange MAPPER->GENERATOR to generate empty ranges.
Chris Hanson [Wed, 2 Jun 2010 08:38:16 +0000 (01:38 -0700)]
Change MAPPER->GENERATOR to generate empty ranges.

14 years agoChange %CANONICALIZE-SCALAR-VALUE-LIST to eliminate empty ranges.
Chris Hanson [Wed, 2 Jun 2010 08:36:42 +0000 (01:36 -0700)]
Change %CANONICALIZE-SCALAR-VALUE-LIST to eliminate empty ranges.

14 years agoDon't restrict character sets to Unicode characters.
Chris Hanson [Wed, 2 Jun 2010 08:34:20 +0000 (01:34 -0700)]
Don't restrict character sets to Unicode characters.

14 years agoMore simplification and restyling.
Chris Hanson [Wed, 2 Jun 2010 08:30:43 +0000 (01:30 -0700)]
More simplification and restyling.

14 years agoFix compilation errors. Simplify part of the code by a suitable
Chris Hanson [Wed, 2 Jun 2010 08:06:10 +0000 (01:06 -0700)]
Fix compilation errors.  Simplify part of the code by a suitable
macro.  Do a little style tweaking.

14 years agoFix broken reference: "load.scm" -> "make.scm".
Chris Hanson [Wed, 2 Jun 2010 08:04:30 +0000 (01:04 -0700)]
Fix broken reference: "load.scm" -> "make.scm".

14 years agoAdd name for CALLBACK_HANDLER slot.
Chris Hanson [Wed, 2 Jun 2010 08:03:50 +0000 (01:03 -0700)]
Add name for CALLBACK_HANDLER slot.

14 years agoEliminate trailing whitespace.
Chris Hanson [Wed, 2 Jun 2010 07:58:57 +0000 (00:58 -0700)]
Eliminate trailing whitespace.

14 years agoRestore copyright dates.
Chris Hanson [Wed, 2 Jun 2010 07:58:08 +0000 (00:58 -0700)]
Restore copyright dates.

14 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Wed, 2 Jun 2010 06:53:33 +0000 (23:53 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

14 years agoPut back alphabet compatibility, in a different form.
Chris Hanson [Tue, 1 Jun 2010 05:31:29 +0000 (22:31 -0700)]
Put back alphabet compatibility, in a different form.

14 years agoA fairly straightforward merge of the FFI.
Matt Birkholz [Mon, 31 May 2010 20:39:18 +0000 (13:39 -0700)]
A fairly straightforward merge of the FFI.

* src/etc/Clean.sh (maintainer-clean): Clean up src/*/TAGS.

* src/ffi/Clean.sh (maintainer-clean): Clean up prhello-const*.

* src/ffi/ffi.cbf, src/ffi/ffi.sf: Separate syntaxing and compiling.
Temporarily hacked to load the (runtime ffi) package when necessary.
Replaces compile.scm.

* src/ffi/make.scm: Replaces load.scm.

* src/ffi/compile.scm, src/ffi/load.scm: Replaced by ffi.sf, ffi.cbf
and make.scm.

14 years agoImplement SCALAR-VALUE-IN-CHAR-SET?.
Chris Hanson [Mon, 31 May 2010 10:04:43 +0000 (03:04 -0700)]
Implement SCALAR-VALUE-IN-CHAR-SET?.

14 years agoEliminate PREDICATE->CHAR-SET, and tweak documentation.
Chris Hanson [Mon, 31 May 2010 09:54:18 +0000 (02:54 -0700)]
Eliminate PREDICATE->CHAR-SET, and tweak documentation.

14 years agoEliminate all trace of the alphabet abstraction.
Chris Hanson [Mon, 31 May 2010 09:41:21 +0000 (02:41 -0700)]
Eliminate all trace of the alphabet abstraction.

14 years agoFix swapped conditional arms in RE-COMPILE-CHAR-SET; then split off
Chris Hanson [Mon, 31 May 2010 08:32:12 +0000 (01:32 -0700)]
Fix swapped conditional arms in RE-COMPILE-CHAR-SET; then split off
part of it as RE-CHAR-PATTERN->SCALAR-VALUES.

14 years agoMove Unicode char predicates to "char.scm".
Chris Hanson [Mon, 31 May 2010 00:37:45 +0000 (17:37 -0700)]
Move Unicode char predicates to "char.scm".

14 years agoImprove test reporting for errors. Add boolean equality assertions.
Chris Hanson [Mon, 31 May 2010 00:37:11 +0000 (17:37 -0700)]
Improve test reporting for errors.  Add boolean equality assertions.

14 years agoDon't restrict CHAR-SET-MEMBERS; it gets used on the inversion of
Chris Hanson [Mon, 31 May 2010 00:36:11 +0000 (17:36 -0700)]
Don't restrict CHAR-SET-MEMBERS; it gets used on the inversion of
8-bit char sets, which aren't 8-bit.

14 years agoFix thinko.
Chris Hanson [Sun, 30 May 2010 23:43:57 +0000 (16:43 -0700)]
Fix thinko.

14 years agoFix typo.
Chris Hanson [Sun, 30 May 2010 23:43:40 +0000 (16:43 -0700)]
Fix typo.

14 years agoFix fencepost error.
Chris Hanson [Sun, 30 May 2010 23:26:47 +0000 (16:26 -0700)]
Fix fencepost error.

14 years agoAdd membership test.
Chris Hanson [Sun, 30 May 2010 23:26:32 +0000 (16:26 -0700)]
Add membership test.

14 years agoFix broken reference.
Chris Hanson [Sun, 30 May 2010 11:10:30 +0000 (04:10 -0700)]
Fix broken reference.

14 years agoUpdate to use new test framework.
Chris Hanson [Sun, 30 May 2010 11:09:06 +0000 (04:09 -0700)]
Update to use new test framework.

14 years agoRefactor test infrastructure to use conditions and to have more flexible reporting.
Chris Hanson [Sun, 30 May 2010 11:04:34 +0000 (04:04 -0700)]
Refactor test infrastructure to use conditions and to have more flexible reporting.

14 years agoRewrite, this time to use "signal processing" mode for high segments.
Chris Hanson [Sun, 30 May 2010 11:03:39 +0000 (04:03 -0700)]
Rewrite, this time to use "signal processing" mode for high segments.
Also, don't use combinators at top level; instead use combinations
called at run time.

14 years agoWhen re-loading unit-testing, unlink the previous copy so it will be
Chris Hanson [Mon, 24 May 2010 08:42:26 +0000 (01:42 -0700)]
When re-loading unit-testing, unlink the previous copy so it will be
garbage collected.

14 years agoRestructure test to use new multiple-result mechanism.
Chris Hanson [Mon, 24 May 2010 08:40:04 +0000 (01:40 -0700)]
Restructure test to use new multiple-result mechanism.

14 years agoAllow each sub-test to return multiple test results.
Chris Hanson [Mon, 24 May 2010 08:39:28 +0000 (01:39 -0700)]
Allow each sub-test to return multiple test results.

14 years agoUse new ASSERT-ERROR.
Chris Hanson [Mon, 24 May 2010 05:12:54 +0000 (22:12 -0700)]
Use new ASSERT-ERROR.

14 years agoFix some bugs discovered by unit testing.
Chris Hanson [Mon, 24 May 2010 05:11:40 +0000 (22:11 -0700)]
Fix some bugs discovered by unit testing.

14 years agoAdd LOAD-WITH-BOOT-INITS! for testing.
Chris Hanson [Mon, 24 May 2010 05:11:11 +0000 (22:11 -0700)]
Add LOAD-WITH-BOOT-INITS! for testing.

14 years agoGet unit tests working.
Chris Hanson [Mon, 24 May 2010 05:09:30 +0000 (22:09 -0700)]
Get unit tests working.

14 years agoAdd ASSERT-ERROR. Small reorganization to improve readability.
Chris Hanson [Mon, 24 May 2010 05:09:08 +0000 (22:09 -0700)]
Add ASSERT-ERROR.  Small reorganization to improve readability.

14 years agoFix parsing of multiline comments from ports without line numbers.
Taylor R Campbell [Mon, 24 May 2010 01:02:35 +0000 (01:02 +0000)]
Fix parsing of multiline comments from ports without line numbers.

14 years agoFix parsing of comments.
Taylor R Campbell [Sun, 23 May 2010 20:23:19 +0000 (20:23 +0000)]
Fix parsing of comments.

Comment handlers should return CONTINUE-PARSING, not UNSPECIFIC.

14 years agoImplement alphabet as char-set.
Chris Hanson [Sun, 23 May 2010 12:11:02 +0000 (05:11 -0700)]
Implement alphabet as char-set.

14 years agoChange char-set abstraction to handle unicode.
Chris Hanson [Sun, 23 May 2010 11:50:46 +0000 (04:50 -0700)]
Change char-set abstraction to handle unicode.

14 years agoImplement VECTOR-HEAD!.
Chris Hanson [Sun, 23 May 2010 11:50:00 +0000 (04:50 -0700)]
Implement VECTOR-HEAD!.

14 years agoRename DEFAULT_STAGE0 to STAGE0.
Chris Hanson [Sun, 23 May 2010 11:49:42 +0000 (04:49 -0700)]
Rename DEFAULT_STAGE0 to STAGE0.

14 years agoFix x86-64 lapgen rules for simple float offsets.
Taylor R Campbell [Mon, 10 May 2010 22:29:07 +0000 (22:29 +0000)]
Fix x86-64 lapgen rules for simple float offsets.

This should fix flonum vector references in cases where type and
range checks are disabled.

14 years agoMerge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme
Taylor R Campbell [Sun, 25 Apr 2010 15:27:32 +0000 (11:27 -0400)]
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme

14 years agoMake the m4 test in microcode/configure.ac less strict.
Taylor R Campbell [Sun, 25 Apr 2010 15:24:54 +0000 (11:24 -0400)]
Make the m4 test in microcode/configure.ac less strict.

Some luser might run `./configure M4=/usr/frobblethorpe/bin/m4'.
This requires makegen/m4.sh to accept the m4 program as an argument.
(Don't try to pass any extra arguments to the m4 program that way...)

14 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Sun, 25 Apr 2010 04:34:55 +0000 (21:34 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

14 years agoFix bug: when merging register maps, if a pseudo register was saved
Chris Hanson [Sun, 25 Apr 2010 04:34:25 +0000 (21:34 -0700)]
Fix bug: when merging register maps, if a pseudo register was saved
into its home on some of the maps, and not saved on the other maps,
then the resulting map would show that it was saved.  Instead, it
should show that it is NOT saved.  That's less optimal but correct.

14 years agoHandle case where INPUT-LINE port operation isn't available; was
Chris Hanson [Sun, 25 Apr 2010 04:31:36 +0000 (21:31 -0700)]
Handle case where INPUT-LINE port operation isn't available; was
breaking use of comments in Edwin evaluation.

14 years agoIn dist/make-native-files, don't rmdir src/lib/lib.
Taylor R Campbell [Sat, 24 Apr 2010 19:18:24 +0000 (15:18 -0400)]
In dist/make-native-files, don't rmdir src/lib/lib.

src/lib/lib is a symbolic link to ../microcode, created by
src/Setup.sh.

14 years agoUnder Linux/ELF on i386 and x86-64, mark the stack nonexecutable.
Taylor R Campbell [Sat, 17 Apr 2010 06:10:44 +0000 (02:10 -0400)]
Under Linux/ELF on i386 and x86-64, mark the stack nonexecutable.

This is apparently what a `.note.GNU-stack' section does.

14 years agoUse AC_MSG_ERROR rather than AC_ERROR.
Taylor R Campbell [Sat, 17 Apr 2010 05:33:28 +0000 (01:33 -0400)]
Use AC_MSG_ERROR rather than AC_ERROR.

14 years agoMerge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme
Taylor R Campbell [Sat, 17 Apr 2010 05:32:21 +0000 (01:32 -0400)]
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/mit-scheme

14 years agoMake makegen/m4.sh report m4 failure by returning 1.
Taylor R Campbell [Sat, 17 Apr 2010 05:28:16 +0000 (01:28 -0400)]
Make makegen/m4.sh report m4 failure by returning 1.

Previously, the return code of m4 was totally ignored, because it was
invoked only in a pipeline not at the end.  Because of brain damage
in shell script, we have to use a temporary file to let the subshell
in which we run m4 report the failure to the script so that the
script can know to return 1.

14 years agoIf native code is enabled, check for m4 in microcode/configure.
Taylor R Campbell [Sat, 17 Apr 2010 05:25:45 +0000 (01:25 -0400)]
If native code is enabled, check for m4 in microcode/configure.

14 years agoGot the svm1 back end to assemble... something.
Matt Birkholz [Sat, 10 Apr 2010 23:20:27 +0000 (16:20 -0700)]
Got the svm1 back end to assemble... something.

No disassembler yet.  Added lapgen rules until it compiled the whole
system.

* src/Makefile.in (microcode/svm1-defns.h): Detect changes to machine
definition and re-compile it, BEFORE compile-microcode.

(subdir-list): New.  Cough up SUBDIRS.

* src/Stage.sh: New.  Uses `make subdir-list' to get SUBDIRS from the
Makefile, allowing this script to be invoked with arguments, via
shell command line, not make.

* src/compiler/Clean.sh: Added make.bin to the remove list.

* src/compiler/Stage.sh, src/etc/Stage.sh (make-cross): This new Stage
command stashes compilation AND cross-compilation products.

* src/compiler/machines/svm/assembler-compiler.scm: Added rule-matcher
anti-syntax, so that assembler-runtime.scm can be loaded.

* src/compiler/machines/svm/assembler-rules.scm: Changed the offset
addressing mode to take signed 8 and 16 bit offsets.

* src/compiler/machines/svm/assembler-runtime.scm: Added variable-width
instruction encoders to the fixed-width encoders of the machine
description.

Punted symbolic-expressions.  All such are now passed up to the assembler
top-level.

(match-pattern): Get the list of values leftmost-first.

(register-reference?): Punt these redundant definitions.  Register
references are now part of machine.scm.

(any-register?, word-register?, float-register?): Not used.

(word-register-reference?, float-register-reference?): Use the register
reference munging procedures.

(encode-rref): The machine expects float register numbers to start with 0.

* src/compiler/machines/svm/compile-assembler.scm: Load assembler-compiler
before assembler-runtime.

* src/compiler/machines/svm/compiler.pkg: Import instructions;
add-instruction! is not sufficient for this assembler.  And the register
reference procedures are now in scope via the (compiler) package.

* src/compiler/machines/svm/lapgen.scm: Punt environment register.  Move
register reference procedures to machine.scm.

Fixed applications of inst:copy.

Use BLOCK-OFFSET directives in external labels.

Move evaluation of parse-memory-address rule bodies into lapgen rule
bodies, where procedures like word-source can gen. LAP.

* src/compiler/machines/svm/machine.scm: Added a new fixed register -- the
interpreter-register-block -- for easy access to the interpreter's
interrupt-mask, lexpr-actuals, etc.  Punted the environment register, now
accessible via interpreter-register-block.

(define-generic-unary-operations, define-generic-binary-operations):
Punted.  These instructions do not need type parameters.  Added them to the
corresponding define-bi/unary-operations lists.

(load-immediate-operand?): Typo.

(ea:environment, ea:lexpr-actuals): New, using the new interpreter-
register-block register.

Fixed the other ea: procedures to use register references, not numbers.

(define-traps): Allow the C-friendly synonyms to be specified.  Provide the
necessary synonyms for +, -, *, /, 1+, -1+, =, < and >.  Punt non-existent
traps: the lookup-apply, conditionally-serialize and *-trap traps.  The
reference-trap trap is actually the lookup trap.  The unassigned?-trap trap
is actually the unassigned? trap.  Etc.

(register-reference, register-reference?, etc.): Create the fixed registers
and register references from one list.  Provide the register reference
procedures here, for the (compiler assembler) and (compiler lap-syntaxer)
packages, AND assembler-compiler.

* src/compiler/machines/svm/make.scm: Initialize the assembler instructions.

* src/compiler/machines/svm/rules.scm: Get the right type of target/source
for inst:load/store.

Fixed applications of inst:copy, inst:increment.

Expect a thunk from parse-memory-address.

There is no single-arg predicate LT, but there is an SLT.

(OVERFLOW-TEST): Without a register argument (or implicit condition
register) fixnum methods must test for overflow.

Added a few rules to recognize float constants being loaded into registers,
used as the second arg. in flonum-pred-2-args instructions, or as an
argument to flonum-1/2-arg instructions.

Get the correct type of register for flonum instructions.

(INVOCATION:CACHE-REFERENCE): Punt fixed registers.  Use the extension
register if possible, and temporaries for the rest.

(INVOCATION:LOOKUP): No such utility, and the lookup-apply trap is no more.

(INVOCATION:PRIMITIVE): trap:primitive-lexpr-apply takes just one arg.
Store the arg count in the interpreter's lexpr-actuals register.

(move-frame-up): Compare registers (numbers), not references.  The arg is a
reference.

inst:load-pointer does not take an address, just a register.

(generate/closure-header): Don't skip the external/internal equate when
nentries is zero.

(generate/quotation-header, generate/remote-link): Rename registers to
indicate usage.

(generate/remote-links): Keep the interpreter's environment in a temporary
register.

Typos.

Punted several rewrite rules that replace registers with their known
values.  This is useless here, where instructions like + and load-pointer
only take register operands.

* src/etc/compile-svm.sh: Re-written to do a proper cross-compilation, with
host-compiled cross-compiler.  Swaps host and cross compiler products
in/out of stages X and 0, respectively.  Thus a rebuild does not have to
recompile much, not even the previously cross-compiled files.

* src/etc/create-makefiles.sh, src/microcode/makegen/makeinit.sh: Use
--batch-mode.

* src/etc/functions.sh (run_cmd_in_dir): Echo dir name as well as command
line.

(maybe_mv): New.  Punts moving e.g. *.moc if there are none.

* src/microcode/svm1-defns.h: New machine definition.  See changes to
assembler-rules.scm and machine.scm.

* src/microcode/svm1-interp.c (initialize_svm1): Initialize new fixed
register interpreter-register-block.  Fix initialization of the float
registers.

Added new offset address decoders.

14 years agoChange keyword implementation to be based on symbols rather than structs.
Joe Marshall [Thu, 1 Apr 2010 00:36:51 +0000 (17:36 -0700)]
Change keyword implementation to be based on symbols rather than structs.

14 years agoCollapse chains of CAR/CDR.
Joe Marshall [Wed, 31 Mar 2010 05:20:39 +0000 (22:20 -0700)]
Collapse chains of CAR/CDR.

14 years agoAdd ENCODE- and DECODE-GENERAL-CAR-CDR.
Joe Marshall [Tue, 30 Mar 2010 23:32:49 +0000 (16:32 -0700)]
Add ENCODE- and DECODE-GENERAL-CAR-CDR.

14 years agoExport new fixnum ops and guarantees.
Joe Marshall [Tue, 30 Mar 2010 22:26:28 +0000 (15:26 -0700)]
Export new fixnum ops and guarantees.

14 years agoPOSITIVE-FIXNUM? and NEGATIVE-FIXNUM? and appropriate guarantees.
Joe Marshall [Tue, 30 Mar 2010 22:25:46 +0000 (15:25 -0700)]
POSITIVE-FIXNUM? and NEGATIVE-FIXNUM? and appropriate guarantees.

14 years agoDeclare r-rename and r-compare as IGNORABLE.
Joe Marshall [Tue, 30 Mar 2010 00:46:50 +0000 (17:46 -0700)]
Declare r-rename and r-compare as IGNORABLE.

14 years agoHandle edge case of : as a symbol.
Joe Marshall [Mon, 29 Mar 2010 18:16:32 +0000 (11:16 -0700)]
Handle edge case of : as a symbol.

14 years agoMake STRING-LENGTH a foldable operator.
Joe Marshall [Mon, 29 Mar 2010 17:14:45 +0000 (10:14 -0700)]
Make STRING-LENGTH a foldable operator.

14 years agoCan't fold non-primitives.
Joe Marshall [Sun, 28 Mar 2010 22:40:46 +0000 (15:40 -0700)]
Can't fold non-primitives.

14 years agoMake SYMBOL? and SYMBOL->STRING foldable operators.
Joe Marshall [Sun, 28 Mar 2010 22:07:46 +0000 (15:07 -0700)]
Make SYMBOL? and SYMBOL->STRING foldable operators.

14 years agoExport symbol->keyword.
Joe Marshall [Sun, 28 Mar 2010 22:06:46 +0000 (15:06 -0700)]
Export symbol->keyword.

14 years agoAdd symbol->keyword.
Joe Marshall [Sun, 28 Mar 2010 22:05:10 +0000 (15:05 -0700)]
Add symbol->keyword.

14 years agoAdd keyword-style:none to attributes.
Joe Marshall [Sun, 28 Mar 2010 20:50:36 +0000 (13:50 -0700)]
Add keyword-style:none to attributes.

14 years agoAllow keyword-style attribute to be none or false. Fix typo.
Joe Marshall [Sun, 28 Mar 2010 20:48:12 +0000 (13:48 -0700)]
Allow keyword-style attribute to be none or false.  Fix typo.

14 years agoTypo.
Joe Marshall [Sun, 28 Mar 2010 20:26:01 +0000 (13:26 -0700)]
Typo.

14 years agoEnable parsing of file attributes line.
Joe Marshall [Sun, 28 Mar 2010 19:40:34 +0000 (12:40 -0700)]
Enable parsing of file attributes line.

14 years agoSupport for parsing the file attributes line.
Joe Marshall [Sun, 28 Mar 2010 19:39:08 +0000 (12:39 -0700)]
Support for parsing the file attributes line.

14 years agoAdd simple restart to sf/internal.
Joe Marshall [Sat, 27 Mar 2010 21:46:20 +0000 (14:46 -0700)]
Add simple restart to sf/internal.

14 years agoCheckpoint. Parser ready to deal with file attributs line.
Joe Marshall [Sat, 27 Mar 2010 19:54:36 +0000 (12:54 -0700)]
Checkpoint.  Parser ready to deal with file attributs line.

14 years agoExport new control variables.
Joe Marshall [Fri, 26 Mar 2010 23:02:42 +0000 (16:02 -0700)]
Export new control variables.

14 years agoInitialize new control variables.
Joe Marshall [Fri, 26 Mar 2010 22:59:52 +0000 (15:59 -0700)]
Initialize new control variables.

14 years agoAdd new parser control variables.
Joe Marshall [Fri, 26 Mar 2010 22:54:24 +0000 (15:54 -0700)]
Add new parser control variables.

14 years agoSort parser control variables.
Joe Marshall [Fri, 26 Mar 2010 22:51:15 +0000 (15:51 -0700)]
Sort parser control variables.

14 years agoDelete *keyword-style*.
Joe Marshall [Fri, 26 Mar 2010 16:41:53 +0000 (09:41 -0700)]
Delete *keyword-style*.

14 years agoDon't export *keyword-style*.
Joe Marshall [Fri, 26 Mar 2010 16:40:17 +0000 (09:40 -0700)]
Don't export *keyword-style*.

14 years agoBugfix and use *parser-keyword-style*.
Joe Marshall [Fri, 26 Mar 2010 16:39:15 +0000 (09:39 -0700)]
Bugfix and use *parser-keyword-style*.

14 years agoUse *parser-keyword-style*.
Joe Marshall [Fri, 26 Mar 2010 16:28:04 +0000 (09:28 -0700)]
Use *parser-keyword-style*.

14 years agoAdd *parser-keyword-style*.
Joe Marshall [Fri, 26 Mar 2010 16:19:29 +0000 (09:19 -0700)]
Add *parser-keyword-style*.

14 years agoAdd stub file-attributes-line parser and hook into scheme parser.
Joe Marshall [Wed, 24 Mar 2010 23:48:44 +0000 (16:48 -0700)]
Add stub file-attributes-line parser and hook into scheme parser.

14 years agoTrack the line count when reading.
Joe Marshall [Wed, 24 Mar 2010 16:27:16 +0000 (09:27 -0700)]
Track the line count when reading.

14 years agoNew input port operation 'INPUT-LINE.
Joe Marshall [Wed, 24 Mar 2010 16:14:10 +0000 (09:14 -0700)]
New input port operation 'INPUT-LINE.

14 years agoChange %d to %ld for pointer diffs without C99.
Chris Hanson [Mon, 22 Mar 2010 21:40:36 +0000 (14:40 -0700)]
Change %d to %ld for pointer diffs without C99.

14 years agoUse %td only if C99 is supported.
Chris Hanson [Mon, 22 Mar 2010 07:14:05 +0000 (00:14 -0700)]
Use %td only if C99 is supported.

14 years agoDetect whether C99 is supported.
Chris Hanson [Mon, 22 Mar 2010 07:13:41 +0000 (00:13 -0700)]
Detect whether C99 is supported.

14 years agoPruned too much from src/microcode/option.c.
Matt Birkholz [Mon, 22 Mar 2010 02:38:41 +0000 (19:38 -0700)]
Pruned too much from src/microcode/option.c.

* src/microcode/option.c (add_to_library_path, quote_string)
(strlen_after_quoting, must_quote_char_p): Restored inside #ifdef
__APPLE__.

14 years agoUse %td, not %d, to format ptrdiff_t values with printf.
Taylor R Campbell [Sun, 21 Mar 2010 19:29:07 +0000 (15:29 -0400)]
Use %td, not %d, to format ptrdiff_t values with printf.

14 years agoFix recent change to xwindow extra structures.
Taylor R Campbell [Sun, 21 Mar 2010 19:27:22 +0000 (15:27 -0400)]
Fix recent change to xwindow extra structures.

14 years agoFix unary predicate assembly hooks for flonums on x86-64.
Taylor R Campbell [Sun, 21 Mar 2010 16:35:19 +0000 (12:35 -0400)]
Fix unary predicate assembly hooks for flonums on x86-64.

14 years agoHandle non-character input events in READ-EXTENSION-KEY.
Taylor R Campbell [Sun, 21 Mar 2010 16:09:45 +0000 (12:09 -0400)]
Handle non-character input events in READ-EXTENSION-KEY.

14 years agoGot the (incomplete) svm1 back end complete enough to generate LAP.
Matt Birkholz [Sat, 20 Mar 2010 20:45:04 +0000 (13:45 -0700)]
Got the (incomplete) svm1 back end complete enough to generate LAP.

* src/Makefile.in (all-svm): New target, analogous to all-liarc.

* src/compiler/configure: Added make.bin to LINKS, so a purely
interpreted compiler can be loaded.

* src/compiler/machines/svm/assembler-compiler.scm
(write-copyright+license):  Punted.

(rt-defn-decoder-constructor): Removed leftover references to
coding-type, which became an implicit rt-coding-type parameter.

* src/compiler/machines/svm/assembler-runtime.scm
(init-assembler-instructions!): New skeleton.  Error actions.

(make-symbol-table): Renamed "make-typed-symbol-table", to keep it
distinct from back/symtab.scm's "symbol-table", which is used by the
assembler top-level (back/bittop.scm, back/bitutl.scm).

(Assembler Machine Dependencies): New.  Just the required (per CREF
analysis) bindings, pilfered from i386/assmd.scm.

(Instructions, Memory addressing, Traps, Machine registers): Removed
to machine.scm.

(Register references): Removed to lapgen.scm, except
word-register-reference? and float-register-reference?.  Then had to
copy register-reference?, and import register-reference AND
reference->register.

(Symbolic addresses): Commented out for now.

* src/compiler/machines/svm/compile-assembler.scm: Punt loading
write-mit-scheme-copyright from ../../../runtime/version, and the
commented out LAP macrology.

* src/compiler/machines/svm/compiler.pkg (compiler lap-syntaxer):
Include CREF, for decls.scm.  Moved assembler-runtime.scm,
assembler-db.scm, and svm1-opcodes.scm to (compiler assembler).

(compiler assembler): Added back/symtab.scm to complete the
machine-independent assembler top-level.  Import from (compiler
lap-syntaxer) some of the register-reference procedures that just
moved to lapgen.scm.  Import add-instruction!.

* src/compiler/machines/svm/compiler.sf: Load option SF.  This file is
intended to run in a band withOUT an existing (compiler) package.

* src/compiler/machines/svm/decls.scm (init-packages): No longer used.

(setup-source-nodes! env): Typo.

* src/compiler/machines/svm/disassembler.scm: For now a no-op.
Deleted the code copied verbatim from i386/dassm1.scm.

* src/compiler/machines/svm/lapgen.scm (available-machine-registers):
New.

(Register references): New from assembler-runtime.
(register-reference): Fixed to include the
un-available-machine-registers.

(rref:word-0, etc.): New.

(make-internal-procedure-label): Fixed to use new
encode-internal-procedure-offset.
(encode-internal-procedure-offset): New.  Copied from
encode-continuation-offset.

(invert-condition): Make conditions a proper alist.

(interpreter-call-argument?, interpreter-call-temporary)
(rtl:simple-offset?, simple-offset->ea!): New from i386, like
interpreter-call-argument->machine-register!, BUT uses
prefix-instructions!, if necessary, and a temporary which, with Good
Luck, will use the same alias as the argument.

(parse-memory-address): Fixed to avoid thinking (un-thunking?) #f.

* src/compiler/machines/svm/lapopt.scm (optimize-linear-lap): Now a
no-op.  Deleted the code copied verbatim from i386/lapopt, i.e. all of
it.

* src/compiler/machines/svm/machine.scm (Architecture Parameters):
Needed endianness, scheme-datum-width, and some *-fixnum/*-limit
bindings.

(Instructions, Memory addressing, Traps, Machine registers): New from
assembler-runtime.scm.  This makes the regnum:*, inst:*, trap:* and
ea:* bindings available to (compiler lap-syntaxer) AND (compiler
lap-optimizer), assuming the latter eventually wants to generate some
LAP, as in other back-ends.

(interpreter-register:environment, etc.): New from i386.

(define-machine-register): Closing the syntactic environment around
e.g., interpreter-value-register, causes it to be renamed.  Generate
defines with bare symbols for binding names.

(interpreter-regs-pointer?, interpreter-regs-pointer): New.  No-ops.

(rtl:machine-register?): Map ALL registers, including dynamic-link,
environment, and all of the interpreter-call-result: registers.

(Closure format): Added a closure-entry-size binding, as in other
architectures, a reflection of CLOSURE_ENTRY_SIZE in
microcode/cmpintmd/svm1.h.

* src/compiler/machines/svm/make.scm: New.  Cribbed from i386.

* src/compiler/machines/svm/rgspcm.scm: Typo.

* src/compiler/machines/svm/rules.scm: Fixed some typos, e.g. source
vs. target, trap:[compiler-]lexpr-apply, etc.  Added a few rules for
CONSTANTs and CONS-POINTERs.  Expect just an effective address from
parse-memory-address.

(interrupt-check): Punted, along with shared closure interrupt code.
simple-procedure-header only needs to generate an interrupt-test-*
instruction.

(generate/cons-closure, generate/cons-multi-closure): Replaced the old
i386 code.

(generate/closure-header): Replaced the old i386 code.  Use
simple-procedure-header.

(generate/make-magic-closure-constant, make-closure-longword)
(make-closure-code-longword): Punted.  Compiled closure entries do not
even have a format word!

(CONS-MULTICLOSURE, generate/quotation-header, generate/remote-link)
(generate/remote-links): Replaced the old i386 code.

(generate/constants-block): Finished skeletal code.

(INTERPRETER-CALL:): Provide interpreter-call-temporary argument to
the trap:* instructions.

(integer-power-of-2?): Added, for FIXNUM-2-ARGS.

* src/configure.ac (ALL_TARGET): Set to "all-svm".

* src/etc/compile-svm.sh: New.

* src/microcode/cmpintmd/svm1.c, svm1.h: Extern read_u16, for
svm1-interp.

* src/microcode/option.c (add_to_library_path, quote_string)
(strlen_after_quoting, must_quote_char_p): Removed.  No longer in use.

* src/microcode/svm1-interp.c (enter_closure): Use CLOSURE_COUNT_SIZE,
CLOSURE_ENTRY_SIZE, skip_compiled_closure_padding and read_u16.  This
makes enter_closure look like the other closure handling procedures in
cmpintmd/svm1.c.