~ chicken-core (master) e0f11ad9e6c74a7ec49913df3d38cb4815f76c9a
commit e0f11ad9e6c74a7ec49913df3d38cb4815f76c9a
Author: Felix Winkelmann <felix.winkelmann@bevuta.com>
AuthorDate: Tue Nov 4 18:33:29 2025 +0100
Commit: Felix Winkelmann <felix.winkelmann@bevuta.com>
CommitDate: Tue Nov 4 18:33:29 2025 +0100
use inline C call of C_i_exact_integerp to avoid bootstrapping issue
diff --git a/support.scm b/support.scm
index 31e434cb..2f55d02f 100644
--- a/support.scm
+++ b/support.scm
@@ -1601,7 +1601,7 @@
(define (fits? n)
(fx<= (integer-length n) 24))
(cond ((immediate? lit))
- ((exact-integer? lit)
+ ((##core#inline "C_i_exact_integerp" lit)
;; Could use integer-length, but that's trickier (minus
;; symbol etc). If the string is too large to allocate,
;; we'll also get an exception!
Trap