| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/debug/debug.h" | 5 #include "src/debug/debug.h" |
| 6 | 6 |
| 7 #include "src/api.h" | 7 #include "src/api.h" |
| 8 #include "src/arguments.h" | 8 #include "src/arguments.h" |
| 9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 // Debugger statement always calls debugger. No need to modify it. | 274 // Debugger statement always calls debugger. No need to modify it. |
| 275 if (IsDebuggerStatement()) return; | 275 if (IsDebuggerStatement()) return; |
| 276 | 276 |
| 277 // If there is already a break point here just return. This might happen if | 277 // If there is already a break point here just return. This might happen if |
| 278 // the same code is flooded with break points twice. Flooding the same | 278 // the same code is flooded with break points twice. Flooding the same |
| 279 // function twice might happen when stepping in a function with an exception | 279 // function twice might happen when stepping in a function with an exception |
| 280 // handler as the handler and the function is the same. | 280 // handler as the handler and the function is the same. |
| 281 if (IsDebugBreak()) return; | 281 if (IsDebugBreak()) return; |
| 282 | 282 |
| 283 DCHECK(IsDebugBreakSlot()); | 283 DCHECK(IsDebugBreakSlot()); |
| 284 Builtins* builtins = debug_info_->GetIsolate()->builtins(); | 284 Isolate* isolate = debug_info_->GetIsolate(); |
| 285 Builtins* builtins = isolate->builtins(); |
| 285 Handle<Code> target = | 286 Handle<Code> target = |
| 286 IsReturn() ? builtins->Return_DebugBreak() : builtins->Slot_DebugBreak(); | 287 IsReturn() ? builtins->Return_DebugBreak() : builtins->Slot_DebugBreak(); |
| 287 DebugCodegen::PatchDebugBreakSlot(pc(), target); | 288 DebugCodegen::PatchDebugBreakSlot(isolate, pc(), target); |
| 288 DCHECK(IsDebugBreak()); | 289 DCHECK(IsDebugBreak()); |
| 289 } | 290 } |
| 290 | 291 |
| 291 | 292 |
| 292 void BreakLocation::ClearDebugBreak() { | 293 void BreakLocation::ClearDebugBreak() { |
| 293 // Debugger statement always calls debugger. No need to modify it. | 294 // Debugger statement always calls debugger. No need to modify it. |
| 294 if (IsDebuggerStatement()) return; | 295 if (IsDebuggerStatement()) return; |
| 295 | 296 |
| 296 DCHECK(IsDebugBreakSlot()); | 297 DCHECK(IsDebugBreakSlot()); |
| 297 DebugCodegen::ClearDebugBreakSlot(pc()); | 298 DebugCodegen::ClearDebugBreakSlot(debug_info_->GetIsolate(), pc()); |
| 298 DCHECK(!IsDebugBreak()); | 299 DCHECK(!IsDebugBreak()); |
| 299 } | 300 } |
| 300 | 301 |
| 301 | 302 |
| 302 bool BreakLocation::IsStepInLocation() const { | 303 bool BreakLocation::IsStepInLocation() const { |
| 303 return IsConstructCall() || IsCall(); | 304 return IsConstructCall() || IsCall(); |
| 304 } | 305 } |
| 305 | 306 |
| 306 | 307 |
| 307 bool BreakLocation::IsDebugBreak() const { | 308 bool BreakLocation::IsDebugBreak() const { |
| (...skipping 2323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2631 } | 2632 } |
| 2632 | 2633 |
| 2633 | 2634 |
| 2634 void LockingCommandMessageQueue::Clear() { | 2635 void LockingCommandMessageQueue::Clear() { |
| 2635 base::LockGuard<base::Mutex> lock_guard(&mutex_); | 2636 base::LockGuard<base::Mutex> lock_guard(&mutex_); |
| 2636 queue_.Clear(); | 2637 queue_.Clear(); |
| 2637 } | 2638 } |
| 2638 | 2639 |
| 2639 } // namespace internal | 2640 } // namespace internal |
| 2640 } // namespace v8 | 2641 } // namespace v8 |
| OLD | NEW |