This is a set of cleanup patches which avoid passing CPUARMState
around the decoder unnecessarily, since we were pretty much only
using it to check feature bits, which we now also have in the
DisasContext structure.

We still pass CPUARMState into disas_thumb_insn() and disas_thumb2_insn()
purely so they can read the instruction with arm_lduw_code(). I couldn't
think of a good way to approach this since you basically don't know
if you're going to need to load the second halfword until a long way
into the decode. Still, keeping the env pointer out of all the ARM,
VFP and Neon decode seems like a good first step.


Peter Maydell (5):
  target-arm/translate.c: Use arm_dc_feature() in ENABLE_ARCH_ macros
  target-arm/translate.c: Use arm_dc_feature() rather than arm_feature()
  target-arm/translate.c: Don't use IS_M()
  target-arm/translate.c: Don't pass CPUARMState around in the decoder
  target-arm/translate.c: Don't pass CPUARMState * to disas_arm_insn()

 target-arm/translate.c | 280 +++++++++++++++++++++++++++----------------------
 1 file changed, 154 insertions(+), 126 deletions(-)

-- 
1.9.1


Reply via email to