Methods inserted at the end of a synchronized {} block also need to
be outside of the implicit try{} block. Make sure the next
instruction is the virtual end label for the try block, and put
the inserted method after the label.
Bug: 64301866
Test: locked_region_code_injection test
Test: m -j checkbuild
Change-Id: I6626aa45580b4df692e02fc6127a2947a6075e2e
This tool is a replacement for the Jack plugin that allows injection
of static method calls before lock enter and exit.
A common use case would be to boost a thread's priority as soon as
it acquires a heavily contented lock and resetting the priority upon
release.
This tool is meant to be optionally invoked from /build/core/ rules
during the build process.
Test: JUnit Tests / resulting image on a bullhead.
Change-Id: If400414a0bf50f03768a1de2ebee42086a9d701f
Merged-In: If400414a0bf50f03768a1de2ebee42086a9d701f
(cherry picked from commit 93db63059ad5e9e1d59c8ce013559069d566ef4c)