On 7/8/21 9:11 AM, Peter Maydell wrote:
Why isn't it enough here just to set is_jmp to DISAS_NEXT ?
You mean DISAS_TOO_MANY? That would work, yes.
At the time I was just thinking of replacing one jump with another.
You've implicitly answered my question, which is that the main
translator loop code treats DISAS_NEXT as "keep adding insns to
the TB" :-)
It feels slightly like misuse to use DISAS_TOO_MANY, unless we
renamed it to something like DISAS_END_TB (which is what it's
actually doing).
Yeah, better naming would have been a good. In this instance I think I chose an odd
colour for the bike shed.
The problem with just DISAS_END_TB is that there are many ways to end a tb, with at least:
(1) goto_tb next, (2) goto_ptr next, (3) exit_tb. We wind up replicating these three
across many of the targets, so it would be a really nice cleanup to standardize, and with
good names.
r~