diff options
| author | 2014-05-16 06:14:47 +0000 | |
|---|---|---|
| committer | 2014-05-16 06:14:48 +0000 | |
| commit | b374fdba01c1c8fd59c1d0f0887451acdf24e90f (patch) | |
| tree | 499472110b65f954791d0860acddf1c8bd0fa85a /runtime/interpreter/interpreter_switch_impl.cc | |
| parent | 380d24d9af676d047148083774fa634b77a00634 (diff) | |
| parent | e713d9338ad122d6b8c7997387d0c9fc464eea3e (diff) | |
Merge "Fix JDWP location event report on return instructions"
Diffstat (limited to 'runtime/interpreter/interpreter_switch_impl.cc')
| -rw-r--r-- | runtime/interpreter/interpreter_switch_impl.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/runtime/interpreter/interpreter_switch_impl.cc b/runtime/interpreter/interpreter_switch_impl.cc index 97c216dc07..859cfc47c9 100644 --- a/runtime/interpreter/interpreter_switch_impl.cc +++ b/runtime/interpreter/interpreter_switch_impl.cc @@ -184,6 +184,9 @@ JValue ExecuteSwitchImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem instrumentation->MethodExitEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), shadow_frame.GetMethod(), inst->GetDexPc(insns), result); + } else if (UNLIKELY(instrumentation->HasDexPcListeners())) { + instrumentation->DexPcMovedEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), + shadow_frame.GetMethod(), dex_pc); } return result; } @@ -197,6 +200,9 @@ JValue ExecuteSwitchImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem instrumentation->MethodExitEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), shadow_frame.GetMethod(), inst->GetDexPc(insns), result); + } else if (UNLIKELY(instrumentation->HasDexPcListeners())) { + instrumentation->DexPcMovedEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), + shadow_frame.GetMethod(), dex_pc); } return result; } @@ -211,6 +217,9 @@ JValue ExecuteSwitchImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem instrumentation->MethodExitEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), shadow_frame.GetMethod(), inst->GetDexPc(insns), result); + } else if (UNLIKELY(instrumentation->HasDexPcListeners())) { + instrumentation->DexPcMovedEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), + shadow_frame.GetMethod(), dex_pc); } return result; } @@ -224,6 +233,9 @@ JValue ExecuteSwitchImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem instrumentation->MethodExitEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), shadow_frame.GetMethod(), inst->GetDexPc(insns), result); + } else if (UNLIKELY(instrumentation->HasDexPcListeners())) { + instrumentation->DexPcMovedEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), + shadow_frame.GetMethod(), dex_pc); } return result; } @@ -255,6 +267,9 @@ JValue ExecuteSwitchImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem instrumentation->MethodExitEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), shadow_frame.GetMethod(), inst->GetDexPc(insns), result); + } else if (UNLIKELY(instrumentation->HasDexPcListeners())) { + instrumentation->DexPcMovedEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), + shadow_frame.GetMethod(), dex_pc); } return result; } |