Integrate NULL-LIST?.
authorTaylor R Campbell <campbell@mumble.net>
Sun, 10 Feb 2019 04:32:05 +0000 (04:32 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Sun, 10 Feb 2019 04:32:05 +0000 (04:32 +0000)
This is used all over common SRFI 1 list operations, so what should
have been a pair of conditional branches turned into unknown
procedure calls, sometimes through a trampoline to fill in default
arguments, which turned up in profiling the compiler.

src/runtime/list.scm
src/runtime/srfi-1.scm

index 36bc8b0b6f67ede4713fd966b83f9877c1f84be0..311d53bb11a34039eafa7d9cedff1df2d72a01f9 100644 (file)
@@ -282,6 +282,7 @@ USA.
 (define (not-pair? x)
   (not (pair? x)))
 
+(declare (integrate-operator null-list?))
 (define (null-list? l #!optional caller)
   (cond ((pair? l) #f)
        ((null? l) #t)
index 2062f39f7fd4114cdd5835b4e83889b401399844..41be902ed15e9f6c680cc6aab57897b7351f34cc 100644 (file)
@@ -36,6 +36,7 @@ USA.
 ;;;; SRFI-1 list-processing library
 
 (declare (usual-integrations))
+(declare (integrate-external "list"))
 \f
 ;;; [Olin's original notes]