master: Improve reporting of NOTINLINE full calls in make-host-2.lisp

melisgl via Sbcl-commits <[email protected]> Sat, 30 May 2026 10:18:04 +0000
Newsgroups gmane.lisp.steel-bank.cvs
Message-ID <[email protected]>
The branch "master" has been updated in SBCL:
       via  e1c2bc15e2661b851c67330d2d0815dbea6dead2 (commit)
      from  48063e41707f0965f57b2c124312376be9b12096 (commit)

- Log -----------------------------------------------------------------
commit e1c2bc15e2661b851c67330d2d0815dbea6dead2
Author: Gabor Melis <[email protected]>
Date:   Wed May 27 14:24:37 2026 +0200

    Improve reporting of NOTINLINE full calls in make-host-2.lisp
    
    Previously, make-host-2.lisp reported full calls of inline functions
    even if all full calls were NOTINLINE. This was because the diagnostic
    loop failed to check the 0th bit of the EMITTED-FULL-CALLS cell (via
    ODDP), which PONDER-FULL-CALL specifically uses to track whether any
    of the calls lacked a NOTINLINE declaration.
    
    Background: When accommodating compilation dependencies in other
    ways (such as changing the build order) is too difficult, NOTINLINE is
    used to avoid the compilation failures that a full call to a function
    that's later inlined would cause.
    
    With this change, there are no "Likely suspicious" calls reported on
    the default x86-64 build.
---
 make-host-2.lisp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/make-host-2.lisp b/make-host-2.lisp
index 84d3d1460..77931b21e 100644
--- a/make-host-2.lisp
+++ b/make-host-2.lisp
@@ -98,6 +98,12 @@
               (source-xform (sb-int:info :function :source-transform name))
               (info (sb-int:info :function :info name)))
          (when (and cell
+                    ;; Do not report if all calls were expressly
+                    ;; NOTINLINE. If CELL is odd (i.e. there were full
+                    ;; calls without NOTINLINE), then the number of
+                    ;; full calls reported includes those expressly
+                    ;; NOTINLINE. See SB-C::EMITTED-FULL-CALL-COUNT.
+                    (oddp cell)
                     (or inlinep
                         source-xform
                         (and info (sb-c::fun-info-templates info))

-----------------------------------------------------------------------


hooks/post-receive
-- 
SBCL