Stephen Adams [Thu, 27 Jul 1995 14:28:21 +0000 (14:28 +0000)]
Changed RTLGEN/EMIT-ALTERNATIVES to keep all preservation info because
a CFG node internal to the predicate may be the dominator of either
the consequent or alternate.
Stephen Adams [Wed, 26 Jul 1995 19:08:48 +0000 (19:08 +0000)]
Merged OS2 changes and new compiler changes.
OS2 changes tag external entry points with a calling convention (the C
compiler supports several).
New compiler changes:
Fixed continuation bug on i386. An incorrect continuation was being
left as garbage on the stack, where the i386 expected #f if the value
was expected to be discarded.
coerce_to_compiled now understands arity dispatched entities. There
are now several places where procedures are turned into trampolines.
These ought to be rationalized.
Fixed incorrect arity in coerce_to_compiled.
Fixed but with failure cases when applying a compiled procedure from
PRIMITIVE_APPLY from a compiled context.
These type-in (i.e. interpreted) test cases now all give correct and
parsable error stack frames:
. The original bug case (...->primitive APPLY->apply_compiled_from_primitive)
Stephen Adams [Wed, 26 Jul 1995 18:41:54 +0000 (18:41 +0000)]
New version for new compiler. Many changes due to new register
calling convention and preservation.
95/06/28
Fixed fixnum_lsh to compute correct values for negative shifts.
95/03/28
Fixed off-by-1 error at end of ADDIB chain at new_interrupt_common.
94/12/13
Tidied up generic arithmetic some more. Flonum allocation is now
`open-coded', trimming a few cycles of the operation.
Re-arranged the builtin table as some things had moved position.
94/12/12
. fixed generic multiply to do fixnum*fixnum case (it was calling the
handler procedure, reducing performance by a factor of 7).
. fixed generic multiply to return exact 0 when multiplying a flonum
by exact 0.
. tidied other generic operations
Stephen Adams [Fri, 21 Jul 1995 14:28:53 +0000 (14:28 +0000)]
Lots of changes, mainly:
. Extending the language of paths to include primitives.
. Fixing the offsets for parameters
. Introducing sharing of the path expression elements
. Generating vector based paths rather than lists.
Stephen Adams [Mon, 17 Jul 1995 20:10:43 +0000 (20:10 +0000)]
Implemented new version of the uncompressor. In addition to being
faster, this version avoids the use of FLUID-LETting global bindings
and a consequent re-entrancy bug.
Stephen Adams [Fri, 14 Jul 1995 01:00:34 +0000 (01:00 +0000)]
Blew away old dbg info generation. Added code to `link' variable
access paths that have elements thata re labels or constants in the
compiled code block.
Stephen Adams [Wed, 12 Jul 1995 19:43:43 +0000 (19:43 +0000)]
Added `unspecific' to the end of the file so that it may be loaded
into an interpreted runtime band without causing an error from the
reference trap that was returned ast the value of the last expression.
Stephen Adams [Wed, 12 Jul 1995 14:22:40 +0000 (14:22 +0000)]
During output of constructor and loader source files, fluid-let
*UNPARSER-LIST-BREADTH-LIMIT* and *UNPARSER-LIST-DEPTH-LIMIT* to #F to
avoid illegal triuncated source code.
Chris Hanson [Tue, 11 Jul 1995 23:10:49 +0000 (23:10 +0000)]
New implementation of OS/TRIM-PATHNAME-STRING takes second argument
(prefix to trim off) and tests to see if the prefix should be removed
or retained. This changes behavior in some unusual cases, but allows
the \\foo\bar notation to be used on DOS/OS2/NT.
Stephen Adams [Mon, 10 Jul 1995 21:15:01 +0000 (21:15 +0000)]
Added a few colons to error messages because I spent five minutes
trying to understand a message that with the particular irritants
happened to mean meant something different without the colon.
Chris Hanson [Fri, 7 Jul 1995 06:37:24 +0000 (06:37 +0000)]
Change FILE-TIME->STRING to use a full year rather than just the last
two digits. RFC 822 specifies just two digits, but this has been
superseded by a later RFC.
Stephen Adams [Thu, 6 Jul 1995 21:48:58 +0000 (21:48 +0000)]
Removed constraint on hook contiuations. The code produced is pretty
horrible but it works. When this happends and COMPILER:GURU? is #T a
warning is issued.
Stephen Adams [Thu, 6 Jul 1995 19:54:08 +0000 (19:54 +0000)]
. Changed the declaration code so that it treats IN-PACKAGE as a new
top level scope for the purpose of processing declarations.
. Added a comment to explain the above.
. Removed some dead code.
Stephen Adams [Tue, 4 Jul 1995 18:15:58 +0000 (18:15 +0000)]
Implemented the COMPILE-BOOLEAN-PROPERTY procedure to check the syntax
of an IGNORE-REFERENCE-TRAPS or IGNORE-ASSIGNMENT-TRAPS declaration
specification and compile it into a predicate.
Stephen Adams [Tue, 4 Jul 1995 18:13:17 +0000 (18:13 +0000)]
Changed the IGNORE-[REFERENCE/ASSIGNMENT]-TRAPS declarations to use an
auxillary COMPILE-BOOLEAN-PROPERTY procedure to check the syntax of
the specification and compile it into a predicate. This keep
knowledge of the syntax of the specification all in one place.
Added code to update FIRST-CLASS NEW-DBG-BLOCKs with the name of the
variable bound to the reified enviroment for use later in DBG info
reconstruction.