That appears to be the case in elisp bytecode. What I'm trying to compare is how the GCC JIT deals with it. This simple test case I've taken out of powerline doesn't seem to produce different results between elisp and nativecomp tho, so the problem may have to do with how circular lists interact with something else, and how the JIT chooses to optimize it. I'm just trying to chase down these recurring issues that seem to emanate from circular lists.

Jimmy


On Wed, Jul 28, 2021 at 2:15 AM Michael Heerdegen <michael_heerdegen@web.de> wrote:
Jimmy Yuen Ho Wong <wyuenho@gmail.com> writes:

> (defun test-circular-list ()
>   (let ((l (list 1 2 3)))
>     (setcdr (last l) l)
>     l))

Does compiling that involve circular lists?  The compiler doesn't call
the function, and there is no circular structure in that code...right?

Michael.