Ignore:
Timestamp:
Oct 7, 2015, 4:33:17 AM (6 years ago)
Author:
gb
Message:

handle LOAD-TIME-VALUE differently.
In the COMPILE (EVAL) case, wrap the literal (immediate) in new acode.
make ACODE-CONSTANT-P recognize the COMPILE-FILE case, and return NIl,NIL
Fixes ticket:1317 in the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/acode-rewrite.lisp

    r16571 r16611  
    563563
    564564
     565(def-acode-rewrite acode-rewrite-load-time-value (load-time-value) asserted-type (val)
     566  (rewrite-acode-form val))
     567
    565568(def-acode-rewrite acode-rewrite-cxr (%car %cdr car cdr) asserted-type (&whole w cell)
    566569  (rewrite-acode-form cell)
    567570  (multiple-value-bind (val constantp) (acode-constant-p cell)
    568     (when (and constantp (typep val 'list) (not (and *load-time-eval-token* (eq (car val) *load-time-eval-token*))))
     571    (when (and constantp (typep val 'list) )
    569572      (let* ((op (acode-operator w)))
    570573        (acode-rewrite-as-constant-ref w (if (or (eql op (%nx1-operator car))
Note: See TracChangeset for help on using the changeset viewer.