On 07/14/2017 09:56 PM, Lluís Vilanova wrote:
Another possibility is is_jmp = DISAS_TOO_MANY, and exit the translation loop
after the breakpoint check only for is_jmp > DISAS_TOO_MANY. That allows all of
the DISAS_TARGET_N values to exit as well.
After a quick check, I see that arm uses both (DISAS_NORETURN and
DISAS_TARGET_N) to exit in different points after the breakpoint. Moxie, mips
and unicore32 use use DISAS_NORETURN, and the rest use DISAS_TARGET_N.
Of course, because those targets have not yet been ported to this generic
infrastructure. I'm saying that we *define* the semantics of the hook to use
DISAS_TOO_MANY to translate one more insn. That said, ARM is the *only* target
that will use this feature. All others will only use NORETURN.
This isn't really any different than the enumerator you were using previously.
Anyway, you can see my thoughts on this in the v14 series I posted last night.
r~