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

Reply via email to