The very last break happened as it was calling jit_new_state()
again,
so I suppose the memory address that was being watched was being
reused
and I stopped the debugging session there.
Please just do call jit_print() after finishing split_branches, for
example:
Breakpoint 1, _split_branches (_jit=0x10111270) at lightning.c:2713
2713 for (node = _jitc->head; node; node = next) {
(gdb) call _jit_print(_jit)
L0: /* prolog */
#name
#note 395
...
and let me know the output. The likely explanation for it not being
set,
assuming lightning code is not modified, is that there is some extra
code changing the value of r26 after it is used as a temporary.
Something
like in the range from "L2:" to the "stxi_i 0x3e7c r29 r26" below,
there is
some instruction that changes r26, and causes it to assume it is dead
in
that range, and usable as a temporary.