Skip to content
Snippets Groups Projects
Commit 82e3ca56 authored by ram's avatar ram
Browse files

Changes to handling of inline expansion/inlinep information.

LEXENV-INLINES is gone.  Instead, :NOTINLINE references are changed
to refer to :NOTINLINE DEFINED-FUNCTION leafs.  The previous use
in e.g. locall where we set LEAF-INLINEP to NIL to inhibit further
optimization in the case of an error is now handed by the :ERROR
combination-kind.
Moved *failed-optimizations* to COMPONENT-FAILED-OPTIMIZATIONS.  Added
COMPONENT-INLINE-EXPANSIONS which stops infinite (or very frequent) inline
expansions.
Added :COMPLEX-TOP-LEVEL functional kind used to represent components
with mixed top-level and run-time code.
The DEFINED-FUNCTION leaf stores information about functions where we 
either know the actual definition, inline expansion, or have a non-default
inlinep.  This allows us to clean up the semantics of block compilation
and inline expansion a bit, since we can keep track of both the GLOBAL-VAR
and FUNCTIONAL versions of a function.
parent bcc11492
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment