arm/nterp: Refactor {i,s}{get,put} operations.
Move the fast-path code to instruction handlers and use
`add_helper` for slow paths. Do a few small improvements for
code reuse and instruction scheduling.
Remove unnecessary `dmb ish` instructions. We do not need
the barrier before a volatile load and the arm32 Optimizing
code generator does not emit such barrier either. And the
iget-wide opcode also had an odd barrier after setting vregs.
Also move the code for check-cast, instance-of and
new-instance to instruction handlers with no changes
other than indentation.
Also update some labels and a comment in arm64 nterp to
align with the arm changes.
Test: testrunner.py --target --32 --interpreter --optimizing
Bug: 112676029
Change-Id: I4133b3d362e1c9610558cba76f067d8923234c62
5 files changed