Home | History | Annotate | Download | only in runtime

Lines Matching refs:Breakpoint

184 class Breakpoint {
186 Breakpoint(mirror::ArtMethod* method, uint32_t dex_pc,
197 Breakpoint(const Breakpoint& other) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_)
218 // The location of this breakpoint.
222 // Indicates whether breakpoint needs full deoptimization or selective deoptimization.
226 static std::ostream& operator<<(std::ostream& os, const Breakpoint& rhs)
228 os << StringPrintf("Breakpoint[%s @%#x]", PrettyMethod(rhs.Method()).c_str(), rhs.DexPc());
342 static std::vector<Breakpoint> gBreakpoints GUARDED_BY(Locks::breakpoint_lock_);
389 VLOG(jdwp) << "Hit breakpoint #" << i << ": " << gBreakpoints[i];
3165 static const Breakpoint* FindFirstBreakpointForMethod(mirror::ArtMethod* m)
3167 for (Breakpoint& breakpoint : gBreakpoints) {
3168 if (breakpoint.Method() == m) {
3169 return &breakpoint;
3179 for (const Breakpoint& breakpoint : gBreakpoints) {
3180 if (breakpoint.Method() == m) {
3181 CHECK_EQ(deoptimization_kind, breakpoint.GetDeoptimizationKind());
3201 // Returns the deoptimization kind required to set a breakpoint in a method.
3202 // If a breakpointbreakpoint
3206 const Breakpoint** existing_brkpt)
3214 const Breakpoint* first_breakpoint;
3222 // There is no breakpoint on this method yet: we need to deoptimize. If this method may be
3237 // its updated entrypoint), we need full deoptimization to not miss the breakpoint.
3253 // There is at least one breakpoint for this method: we don't need to deoptimize.
3255 VLOG(jdwp) << "Breakpoint already set: no deoptimization is required";
3265 // Installs a breakpoint at the specified location. Also indicates through the deoptimization
3272 const Breakpoint* existing_breakpoint = nullptr;
3286 // If there is at least one existing breakpoint on the same method, the new breakpoint
3287 // must have the same deoptimization kind than the existing breakpoint(s).
3294 gBreakpoints.push_back(Breakpoint(m, location->dex_pc, breakpoint_deoptimization_kind));
3295 VLOG(jdwp) << "Set breakpoint #" << (gBreakpoints.size() - 1) << ": "
3300 // Uninstalls a breakpoint at the specified location. Also indicates through the deoptimization
3309 VLOG(jdwp) << "Removed breakpoint #" << i << ": " << gBreakpoints[i];
3317 const Breakpoint* const existing_breakpoint = FindFirstBreakpointForMethod(m);
3319 // There is no more breakpoint on this method: we need to undeoptimize.
3335 // There is at least one breakpoint for this method: we don't need to undeoptimize.