diff options
Diffstat (limited to 'runtime/debugger.h')
| -rw-r--r-- | runtime/debugger.h | 23 | 
1 files changed, 21 insertions, 2 deletions
diff --git a/runtime/debugger.h b/runtime/debugger.h index 23c9c6a1a1..b3e94c35b2 100644 --- a/runtime/debugger.h +++ b/runtime/debugger.h @@ -35,6 +35,7 @@  namespace art {  namespace mirror { +class ArtField;  class ArtMethod;  class Class;  class Object; @@ -85,6 +86,8 @@ struct DebugInvokeReq {    void VisitRoots(RootCallback* callback, void* arg, uint32_t tid, RootType root_type)        SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); +  void Clear(); +   private:    DISALLOW_COPY_AND_ASSIGN(DebugInvokeReq);  }; @@ -118,6 +121,10 @@ struct SingleStepControl {    void VisitRoots(RootCallback* callback, void* arg, uint32_t tid, RootType root_type)        SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); +  bool ContainsDexPc(uint32_t dex_pc) const; + +  void Clear(); +   private:    DISALLOW_COPY_AND_ASSIGN(SingleStepControl);  }; @@ -297,6 +304,9 @@ class Dbg {    static void OutputMethodReturnValue(JDWP::MethodId method_id, const JValue* return_value,                                        JDWP::ExpandBuf* pReply)        SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); +  static void OutputFieldValue(JDWP::FieldId field_id, const JValue* field_value, +                               JDWP::ExpandBuf* pReply) +      SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);    static JDWP::JdwpError GetBytecodes(JDWP::RefTypeId class_id, JDWP::MethodId method_id,                                        std::vector<uint8_t>& bytecodes)        SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); @@ -411,8 +421,14 @@ class Dbg {                                  mirror::Object* thisPtr, int eventFlags,                                  const JValue* return_value)        SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); -  static void PostException(Thread* thread, const ThrowLocation& throw_location, -                            mirror::ArtMethod* catch_method, +  static void PostFieldAccessEvent(mirror::ArtMethod* m, int dex_pc, mirror::Object* this_object, +                                   mirror::ArtField* f) +      SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); +  static void PostFieldModificationEvent(mirror::ArtMethod* m, int dex_pc, +                                         mirror::Object* this_object, mirror::ArtField* f, +                                         const JValue* field_value) +      SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); +  static void PostException(const ThrowLocation& throw_location, mirror::ArtMethod* catch_method,                              uint32_t catch_dex_pc, mirror::Throwable* exception)        SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);    static void PostThreadStart(Thread* t) @@ -538,6 +554,9 @@ class Dbg {    static void PostThreadStartOrStop(Thread*, uint32_t)        SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); +  static JDWP::ObjectId GetThisObjectIdForEvent(mirror::Object* this_object) +      SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); +    static void ProcessDeoptimizationRequest(const DeoptimizationRequest& request)        EXCLUSIVE_LOCKS_REQUIRED(Locks::mutator_lock_);  |