OSDN Git Service

Refactor deoptimization support in debugger
authorSebastien Hertz <shertz@google.com>
Fri, 21 Mar 2014 16:44:46 +0000 (17:44 +0100)
committerSebastien Hertz <shertz@google.com>
Wed, 26 Mar 2014 10:46:43 +0000 (11:46 +0100)
commit4d25df3f76f864b7629ac8c0046d46997f293d8d
tree31840831d8c81d06ffd575fdb0adc8403cd8dbb1
parent909f133bc938928a2403baccc983701cb9ebb17f
Refactor deoptimization support in debugger

This CL prepares breakpoint support for inlined methods where we'll have to
deoptimize everything.

We move deoptimization-related information to Dbg class only (deoptimization
request queue, full deoptimization event count and deoptimization lock). We
replace MethodInstrumentionRequest by DeoptimizationRequest. This is used to
know which kind of deoptimization is required for a particular event.

It also simplifies lock ordering a bit during event setup: we no longer need to
hold the deoptimization lock while holding the breakpoint lock. Moreover, the
deoptimization lock should be held only after the event list lock.

Bug: 12187616
Change-Id: Iff13f004adaeb25e5d609238bacce0b9720510e6
runtime/base/mutex.cc
runtime/base/mutex.h
runtime/debugger.cc
runtime/debugger.h
runtime/instrumentation.h
runtime/jdwp/jdwp.h
runtime/jdwp/jdwp_event.cc
runtime/jdwp/jdwp_main.cc