- (if read-only-p
- `(%load-time-value ',handle)
- `(value-cell-ref (%load-time-value ',handle)))))
- (ir1-convert start next result `(truly-the ,type ,value-form))))
- (let ((value
- (handler-case (eval form)
- (error (condition)
- (compiler-error "(during EVAL of LOAD-TIME-VALUE)~%~A"
- condition)))))
- (ir1-convert start next result
- (if read-only-p
- `',value
- `(truly-the ,(ctype-of value)
- (value-cell-ref
- ',(make-value-cell value)))))))))
+ (if read-only-p
+ `(%load-time-value ',handle)
+ `(value-cell-ref (%load-time-value ',handle)))))
+ (the-in-policy type value-form '((type-check . 0))
+ start next result)))
+ (let* ((value
+ (handler-case (eval form)
+ (error (condition)
+ (compiler-error "(during EVAL of LOAD-TIME-VALUE)~%~A"
+ condition)))))
+ (if read-only-p
+ (ir1-convert start next result `',value nil)
+ (the-in-policy (ctype-of value) `(value-cell-ref ,(make-value-cell value))
+ '((type-check . 0))
+ start next result))))))