74 |
(c1constant-value (cons 'si:|#,| arg) t)) |
(c1constant-value (cons 'si:|#,| arg) t)) |
75 |
|
|
76 |
(defun wrap-literals (form) |
(defun wrap-literals (form) |
77 |
(cond ((consp form) |
(cond ((and (consp form) (eq (car form) 'quote)) |
78 |
(if (eq (car form) 'quote ) |
(let ((x (cadr form))) |
79 |
`(load-time-value (si::nani ,(si::address (cadr form)))) |
(if (and (symbolp x) |
80 |
(cons (wrap-literals (car form)) (wrap-literals (cdr form))))) |
(eq :external (cadr (multiple-value-list (find-symbol (symbol-name x) 'lisp))))) |
81 |
((or (symbolp form) (integerp form)) |
form |
82 |
|
`(load-time-value (si::nani ,(si::address x)))))) |
83 |
|
((consp form) |
84 |
|
(cons (wrap-literals (car form)) (wrap-literals (cdr form)))) |
85 |
|
((or (symbolp form) (numberp form) (characterp form)) |
86 |
form) |
form) |
87 |
(t |
(`(load-time-value (si::nani ,(si::address form)))))) |
88 |
`(load-time-value (si::nani ,(si::address form)))))) |
|
89 |
|
|
90 |
(defun c1load-time-value (arg) |
(defun c1load-time-value (arg) |
91 |
(c1constant-value |
(c1constant-value |