Description
See @code_native println()
[EDIT: What I meant to write instead of here originally "See @code_lowered println()
"]
It's not hugely worrying (there), but I'm thinking if it might be a more wide-spread problem. This is with and without my latest merged PR for print[ln].
It's not a problem in 1.11-beta1 but is in 1.11.0-beta2 and later (in anyone wants to bisect). And -O3 does not help. #53750 is the claimed cause i.e. since beta1 #54112, see comment and closing below).
See:
julia> @code_lowered println()
CodeInfo(
1 ─ %1 = Base.println
│ %2 = Base.stdout
│ %3 = Core.tuple(%2)
│ %4 = Core._apply_iterate(Base.iterate, %1, %3, xs)
└── return %4
)
might it relate to (slightly different, equivalent?!):
julia> @code_lowered println()
CodeInfo(
1 ─ %1 = Base.println
│ %2 = Core.tuple(Base.stdout)
│ %3 = Core._apply_iterate(Base.iterate, %1, %2, xs)
└── return %3
How would I figure out the cause (other than bisecting (not-to speed on that)?
My guess is a check for null pointers (at least for Strings, but they should never be NULL, while other pointers could be). Could it relate to new Memory type, and then all Vector[-like] and arrays?