On 29/03/2016 00:12, Richard Henderson wrote: >> There is also a case where a TB jumps to itself; it then appears twice >> in the list with different values in the low bits, such as this: >> >> tb->jmp_list_first = tb | 0; >> .--------------------' | >> | .-------' >> tb->jmp_list_next[0] = tb | 2; > > Of course, it begs the question of why TB would be in its own list, even > if it does jump to itself. We only need the points-to list in order to > invalidate a TB and unlink it. But if TB is being invalidated, we don't > need to reset the jump within TB itself.
Isn't it just because TB acts as the list head in the circular list? Or am I misunderstanding you? Paolo