Skip to content
Snippets Groups Projects
Commit 321b7e52 authored by ram's avatar ram
Browse files

Allow any kind of constants in the interpreter. Also, put back the

test for :NOTINLINE when deciding whether to enter in *FREE-FUNCTIONS*.
parent cfa10987
No related branches found
No related tags found
No related merge requests found
......@@ -1595,11 +1595,12 @@
;;; Reference-Constant -- Internal
;;;
;;; Generate a reference to a manifest constant, creating a new leaf if
;;; necessary.
;;; necessary. We disallow odd type constants, except in the interpreter.
;;;
(defun reference-constant (start cont value)
(declare (type continuation start cont))
(unless (typep value '(or list number array symbol character structure))
(unless (or *converting-for-interpreter*
(typep value '(or list number array symbol character structure)))
(compiler-error "~S constants not supported." (type-of value)))
(let* ((leaf (find-constant value))
(res (make-ref (leaf-type leaf) leaf nil)))
......@@ -3060,6 +3061,7 @@
(info (info function info name)))
(setf (leaf-name fun) name)
(cond ((and (in-null-environment t)
(not (eq (info function inlinep name) :notinline))
(or (not info)
(and (null (function-info-transforms info))
(null (function-info-templates info))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment