aaf0d38d9e3bd35aaf5ea2be6409bf2f3575f0ad |
|
27-Nov-2017 |
Andreas Gampe <agampe@google.com> |
ART: Change lock dumping Return dex registers as well as dex PCs from FindLocksAtDexPc. It is necessary to return the registers as the register used for a monitor-enter operation may be aliased and overwritten by the time the requested dex PC is reached. It is at this point necessary to return a set of registers as optimizations may have eliminated dead registers, and the verifier has no notion of liveness. A client of FindLocksAtDexPc should not assume that all registers can be successfully retrieved from a stack frame, with the possibility of none. Only a properly verified method (i.e., lock verification succeeded) implies that at least one register should work for all locks held at any point in the program. Bug: 68703210 Test: art/test/testrunner/testrunner.py -b --host -t 167 Change-Id: I9027787e395cf8df0e7699a606665edb2ecb5136
|