Support high registries in ArrayEntryHook.

Previous implementation was failing when scratch registries
were high, because new array instruction requires low registries
as params. This new implementation instead of allocating new
registries simply reuses available ones if there are enough of them.
If a menthod doesn't have enough registries, we increase registry
count, perform entry hook and then shift parameters to original
registries.

Test: AppInspectionTest in ag/10983351 and mi.array_entry_hook
bug: 153006865
Change-Id: I2ec18d479b83e96a6f15b7e93b1a3814e8c8e7e7
2 files changed
tree: fd7ae37e7f04d875b68c2488ef306ce043c7a55a
  1. dexter/
  2. slicer/
  3. testdata/
  4. .clang-format
  5. Android.bp
  6. OWNERS
  7. README.md
  8. TEST_MAPPING
README.md

This is the home of the .dex manipulation library (slicer) and command line tool (dexter).

Both the command line tool and the library can be built for host and device targets.

To build dexter:

$ m dexter

To test dexter:

# in tools/dexter (and assuming a Linux host)
$ python dexter/dexter_tests.py -cmd ../../out/host/linux-x86/bin/dexter -root testdata