Index: src/debug/debug.h |
diff --git a/src/debug/debug.h b/src/debug/debug.h |
index 4b098db49a3eb575f6106aea3b94f73cc642ca7b..65a21a706bf6d62112d867062ea752f08f918fb2 100644 |
--- a/src/debug/debug.h |
+++ b/src/debug/debug.h |
@@ -66,6 +66,13 @@ class BreakLocation { |
// the address. |
static BreakLocation FromAddress(Handle<DebugInfo> debug_info, Address pc); |
+ template <class Frame> |
+ static BreakLocation FromFrame(Handle<DebugInfo> debug_info, Frame* frame) { |
+ // PC points to the instruction after the current one, possibly a break |
+ // location as well. So the "- 1" to exclude it from the search. |
+ return FromAddress(debug_info, frame->pc() - 1); |
+ } |
+ |
static void FromAddressSameStatement(Handle<DebugInfo> debug_info, Address pc, |
List<BreakLocation>* result_out); |
@@ -554,7 +561,9 @@ class Debug { |
void ClearOneShot(); |
void ActivateStepOut(StackFrame* frame); |
void RemoveDebugInfoAndClearFromShared(Handle<DebugInfo> debug_info); |
- Handle<Object> CheckBreakPoints(Handle<Object> break_point); |
+ Handle<Object> CheckBreakPoints(BreakLocation* location, |
+ bool* has_break_points = nullptr); |
+ bool IsMutedAtCurrentLocation(JavaScriptFrame* frame); |
bool CheckBreakPoint(Handle<Object> break_point_object); |
MaybeHandle<Object> CallFunction(const char* name, int argc, |
Handle<Object> args[]); |