Ignore:
Timestamp:
04/16/10 13:41:21 (14 years ago)
Author:
Mark Evenson
Message:

Use interpreted form in a FASL if compliation fails.

INTERNAL-COMPILER-ERROR now signals that the form being compiled
should be written to the init FASL to be interpreted rather than being
the object of a SYSTEm:PROXY-PRELOADED-FUNCTION. A further
optimization of this strategy would be to actually not include the
failed compilation unit in the packed FASL.

This patches behavior for stack inconsistencies such as present in
ticket #89.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

    r12581 r12620  
    13431343        (unless (= (the fixnum instruction-depth) (the fixnum (+ depth instruction-stack)))
    13441344          (format t "~&Stack inconsistency at index ~D: found ~S, expected ~S.~%"
    1345                    i instruction-depth (+ depth instruction-stack)))
     1345                   i instruction-depth (+ depth instruction-stack))
     1346          (internal-compiler-error "Stack inconsistency detected in ~A."
     1347                                   (compiland-name *current-compiland*)))
    13461348        (return-from walk-code))
    13471349      (let ((opcode (instruction-opcode instruction)))
Note: See TracChangeset for help on using the changeset viewer.