Index: src/debug.cc |
diff --git a/src/debug.cc b/src/debug.cc |
index 5d26ba2b139e36fc8704678c4b2c1919b74447a8..0917fea9ac99c19e1fd6bc2b8b40f211037dedc2 100644 |
--- a/src/debug.cc |
+++ b/src/debug.cc |
@@ -390,6 +390,20 @@ void BreakLocationIterator::ClearDebugBreak() { |
} |
+bool BreakLocationIterator::IsStepInLocation(Isolate* isolate) { |
+ if (RelocInfo::IsConstructCall(rmode())) { |
+ return true; |
+ } else if (RelocInfo::IsCodeTarget(rmode())) { |
+ HandleScope scope(debug_info_->GetIsolate()); |
+ Address target = rinfo()->target_address(); |
+ Handle<Code> target_code(Code::GetCodeFromTargetAddress(target)); |
+ return target_code->is_call_stub() || target_code->is_keyed_call_stub(); |
+ } else { |
+ return false; |
+ } |
+} |
+ |
+ |
void BreakLocationIterator::PrepareStepIn(Isolate* isolate) { |
HandleScope scope(isolate); |