|
From: | Richard Henderson |
Subject: | Re: [PATCH v2 05/28] target/arm: Use gen_jmp for ISB and SB |
Date: | Thu, 8 Jul 2021 09:17:34 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
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~
[Prev in Thread] | Current Thread | [Next in Thread] |