Commit graph

20 commits

Author SHA1 Message Date
Gabor Melis 92d060d082 Housekeeping: whitespace, typos, comments, credits 2026-05-30 10:57:36 +02:00
Stas Boukarev 723602dd7b Simplify lvar-fun-type 2023-07-19 15:45:28 +03:00
Charles Zhang 75f026302c join-type-constraints: Handle more constraint kinds and NOT-P.
* Handle <, >, and = constraints.
* Handle complemented type constraints. The FIXME about infinite
regress was wrong; that was from before I figured out the infinite
regress came from the nasty interaction of optimistic EQL propagation
yielding partial (incorrect) types and type joining, which needs
correct types always, not just at the fixpoint.

Most of this patch was written by Jan Moringen. I just debugged some
cross-float stuff and added a slew of tests showing off the tighter
type propagation.

Also I fixed a weird test where the additional type smarts causes the
compiler to complain in compiler-2.impure-cload.lisp. Fix the values
to no longer cause a type error. Does the interaction between the
function type inference and the change in the FDEFINITION make sense
in that situation?
2022-03-30 14:33:17 -07:00
Douglas Katzman 5f2f0de0d8 Rename eval-store-source-form to store-source-form
and make it store forms for COMPILE-FILE if the value is 3,
in contrast to COMPILE which stores forms when nonzero.
Possibly a solution to lp#560977.
2018-09-29 22:29:08 -04:00
Stas Boukarev 6273db5991 Allow non-top-level DEFINE-CONDITION.
Don't attempt to dump uninitialized layouts.

Fixes lp#1368764
2018-09-29 18:23:23 +03:00
Stas Boukarev f2555eeed8 Perform better code deletion.
Run FLUSH-DEAD-CODE after doing the last FIND-DFO. The blocks deleted
by FIND-DFO may have made some nodes unused. This especially matters
for deleting CASTs, since ir2-convert chokes on unused casts.
2017-12-07 22:50:28 +03:00
Douglas Katzman 8781261e4e Two definition-source-location fixes.
- Loading from .lisp failed to record toplevel-form-numbers
- Compiler was overly aggresive when coalescing
2015-05-31 11:44:17 -04:00
Douglas Katzman 15a685bffe Fix style-warning 2015-05-11 11:51:04 -04:00
Douglas Katzman dc449b071f Move COMPILE-FILE-POSITION tests to their own file. 2015-05-11 11:43:45 -04:00
Douglas Katzman fff145335f By popular demand, rename COMPILE-FILE-POSITION to -LINE
and make COMPILE-FILE-POSITION return character position.
2015-04-21 21:32:41 -04:00
Douglas Katzman 88b273a5e0 Allow COMPILE-FILE-POSITION in more situations
A way to understand the new logic is that supposing (hypothetically) that
COMPILE-FILE-POSITION were a function, not a macro, then previously it was
acceptable only where the call to it would occur at runtime and not sooner.
This patch makes it ok to use at read-time and/or compile-time.
Of course since it is a macro, the call always occurs in the compiler,
so the preceding is just a model for explaining the behavioral change.
2015-04-19 22:29:35 -04:00
Douglas Katzman 399c6f8dee Make FORM-TRACKING-STREAM inherit from FD-STREAM 2015-04-17 13:41:34 -04:00
Douglas Katzman 57e6d3c9e0 Don't want two different versions of FOO in one compiled test file. 2015-04-17 13:24:20 -04:00
Douglas Katzman e68fa89d59 Reader enhancement from sbcl-devel (Nov. 2014) with better interface.
The primary use-case for this presently is to print line numbers
in log messages from user code, so there is one exported macro
named COMPILE-FILE-POSITION to do that. Future work includes
dumping a new artifact allowing annotation of backtraces by line#.

There is no switch to toggle collection of the data at read-time.
The slowdown in COMPILE-FILE is typically less than 3%, and
there is no impact on COMPILE (which can't report line numbers).
2015-04-11 00:07:18 -04:00
Douglas Katzman cd31acb13e Fix fop stack underflow bug 2015-03-02 00:14:31 -05:00
Stas Boukarev 4e4d7e4108 Replace (assert (raises-error? ...)) with assert-error. 2014-05-29 18:15:34 +04:00
Douglas Katzman 98d39c09c3 DEFCONSTANT should remove a symbol-macro expansion 2014-05-06 19:57:30 -04:00
Christophe Rhodes e0a4fab158 1.0.7.9: DEFAULT-UNKNOWN-VALUES for more than 7 args on x86-64
Convinced myself that my patch was right, and that JMP-SHORT was
	an artifact of the previous calling convention.  Delete
	the JMP-SHORT pseudo-instruction forthwith.
2007-07-02 16:58:20 +00:00
Juho Snellman 1a3ccb8ce2 1.0.3.7: Compile XEPs using the policy from the correct environment
* Didn't matter before the fop-compiler function handling changes.
2007-03-02 01:33:13 +00:00
Nikodemus Siivola a4882e3023 0.9.13.36: global policy / null-lexenv confusion fix
* Do not store the global policy in null-lexenv, but include
    it in subsequent lexenvs. Fixes visibility of global policy
    in LOCALLY and MACROLET.
  * Also actually enable the SB-LDB in default build instead of
    just providing the framework to make this a good idea.
    (Accidentally left out from from 0.9.13.33)
2006-06-09 20:59:44 +00:00