mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
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.
This commit is contained in:
parent
48063e4170
commit
e1c2bc15e2
|
|
@ -98,6 +98,12 @@
|
||||||
(source-xform (sb-int:info :function :source-transform name))
|
(source-xform (sb-int:info :function :source-transform name))
|
||||||
(info (sb-int:info :function :info name)))
|
(info (sb-int:info :function :info name)))
|
||||||
(when (and cell
|
(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
|
(or inlinep
|
||||||
source-xform
|
source-xform
|
||||||
(and info (sb-c::fun-info-templates info))
|
(and info (sb-c::fun-info-templates info))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue