samcv that's a long link 00:20
nine 2 answers to my question from yesterday so far: we can't annotate the last instruction of the inlinee before merging because #1 we need it's index in the inlines table and more importantly #2 the last instruction can and probably will change as we replace the return statement by a set and goto 08:48
But maybe we still can. We could also move the end annotation when replacing the last instruction. 08:54
A nicer way would be to do all the rewriting before the merging. But I don't know yet if that's even possible or if the rewriting needs information that's available only after the merge. Have to read more code... 09:00
Or maybe it's much, much simpler. merge_graph does know exactly the last basic block of the inlinee. We don't change the list of basic blocks of the inlinee. We only change instructions. So the information stays correct. 09:15
nine Oooh...disabling eliminate_pointless_gotos improves things a lot. So that's where the MVM_SPESH_ANN_INLINE_END annotation goes missing 11:25
timotimo sounds like it needs to consider some more gotos "not pointless" :) 15:33
jnthn Well, or to move the annotation better :) 15:57