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.
Chris Hanson [Mon, 19 Dec 1994 21:04:13 +0000 (21:04 +0000)]
Implement and use new variable MICROCODE-ID/OPERATING-SYSTEM.
Chris Hanson [Mon, 19 Dec 1994 20:48:20 +0000 (20:48 +0000)]
Undo 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.
Chris Hanson [Mon, 19 Dec 1994 19:46:35 +0000 (19:46 +0000)]
Initial revision
Chris Hanson [Mon, 19 Dec 1994 19:42:26 +0000 (19:42 +0000)]
Add new operating-system dependency: OS/SET-FILE-MODES-WRITABLE!.
Chris Hanson [Mon, 19 Dec 1994 19:41:06 +0000 (19:41 +0000)]
Use new variable MICROCODE-ID/OPERATING-SYSTEM.
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.
Chris Hanson [Mon, 19 Dec 1994 19:39:14 +0000 (19:39 +0000)]
Add OS/2 files.
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.
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.
Stephen Adams [Fri, 16 Dec 1994 20:16:41 +0000 (20:16 +0000)]
Insterted internal warning for interrupt checks with large heap allocations.
Stephen Adams [Fri, 16 Dec 1994 20:15:09 +0000 (20:15 +0000)]
*** empty log message ***
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.
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.
Stephen Adams [Thu, 15 Dec 1994 03:08:29 +0000 (03:08 +0000)]
Added build dependencies for new "base/stats" file.
Stephen Adams [Thu, 15 Dec 1994 03:07:44 +0000 (03:07 +0000)]
Exported compiler:enable-statistics? switch.
Stephen Adams [Thu, 15 Dec 1994 03:05:04 +0000 (03:05 +0000)]
Initial revision
Stephen Adams [Thu, 15 Dec 1994 03:02:45 +0000 (03:02 +0000)]
Moved compiler statistics to own file.
Stephen Adams [Thu, 15 Dec 1994 02:34:42 +0000 (02:34 +0000)]
Added compiler:enable-statistics?
Stephen Adams [Thu, 15 Dec 1994 02:32:09 +0000 (02:32 +0000)]
export compiler:enable-statistics?
Stephen Adams [Thu, 15 Dec 1994 01:41:42 +0000 (01:41 +0000)]
Added statistic.
Stephen Adams [Thu, 15 Dec 1994 01:33:01 +0000 (01:33 +0000)]
Added statistic.
Stephen Adams [Thu, 15 Dec 1994 01:28:15 +0000 (01:28 +0000)]
Fixed typo.
Stephen Adams [Wed, 14 Dec 1994 20:56:45 +0000 (20:56 +0000)]
Removed extra `)'
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.
Stephen Adams [Wed, 14 Dec 1994 20:20:16 +0000 (20:20 +0000)]
Added a few statistics.
Stephen Adams [Wed, 14 Dec 1994 20:15:18 +0000 (20:15 +0000)]
Export COMPILER:*** variables for statistics
Stephen Adams [Fri, 9 Dec 1994 03:32:03 +0000 (03:32 +0000)]
Initial revision
Stephen Adams [Fri, 9 Dec 1994 02:55:41 +0000 (02:55 +0000)]
Initial revision
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.
Stephen Adams [Tue, 6 Dec 1994 19:46:25 +0000 (19:46 +0000)]
Changed *MAXIMUM-NODE-COUNT* default to 15000
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.
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.
Stephen Adams [Tue, 6 Dec 1994 16:30:54 +0000 (16:30 +0000)]
Removed old CFG types (proced.scm & friends).
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.
Stephen Adams [Mon, 5 Dec 1994 21:34:20 +0000 (21:34 +0000)]
Added compiler:debug.
Chris Hanson [Fri, 2 Dec 1994 20:44:41 +0000 (20:44 +0000)]
Initial revision
Chris Hanson [Fri, 2 Dec 1994 20:44:01 +0000 (20:44 +0000)]
Changes for PM interface.
Chris Hanson [Fri, 2 Dec 1994 20:43:46 +0000 (20:43 +0000)]
Implement 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.
Chris Hanson [Fri, 2 Dec 1994 20:43:13 +0000 (20:43 +0000)]
Add PM interface header file.
Chris Hanson [Fri, 2 Dec 1994 20:42:55 +0000 (20:42 +0000)]
Numerous changes driven by implementation of PM interface.
Chris Hanson [Fri, 2 Dec 1994 20:41:57 +0000 (20:41 +0000)]
Add "OS2_" prefixes to exported procedure names. Implement "readahead
buffer" abstraction.
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.
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.
Stephen Adams [Fri, 2 Dec 1994 16:42:11 +0000 (16:42 +0000)]
I exported *pp-auto-highlighter*
cph did something for os2.
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.
Stephen Adams [Fri, 2 Dec 1994 03:12:18 +0000 (03:12 +0000)]
Removed old CFG datatypes and associated variables *expressions and
*procedures*
Stephen Adams [Fri, 2 Dec 1994 03:01:24 +0000 (03:01 +0000)]
Removed old CFG datatypes and associated variables *expressions and
*procedures*
Stephen Adams [Fri, 2 Dec 1994 02:17:19 +0000 (02:17 +0000)]
Removed (interrupt-check:procedure/avoid-for-this-label? label)
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.
Stephen Adams [Thu, 1 Dec 1994 20:40:11 +0000 (20:40 +0000)]
*** empty log message ***
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.
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 () '()))
Stephen Adams [Wed, 30 Nov 1994 22:19:00 +0000 (22:19 +0000)]
Extended variable print method.
Stephen Adams [Tue, 29 Nov 1994 03:24:13 +0000 (03:24 +0000)]
Initial revision
Stephen Adams [Tue, 29 Nov 1994 02:34:07 +0000 (02:34 +0000)]
Removed the cf/new etc names.
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.
Chris Hanson [Mon, 28 Nov 1994 08:11:48 +0000 (08:11 +0000)]
Fix think-o.
Chris Hanson [Mon, 28 Nov 1994 07:36:06 +0000 (07:36 +0000)]
Add OS/2 console to list of terminal-like channels.
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.
Chris Hanson [Mon, 28 Nov 1994 05:46:25 +0000 (05:46 +0000)]
*** empty log message ***
Chris Hanson [Mon, 28 Nov 1994 05:46:24 +0000 (05:46 +0000)]
Initial revision
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.
Chris Hanson [Mon, 28 Nov 1994 05:26:34 +0000 (05:26 +0000)]
Initial revision
Chris Hanson [Mon, 28 Nov 1994 05:22:58 +0000 (05:22 +0000)]
Add rule to generate OS/2 assembly language file.
Chris Hanson [Mon, 28 Nov 1994 05:21:39 +0000 (05:21 +0000)]
Tweak to last change.
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.
Chris Hanson [Mon, 28 Nov 1994 04:35:28 +0000 (04:35 +0000)]
Final update for first working version of OS/2 port.
Chris Hanson [Mon, 28 Nov 1994 04:30:16 +0000 (04:30 +0000)]
Add conditionalizations for compiling with gcc under OS/2.
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.
Chris Hanson [Mon, 28 Nov 1994 04:26:10 +0000 (04:26 +0000)]
Initial revision
Chris Hanson [Mon, 28 Nov 1994 04:15:49 +0000 (04:15 +0000)]
Add tweaks necessary to get this running under OS/2.
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.
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.
Stephen Adams [Mon, 28 Nov 1994 03:55:12 +0000 (03:55 +0000)]
Added print methods to the structures.
Chris Hanson [Mon, 28 Nov 1994 03:53:25 +0000 (03:53 +0000)]
Supply missing definition needed for no-compiled-code support case.
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.
Chris Hanson [Mon, 28 Nov 1994 03:43:02 +0000 (03:43 +0000)]
Initial revision
Chris Hanson [Sun, 27 Nov 1994 23:05:09 +0000 (23:05 +0000)]
Fix bug in previous change.
Guillermo J. Rozas [Sat, 26 Nov 1994 22:07:13 +0000 (22:07 +0000)]
Some minor changes for environment information.
Guillermo J. Rozas [Sat, 26 Nov 1994 20:00:29 +0000 (20:00 +0000)]
Added fnord
Stephen Adams [Sat, 26 Nov 1994 19:24:41 +0000 (19:24 +0000)]
Added hooks for PROFILE-COUNT.
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.
Stephen Adams [Sat, 26 Nov 1994 19:22:32 +0000 (19:22 +0000)]
Added switch COMPILER:GENERATE-PROFILING-INSTRUCTIONS?
Stephen Adams [Sat, 26 Nov 1994 19:21:03 +0000 (19:21 +0000)]
Added RTL PROFILE-COUNT and PROFILE-DATA.
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).
Stephen Adams [Sat, 26 Nov 1994 19:14:49 +0000 (19:14 +0000)]
Added fluid variable *BLOCK-PROFILES* for gathering profiling data.
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.
Stephen Adams [Sat, 26 Nov 1994 19:06:58 +0000 (19:06 +0000)]
Added code to process PROFILE-COUNT and PROFILE-DATA
Stephen Adams [Sat, 26 Nov 1994 19:06:24 +0000 (19:06 +0000)]
*** empty log message ***
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.
Stephen Adams [Sat, 26 Nov 1994 19:03:36 +0000 (19:03 +0000)]
Added methods for PROFILE-COUNT and PROFILE-DATA
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?).
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.
Guillermo J. Rozas [Sat, 26 Nov 1994 16:56:47 +0000 (16:56 +0000)]
Whitespace problem?
Guillermo J. Rozas [Sat, 26 Nov 1994 16:55:36 +0000 (16:55 +0000)]
Update to partly handle new compatibility stuff.
Guillermo J. Rozas [Sat, 26 Nov 1994 16:55:09 +0000 (16:55 +0000)]
Add compile/debug since compile drops the variable properties.
Jim Miller [Sat, 26 Nov 1994 00:24:08 +0000 (00:24 +0000)]
Calls to *make-environment now declare the correct number of
arguments, rather than let rtlgen compute it.
This is necessary because some may be passed on the stack,
not easily visible to rtlgen.