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 #ifndef V8_DEBUG_DEBUG_H_ | 5 #ifndef V8_DEBUG_DEBUG_H_ |
6 #define V8_DEBUG_DEBUG_H_ | 6 #define V8_DEBUG_DEBUG_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/arguments.h" | 9 #include "src/arguments.h" |
10 #include "src/assembler.h" | 10 #include "src/assembler.h" |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 inline bool IsReturn() const { | 83 inline bool IsReturn() const { |
84 return RelocInfo::IsDebugBreakSlotAtReturn(rmode_); | 84 return RelocInfo::IsDebugBreakSlotAtReturn(rmode_); |
85 } | 85 } |
86 inline bool IsCall() const { | 86 inline bool IsCall() const { |
87 return RelocInfo::IsDebugBreakSlotAtCall(rmode_); | 87 return RelocInfo::IsDebugBreakSlotAtCall(rmode_); |
88 } | 88 } |
89 inline bool IsConstructCall() const { | 89 inline bool IsConstructCall() const { |
90 return RelocInfo::IsDebugBreakSlotAtConstructCall(rmode_); | 90 return RelocInfo::IsDebugBreakSlotAtConstructCall(rmode_); |
91 } | 91 } |
92 inline int CallArgumentsCount() const { | 92 inline int CallArgumentsCount() const { |
93 DCHECK(IsCall()); | 93 DCHECK(IsStepInLocation()); |
94 return RelocInfo::DebugBreakCallArgumentsCount(data_); | 94 return RelocInfo::DebugBreakCallArgumentsCount(data_); |
95 } | 95 } |
96 | 96 |
97 bool IsStepInLocation() const; | 97 bool IsStepInLocation() const; |
98 inline bool HasBreakPoint() const { | 98 inline bool HasBreakPoint() const { |
99 return debug_info_->HasBreakPoint(pc_offset_); | 99 return debug_info_->HasBreakPoint(pc_offset_); |
100 } | 100 } |
101 | 101 |
102 Handle<Object> BreakPointObjects() const; | 102 Handle<Object> BreakPointObjects() const; |
103 | 103 |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 | 404 |
405 // Stepping handling. | 405 // Stepping handling. |
406 void PrepareStep(StepAction step_action, | 406 void PrepareStep(StepAction step_action, |
407 int step_count, | 407 int step_count, |
408 StackFrame::Id frame_id); | 408 StackFrame::Id frame_id); |
409 void ClearStepping(); | 409 void ClearStepping(); |
410 void ClearStepOut(); | 410 void ClearStepOut(); |
411 bool IsStepping() { return thread_local_.step_count_ > 0; } | 411 bool IsStepping() { return thread_local_.step_count_ > 0; } |
412 bool StepNextContinue(BreakLocation* location, JavaScriptFrame* frame); | 412 bool StepNextContinue(BreakLocation* location, JavaScriptFrame* frame); |
413 bool StepInActive() { return thread_local_.step_into_fp_ != 0; } | 413 bool StepInActive() { return thread_local_.step_into_fp_ != 0; } |
414 void HandleStepIn(Handle<Object> function_obj, bool is_constructor); | 414 void HandleStepIn(Handle<Object> function_obj); |
415 bool StepOutActive() { return thread_local_.step_out_fp_ != 0; } | 415 bool StepOutActive() { return thread_local_.step_out_fp_ != 0; } |
416 | 416 |
417 void GetStepinPositions(JavaScriptFrame* frame, StackFrame::Id frame_id, | 417 void GetStepinPositions(JavaScriptFrame* frame, StackFrame::Id frame_id, |
418 List<int>* results_out); | 418 List<int>* results_out); |
419 | 419 |
420 bool PrepareFunctionForBreakPoints(Handle<SharedFunctionInfo> shared); | 420 bool PrepareFunctionForBreakPoints(Handle<SharedFunctionInfo> shared); |
421 | 421 |
422 // Returns whether the operation succeeded. Compilation can only be triggered | 422 // Returns whether the operation succeeded. Compilation can only be triggered |
423 // if a valid closure is passed as the second argument, otherwise the shared | 423 // if a valid closure is passed as the second argument, otherwise the shared |
424 // function needs to be compiled already. | 424 // function needs to be compiled already. |
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
760 | 760 |
761 static void PatchDebugBreakSlot(Address pc, Handle<Code> code); | 761 static void PatchDebugBreakSlot(Address pc, Handle<Code> code); |
762 static void ClearDebugBreakSlot(Address pc); | 762 static void ClearDebugBreakSlot(Address pc); |
763 }; | 763 }; |
764 | 764 |
765 | 765 |
766 } // namespace internal | 766 } // namespace internal |
767 } // namespace v8 | 767 } // namespace v8 |
768 | 768 |
769 #endif // V8_DEBUG_DEBUG_H_ | 769 #endif // V8_DEBUG_DEBUG_H_ |
OLD | NEW |