mit-scheme.git
30 years agoAdd code to handle OS/2 hardware exceptions.
Chris Hanson [Mon, 19 Dec 1994 21:07:34 +0000 (21:07 +0000)]
Add code to handle OS/2 hardware exceptions.

30 years agoAdd DOS and OS/2 files.
Chris Hanson [Mon, 19 Dec 1994 21:07:03 +0000 (21:07 +0000)]
Add DOS and OS/2 files.

30 years agoIn COPY-FILE, move mode-setting statement after closing of output
Chris Hanson [Mon, 19 Dec 1994 21:06:39 +0000 (21:06 +0000)]
In COPY-FILE, move mode-setting statement after closing of output
file.  This is required under OS/2, since setting the file modes is
prohibited for a file that is opened for writing.

30 years agoImplement and use new variable MICROCODE-ID/OPERATING-SYSTEM.
Chris Hanson [Mon, 19 Dec 1994 21:04:13 +0000 (21:04 +0000)]
Implement and use new variable MICROCODE-ID/OPERATING-SYSTEM.

30 years agoUndo PC-specific changes from previous revision. Add OS/2 files.
Chris Hanson [Mon, 19 Dec 1994 20:48:20 +0000 (20:48 +0000)]
Undo PC-specific changes from previous revision.  Add OS/2 files.

30 years agoUndo PC-specific changes from previous revision. Add OS/2 files.
Chris Hanson [Mon, 19 Dec 1994 20:38:55 +0000 (20:38 +0000)]
Undo PC-specific changes from previous revision.  Add OS/2 files.

30 years agoInitial revision
Chris Hanson [Mon, 19 Dec 1994 19:46:35 +0000 (19:46 +0000)]
Initial revision

30 years agoAdd new operating-system dependency: OS/SET-FILE-MODES-WRITABLE!.
Chris Hanson [Mon, 19 Dec 1994 19:42:26 +0000 (19:42 +0000)]
Add new operating-system dependency: OS/SET-FILE-MODES-WRITABLE!.

30 years agoUse new variable MICROCODE-ID/OPERATING-SYSTEM.
Chris Hanson [Mon, 19 Dec 1994 19:41:06 +0000 (19:41 +0000)]
Use new variable MICROCODE-ID/OPERATING-SYSTEM.

30 years agoSort ed-ffi database after it is loaded in order to protect against
Chris Hanson [Mon, 19 Dec 1994 19:40:32 +0000 (19:40 +0000)]
Sort ed-ffi database after it is loaded in order to protect against
user error in these files.

30 years agoAdd OS/2 files.
Chris Hanson [Mon, 19 Dec 1994 19:39:14 +0000 (19:39 +0000)]
Add OS/2 files.

30 years agoFix bug that caused asynchronous thread events, and therefore C-g, to
Chris Hanson [Mon, 19 Dec 1994 19:38:09 +0000 (19:38 +0000)]
Fix bug that caused asynchronous thread events, and therefore C-g, to
stop working after the first time C-g was typed.

30 years agoChanged the rtl parser to hash on symbol names rather than symbol
Stephen Adams [Fri, 16 Dec 1994 20:18:34 +0000 (20:18 +0000)]
Changed the rtl parser to hash on symbol names rather than symbol
addresses so that the order of basic blocks in the final code is
deterministic.

30 years agoInsterted internal warning for interrupt checks with large heap allocations.
Stephen Adams [Fri, 16 Dec 1994 20:16:41 +0000 (20:16 +0000)]
Insterted internal warning for interrupt checks with large heap allocations.

30 years ago*** empty log message ***
Stephen Adams [Fri, 16 Dec 1994 20:15:09 +0000 (20:15 +0000)]
*** empty log message ***

30 years agoAdded check for valid dbg-procedure/block to avoid SIGSEGV with the
Stephen Adams [Thu, 15 Dec 1994 22:19:37 +0000 (22:19 +0000)]
Added check for valid dbg-procedure/block to avoid SIGSEGV with the
(temporarily) broken new debug info.

30 years agoChanged the implementation of +, -, *, /, <, <=, =, >=, >, min and max
Stephen Adams [Thu, 15 Dec 1994 21:40:14 +0000 (21:40 +0000)]
Changed the implementation of +, -, *, /, <, <=, =, >=, >, min and max
(most of the user-level lexprs) to use entities.

Naive uses of these procedures is now a lot faster, e.g.

(sort! vector <)

is just over twice as fast.

30 years agoAdded build dependencies for new "base/stats" file.
Stephen Adams [Thu, 15 Dec 1994 03:08:29 +0000 (03:08 +0000)]
Added build dependencies for new "base/stats" file.

30 years agoExported compiler:enable-statistics? switch.
Stephen Adams [Thu, 15 Dec 1994 03:07:44 +0000 (03:07 +0000)]
Exported compiler:enable-statistics? switch.

30 years agoInitial revision
Stephen Adams [Thu, 15 Dec 1994 03:05:04 +0000 (03:05 +0000)]
Initial revision

30 years agoMoved compiler statistics to own file.
Stephen Adams [Thu, 15 Dec 1994 03:02:45 +0000 (03:02 +0000)]
Moved compiler statistics to own file.

30 years agoAdded compiler:enable-statistics?
Stephen Adams [Thu, 15 Dec 1994 02:34:42 +0000 (02:34 +0000)]
Added compiler:enable-statistics?

30 years agoexport compiler:enable-statistics?
Stephen Adams [Thu, 15 Dec 1994 02:32:09 +0000 (02:32 +0000)]
export compiler:enable-statistics?

30 years agoAdded statistic.
Stephen Adams [Thu, 15 Dec 1994 01:41:42 +0000 (01:41 +0000)]
Added statistic.

30 years agoAdded statistic.
Stephen Adams [Thu, 15 Dec 1994 01:33:01 +0000 (01:33 +0000)]
Added statistic.

30 years agoFixed typo.
Stephen Adams [Thu, 15 Dec 1994 01:28:15 +0000 (01:28 +0000)]
Fixed typo.

30 years agoRemoved extra `)'
Stephen Adams [Wed, 14 Dec 1994 20:56:45 +0000 (20:56 +0000)]
Removed extra `)'

30 years agoAdded some compiler statistics utilities. The idea is that all you do
Stephen Adams [Wed, 14 Dec 1994 20:33:47 +0000 (20:33 +0000)]
Added some compiler statistics utilities.  The idea is that all you do
is place a call to SAMPLE/1 or SAMPLE/2 at the appropriate place in
the code, and NOT rely on their arguments for a side effect.

Each statistic has a name (a symbol), a type (a symbol) and perhaps
some optional parameters.  The calls to SAMPLE/n create the statistic
if it unknown, and then incorporate the data for generating a report.

  (COMPILER:RESET-STATISTICS!)
  (COMPILER:DISPLAY-STATISTICS)
  (SAMPLE/1 '(name type [parameters]) datum)
  (SAMPLE/2 '(name type [parameters]) datum1 datum2)

Current unary statistics are

  '(name AVERAGE) <x>) - number, sum and average
  '(name HISTOGRAM VECTOR) - histogram small non-negative integers
  '(name HISTOGRAM HASH-TABLE) - histogram numbers, strings, symbols etc
  '(name HISTOGRAM) - same as HASH-TABLE

Currently there are no binary statistics.

30 years agoAdded a few statistics.
Stephen Adams [Wed, 14 Dec 1994 20:20:16 +0000 (20:20 +0000)]
Added a few statistics.

30 years agoExport COMPILER:*** variables for statistics
Stephen Adams [Wed, 14 Dec 1994 20:15:18 +0000 (20:15 +0000)]
Export COMPILER:*** variables for statistics

30 years agoInitial revision
Stephen Adams [Fri, 9 Dec 1994 03:32:03 +0000 (03:32 +0000)]
Initial revision

30 years agoInitial revision
Stephen Adams [Fri, 9 Dec 1994 02:55:41 +0000 (02:55 +0000)]
Initial revision

30 years agoPlaced limits on size of objects open-coded by STRING-ALLOCATE and
Stephen Adams [Thu, 8 Dec 1994 16:48:37 +0000 (16:48 +0000)]
Placed limits on size of objects open-coded by STRING-ALLOCATE and
FLOATING-VECTOR-CONS.

30 years agoChanged *MAXIMUM-NODE-COUNT* default to 15000
Stephen Adams [Tue, 6 Dec 1994 19:46:25 +0000 (19:46 +0000)]
Changed *MAXIMUM-NODE-COUNT* default to 15000

30 years agoUsed LOAD-OPTION to load cref.
Stephen Adams [Tue, 6 Dec 1994 17:44:22 +0000 (17:44 +0000)]
Used LOAD-OPTION to load cref.

This ensures that, when cross-syntaxing the compiler, the host
system's cref is loaded, not the cref from the target system.

30 years agoUsed LOAD-OPTION to load cref.
Stephen Adams [Tue, 6 Dec 1994 17:39:15 +0000 (17:39 +0000)]
Used LOAD-OPTION to load cref.

This ensures that, when cross-syntaxing, the host system's cref is
loaded, not the cref from the target system.

30 years agoRemoved old CFG types (proced.scm & friends).
Stephen Adams [Tue, 6 Dec 1994 16:30:54 +0000 (16:30 +0000)]
Removed old CFG types (proced.scm & friends).

30 years agoTemporary patch to drop bad environment info in
Stephen Adams [Tue, 6 Dec 1994 16:30:09 +0000 (16:30 +0000)]
Temporary patch to drop bad environment info in

(lambda ()
  (lambda () '()))

so we can recompile the whole system.

30 years agoAdded compiler:debug.
Stephen Adams [Mon, 5 Dec 1994 21:34:20 +0000 (21:34 +0000)]
Added compiler:debug.

30 years agoInitial revision
Chris Hanson [Fri, 2 Dec 1994 20:44:41 +0000 (20:44 +0000)]
Initial revision

30 years agoChanges for PM interface.
Chris Hanson [Fri, 2 Dec 1994 20:44:01 +0000 (20:44 +0000)]
Changes for PM interface.

30 years agoImplement special support for OS/2 console.
Chris Hanson [Fri, 2 Dec 1994 20:43:46 +0000 (20:43 +0000)]
Implement special support for OS/2 console.

30 years agoImplement special support for OS/2 console.
Chris Hanson [Fri, 2 Dec 1994 20:43:35 +0000 (20:43 +0000)]
Implement special support for OS/2 console.

30 years agoAdd PM interface header file.
Chris Hanson [Fri, 2 Dec 1994 20:43:13 +0000 (20:43 +0000)]
Add PM interface header file.

30 years agoNumerous changes driven by implementation of PM interface.
Chris Hanson [Fri, 2 Dec 1994 20:42:55 +0000 (20:42 +0000)]
Numerous changes driven by implementation of PM interface.

30 years agoAdd "OS2_" prefixes to exported procedure names. Implement "readahead
Chris Hanson [Fri, 2 Dec 1994 20:41:57 +0000 (20:41 +0000)]
Add "OS2_" prefixes to exported procedure names.  Implement "readahead
buffer" abstraction.

30 years agoChange initialization sequence so that OS/2 can start up its console
Chris Hanson [Fri, 2 Dec 1994 20:40:20 +0000 (20:40 +0000)]
Change initialization sequence so that OS/2 can start up its console
window before the first `outf' call occurs.  Also add initialization
for PM console.

30 years agoChange initialization sequence so that OS/2 can start up its console
Chris Hanson [Fri, 2 Dec 1994 20:39:36 +0000 (20:39 +0000)]
Change initialization sequence so that OS/2 can start up its console
window before the first `outf' call occurs.

30 years agoI exported *pp-auto-highlighter*
Stephen Adams [Fri, 2 Dec 1994 16:42:11 +0000 (16:42 +0000)]
I exported *pp-auto-highlighter*
cph did something for os2.

30 years agoAdded *pp-auto-highlighter*.
Stephen Adams [Fri, 2 Dec 1994 16:38:29 +0000 (16:38 +0000)]
Added *pp-auto-highlighter*.

When *pp-auto-highlighter* is #F (the default) pp behaves as before.

When assigned a procedure of one argument this procedure is called for
each part of the input tree.  It may return:

 . #F  indicating that pp should proceed normally

 . a new form which is pretty printed instead of the input, for
   example, it may be wrapped with a highlight.

30 years agoRemoved old CFG datatypes and associated variables *expressions and
Stephen Adams [Fri, 2 Dec 1994 03:12:18 +0000 (03:12 +0000)]
Removed old CFG datatypes and associated variables *expressions and
*procedures*

30 years agoRemoved old CFG datatypes and associated variables *expressions and
Stephen Adams [Fri, 2 Dec 1994 03:01:24 +0000 (03:01 +0000)]
Removed old CFG datatypes and associated variables *expressions and
*procedures*

30 years agoRemoved (interrupt-check:procedure/avoid-for-this-label? label)
Stephen Adams [Fri, 2 Dec 1994 02:17:19 +0000 (02:17 +0000)]
Removed (interrupt-check:procedure/avoid-for-this-label? label)

30 years agoFixed string reading again. This time it uses a string output prort
Stephen Adams [Fri, 2 Dec 1994 01:50:28 +0000 (01:50 +0000)]
Fixed string reading again.  This time it uses a string output prort
to accumulate the characters.

30 years ago*** empty log message ***
Stephen Adams [Thu, 1 Dec 1994 20:40:11 +0000 (20:40 +0000)]
*** empty log message ***

30 years agoFixed in PARSE-OBJECT/STRING-QUOTE to make it behave better when
Stephen Adams [Thu, 1 Dec 1994 19:01:09 +0000 (19:01 +0000)]
Fixed in PARSE-OBJECT/STRING-QUOTE to make it behave better when
reading large strings with escapes.  Removed recursion and to reduced
consing by doing a single string-append at the end rather than one per
escape.

Desirable for 7.3 release.

30 years agoFormatting changes while reading to understand what is happening to
Stephen Adams [Wed, 30 Nov 1994 23:20:59 +0000 (23:20 +0000)]
Formatting changes while reading to understand what is happening to
cause the dbg info bug with (lambda () (lambda () '()))

30 years agoExtended variable print method.
Stephen Adams [Wed, 30 Nov 1994 22:19:00 +0000 (22:19 +0000)]
Extended variable print method.

30 years agoInitial revision
Stephen Adams [Tue, 29 Nov 1994 03:24:13 +0000 (03:24 +0000)]
Initial revision

30 years agoRemoved the cf/new etc names.
Stephen Adams [Tue, 29 Nov 1994 02:34:07 +0000 (02:34 +0000)]
Removed the cf/new etc names.

30 years agoRemoved cf/new etc, since the `old' names do the new thing.
Stephen Adams [Tue, 29 Nov 1994 02:33:42 +0000 (02:33 +0000)]
Removed cf/new etc, since the `old' names do the new thing.

30 years agoFix think-o.
Chris Hanson [Mon, 28 Nov 1994 08:11:48 +0000 (08:11 +0000)]
Fix think-o.

30 years agoAdd OS/2 console to list of terminal-like channels.
Chris Hanson [Mon, 28 Nov 1994 07:36:06 +0000 (07:36 +0000)]
Add OS/2 console to list of terminal-like channels.

30 years agoGeneralize runtime system's notion of "terminal" to coincide with that
Chris Hanson [Mon, 28 Nov 1994 07:35:36 +0000 (07:35 +0000)]
Generalize runtime system's notion of "terminal" to coincide with that
of microcode.  Add OS/2 console to list of terminal-like channels.

30 years ago*** empty log message ***
Chris Hanson [Mon, 28 Nov 1994 05:46:25 +0000 (05:46 +0000)]
*** empty log message ***

30 years agoInitial revision
Chris Hanson [Mon, 28 Nov 1994 05:46:24 +0000 (05:46 +0000)]
Initial revision

30 years agoEliminate "canonicalization" from pathname abstraction; this doesn't
Chris Hanson [Mon, 28 Nov 1994 05:45:12 +0000 (05:45 +0000)]
Eliminate "canonicalization" from pathname abstraction; this doesn't
belong here.  Change pathname abstraction so that DOS, NT, and OS/2
can share an single pathname implementation.

30 years agoInitial revision
Chris Hanson [Mon, 28 Nov 1994 05:26:34 +0000 (05:26 +0000)]
Initial revision

30 years agoAdd rule to generate OS/2 assembly language file.
Chris Hanson [Mon, 28 Nov 1994 05:22:58 +0000 (05:22 +0000)]
Add rule to generate OS/2 assembly language file.

30 years agoTweak to last change.
Chris Hanson [Mon, 28 Nov 1994 05:21:39 +0000 (05:21 +0000)]
Tweak to last change.

30 years agoClip out C_call_scheme under OS/2 -- this isn't needed.
Chris Hanson [Mon, 28 Nov 1994 04:37:22 +0000 (04:37 +0000)]
Clip out C_call_scheme under OS/2 -- this isn't needed.

30 years agoFinal update for first working version of OS/2 port.
Chris Hanson [Mon, 28 Nov 1994 04:35:28 +0000 (04:35 +0000)]
Final update for first working version of OS/2 port.

30 years agoAdd conditionalizations for compiling with gcc under OS/2.
Chris Hanson [Mon, 28 Nov 1994 04:30:16 +0000 (04:30 +0000)]
Add conditionalizations for compiling with gcc under OS/2.

30 years agoGeneralize handling of filenames to treat OS/2 like DOS and NT.
Chris Hanson [Mon, 28 Nov 1994 04:28:41 +0000 (04:28 +0000)]
Generalize handling of filenames to treat OS/2 like DOS and NT.

30 years agoInitial revision
Chris Hanson [Mon, 28 Nov 1994 04:26:10 +0000 (04:26 +0000)]
Initial revision

30 years agoAdd tweaks necessary to get this running under OS/2.
Chris Hanson [Mon, 28 Nov 1994 04:15:49 +0000 (04:15 +0000)]
Add tweaks necessary to get this running under OS/2.

30 years agoDefine a special hook to allow OS/2 to shut down its extra threads in
Chris Hanson [Mon, 28 Nov 1994 04:06:33 +0000 (04:06 +0000)]
Define a special hook to allow OS/2 to shut down its extra threads in
an orderly way when Scheme exits.

30 years agoAdd markers to identify procedures that are called from assembly
Chris Hanson [Mon, 28 Nov 1994 04:05:21 +0000 (04:05 +0000)]
Add markers to identify procedures that are called from assembly
language, so that they can be compiled with different calling
conventions from the default.

30 years agoAdded print methods to the structures.
Stephen Adams [Mon, 28 Nov 1994 03:55:12 +0000 (03:55 +0000)]
Added print methods to the structures.

30 years agoSupply missing definition needed for no-compiled-code support case.
Chris Hanson [Mon, 28 Nov 1994 03:53:25 +0000 (03:53 +0000)]
Supply missing definition needed for no-compiled-code support case.

30 years agoCall dstack_initialize and transaction_initialize from main rather
Chris Hanson [Mon, 28 Nov 1994 03:51:01 +0000 (03:51 +0000)]
Call dstack_initialize and transaction_initialize from main rather
than from the operating-system specific initialization procedures.

30 years agoInitial revision
Chris Hanson [Mon, 28 Nov 1994 03:43:02 +0000 (03:43 +0000)]
Initial revision

30 years agoFix bug in previous change.
Chris Hanson [Sun, 27 Nov 1994 23:05:09 +0000 (23:05 +0000)]
Fix bug in previous change.

30 years agoSome minor changes for environment information.
Guillermo J. Rozas [Sat, 26 Nov 1994 22:07:13 +0000 (22:07 +0000)]
Some minor changes for environment information.

30 years agoAdded fnord
Guillermo J. Rozas [Sat, 26 Nov 1994 20:00:29 +0000 (20:00 +0000)]
Added fnord

30 years agoAdded hooks for PROFILE-COUNT.
Stephen Adams [Sat, 26 Nov 1994 19:24:41 +0000 (19:24 +0000)]
Added hooks for PROFILE-COUNT.

30 years agoForbid lapopt to fill the delay slot in the PROFILE-COUNT code.
Stephen Adams [Sat, 26 Nov 1994 19:23:53 +0000 (19:23 +0000)]
Forbid lapopt to fill the delay slot in the PROFILE-COUNT code.

30 years agoAdded switch COMPILER:GENERATE-PROFILING-INSTRUCTIONS?
Stephen Adams [Sat, 26 Nov 1994 19:22:32 +0000 (19:22 +0000)]
Added switch COMPILER:GENERATE-PROFILING-INSTRUCTIONS?

30 years agoAdded RTL PROFILE-COUNT and PROFILE-DATA.
Stephen Adams [Sat, 26 Nov 1994 19:21:03 +0000 (19:21 +0000)]
Added RTL PROFILE-COUNT and PROFILE-DATA.

30 years agoPARSE-RTL now inserts PROFILE-COUNT instructions at the end of basic
Stephen Adams [Sat, 26 Nov 1994 19:20:28 +0000 (19:20 +0000)]
PARSE-RTL now inserts PROFILE-COUNT instructions at the end of basic
block.  It mostly works, but this is the wrong place for it.  There is
no effect unless compiler:generate-profiling-instructions? is true.

The instuctions should be added just prior to assembly.  This would
make PARSE-RTL a reusable utility (we dont want two or three counts
per basic block!), and it would forestall problems with RTL
optimizations that change basic block boundaries (like common suffic
merging).

30 years agoAdded fluid variable *BLOCK-PROFILES* for gathering profiling data.
Stephen Adams [Sat, 26 Nov 1994 19:14:49 +0000 (19:14 +0000)]
Added fluid variable *BLOCK-PROFILES* for gathering profiling data.

30 years agoAdded the profile information abstraction.
Stephen Adams [Sat, 26 Nov 1994 19:13:50 +0000 (19:13 +0000)]
Added the profile information abstraction.

The base abstraction of the profile info keys and tags should probably
go in the runtime.

A reporting package should be created as a load option.

The important parts to the compiler should stay here.  These parts
track the profile-data declarationd and compute the information that
is inserted in the compiled code block.

30 years agoAdded code to process PROFILE-COUNT and PROFILE-DATA
Stephen Adams [Sat, 26 Nov 1994 19:06:58 +0000 (19:06 +0000)]
Added code to process PROFILE-COUNT and PROFILE-DATA

30 years ago*** empty log message ***
Stephen Adams [Sat, 26 Nov 1994 19:06:24 +0000 (19:06 +0000)]
*** empty log message ***

30 years agoBlow away copier/remember, unneeded since the remember routine is
Guillermo J. Rozas [Sat, 26 Nov 1994 19:05:34 +0000 (19:05 +0000)]
Blow away copier/remember, unneeded since the remember routine is
passed around as STATE.

30 years agoAdded methods for PROFILE-COUNT and PROFILE-DATA
Stephen Adams [Sat, 26 Nov 1994 19:03:36 +0000 (19:03 +0000)]
Added methods for PROFILE-COUNT and PROFILE-DATA

30 years agoFor suffix merging, the CONSTANTs in a PROFILE-DATA can be merely
Stephen Adams [Sat, 26 Nov 1994 19:02:23 +0000 (19:02 +0000)]
For suffix merging, the CONSTANTs in a PROFILE-DATA can be merely
EQUAL? (rather than EQV?).

30 years agoChanged NEW-VARIABLE to put the index as part of the name.
Stephen Adams [Sat, 26 Nov 1994 17:43:21 +0000 (17:43 +0000)]
Changed NEW-VARIABLE to put the index as part of the name.

30 years agoWhitespace problem?
Guillermo J. Rozas [Sat, 26 Nov 1994 16:56:47 +0000 (16:56 +0000)]
Whitespace problem?

30 years agoUpdate to partly handle new compatibility stuff.
Guillermo J. Rozas [Sat, 26 Nov 1994 16:55:36 +0000 (16:55 +0000)]
Update to partly handle new compatibility stuff.