Fix a test for :interpreter

This commit is contained in:
Stas Boukarev 2026-07-30 01:02:18 +03:00
parent a56065fe38
commit ff3913b277

View file

@ -197,24 +197,26 @@
standard-char)
p1))))
(defun good-example (x y)
(declare (fixnum x))
(let ((bits (logand x 7)))
(case bits
(0 (print 'foo))
(1 (cons 'a y))
(2 (cons y 'zook))
(3 "hi"))))
(defun failing-example (x y)
(declare (fixnum x))
(let ((bits (logand x 3)))
(case bits
(0 (print 'foo))
(1 (cons 'a y))
(2 (cons y 'zook))
(3 "hi"))))
(with-test (:name :should-use-jump-table)
(assert (= (sb-kernel:code-jump-table-words (sb-kernel:fun-code-header #'good-example)) 5))
(assert (= (sb-kernel:code-jump-table-words (sb-kernel:fun-code-header #'failing-example)) 5)))
(assert (= (sb-kernel:code-jump-table-words
(sb-kernel:fun-code-header
(checked-compile `(lambda (x y)
(declare (fixnum x))
(let ((bits (logand x 7)))
(case bits
(0 (print 'foo))
(1 (cons 'a y))
(2 (cons y 'zook))
(3 "hi")))))))
5))
(assert (= (sb-kernel:code-jump-table-words
(sb-kernel:fun-code-header
(checked-compile `(lambda (x y)
(declare (fixnum x))
(let ((bits (logand x 3)))
(case bits
(0 (print 'foo))
(1 (cons 'a y))
(2 (cons y 'zook))
(3 "hi")))))))
5)))