Changeset 15583


Ignore:
Timestamp:
05/23/22 06:23:42 (9 months ago)
Author:
Mark Evenson
Message:

Emit compiler diagnostics when falling back to interpreted form

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/compile-file.lisp

    r15582 r15583  
    881881                    (when (eq form in)
    882882                      (return))
    883                     (if (>= (length (format nil "~a" form)) 65536)
    884                         ;; Following the solution propose here:
    885                         ;; see https://github.com/armedbear/abcl/issues/246#issuecomment-698854437
    886                         ;; just include the offending interpreted form in the loader
    887                         ;; using it instead of the compiled representation
    888                         (write (ext:macroexpand-all form *compile-file-environment*)
    889                                :stream out)
    890                         (process-toplevel-form form out nil))
    891                     )))
     883                    (cond
     884                      ((>= (length (format nil "~a" form)) 65536)
     885                       ;; Following the solution propose here:
     886                       ;; see https://github.com/armedbear/abcl/issues/246#issuecomment-698854437
     887                       ;; just include the offending interpreted form in the loader
     888                       ;; using it instead of the compiled representation
     889                       (diag "Falling back to interpreted version of top-level form longer ~
     890                              than 65535 bytes")
     891                       (write (ext:macroexpand-all form *compile-file-environment*)
     892                              :stream out))
     893                      (t
     894                       (process-toplevel-form form out nil))))))
    892895              (finalize-fasl-output)
    893896              (dolist (name *fbound-names*)
Note: See TracChangeset for help on using the changeset viewer.