From 47ffa626f37d8b1eb165fdadbcb3b835f7d8f4e7 Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Sun, 10 Feb 2019 04:26:40 +0000 Subject: [PATCH] Add GENERAL-CAR-CDR to usual integrations. The compiler explicitly calls this for every RTL accessor, so that would explain why this primitive was turning up hot. Should speed up the compiler a little to avoid diving into microcoded primitives for every attempt to get a piece out of an RTL expression during the RTL passes! --- src/sf/gconst.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sf/gconst.scm b/src/sf/gconst.scm index af2301a1b..9a2fbe7e6 100644 --- a/src/sf/gconst.scm +++ b/src/sf/gconst.scm @@ -163,6 +163,7 @@ USA. (flo:vector-ref floating-vector-ref) (flo:vector-set! floating-vector-set!) (flo:zero? flonum-zero?) + (general-car-cdr general-car-cdr) (get-fixed-objects-vector get-fixed-objects-vector) (get-interrupt-enables get-interrupt-enables) (hunk3-cons hunk3-cons) -- 2.25.1