OSDN Git Service

JDWP: fix setting multiple breakpoints in the same method
authorSebastien Hertz <shertz@google.com>
Wed, 17 Dec 2014 15:35:50 +0000 (16:35 +0100)
committerSebastien Hertz <shertz@google.com>
Wed, 17 Dec 2014 20:32:23 +0000 (21:32 +0100)
commit2f5c202624f733d97fecdd4e31915199e0c77707
tree3f3baca3f32ea395d299b24d4c312464da095e94
parent746083126bb04ade001eb9d9b3aeea364633567f
JDWP: fix setting multiple breakpoints in the same method

When setting multiple breakpoints in the same method, we were
incorrectly setting the deoptimization kind of all the breakpoints
set after a first breakpoint. This resulted in incorrect
deoptimization/undeoptimization and even an abort. This was caught
by running the debugger with sanity checks enabled with libartd.so.

We now set next breakpoints with the deoptimization kind of the first
existing breakpoint (if any) so we trigger right [un]deoptimization
when adding or removing a breakpoint.

Bug: 18782753
Bug: 18651686

(cherry picked from commit abe93e0098a2648fa286cfea01954737e32c7be9)

Change-Id: I95424e361dc04df0adb54b5afac5b4da2b8b2731
runtime/debugger.cc