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_H_ | 5 #ifndef V8_DEBUG_H_ |
6 #define V8_DEBUG_H_ | 6 #define V8_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 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 | 458 |
459 // Stepping handling. | 459 // Stepping handling. |
460 void PrepareStep(StepAction step_action, | 460 void PrepareStep(StepAction step_action, |
461 int step_count, | 461 int step_count, |
462 StackFrame::Id frame_id); | 462 StackFrame::Id frame_id); |
463 void ClearStepping(); | 463 void ClearStepping(); |
464 void ClearStepOut(); | 464 void ClearStepOut(); |
465 bool IsStepping() { return thread_local_.step_count_ > 0; } | 465 bool IsStepping() { return thread_local_.step_count_ > 0; } |
466 bool StepNextContinue(BreakLocation* location, JavaScriptFrame* frame); | 466 bool StepNextContinue(BreakLocation* location, JavaScriptFrame* frame); |
467 bool StepInActive() { return thread_local_.step_into_fp_ != 0; } | 467 bool StepInActive() { return thread_local_.step_into_fp_ != 0; } |
468 void HandleStepIn(Handle<Object> function_obj, Handle<Object> holder, | 468 void HandleStepIn(Handle<Object> function_obj, bool is_constructor); |
469 Address fp, bool is_constructor); | |
470 bool StepOutActive() { return thread_local_.step_out_fp_ != 0; } | 469 bool StepOutActive() { return thread_local_.step_out_fp_ != 0; } |
471 | 470 |
472 // Purge all code objects that have no debug break slots. | 471 // Purge all code objects that have no debug break slots. |
473 void PrepareForBreakPoints(); | 472 void PrepareForBreakPoints(); |
474 | 473 |
475 // Returns whether the operation succeeded. Compilation can only be triggered | 474 // Returns whether the operation succeeded. Compilation can only be triggered |
476 // if a valid closure is passed as the second argument, otherwise the shared | 475 // if a valid closure is passed as the second argument, otherwise the shared |
477 // function needs to be compiled already. | 476 // function needs to be compiled already. |
478 bool EnsureDebugInfo(Handle<SharedFunctionInfo> shared, | 477 bool EnsureDebugInfo(Handle<SharedFunctionInfo> shared, |
479 Handle<JSFunction> function); | 478 Handle<JSFunction> function); |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
618 Handle<JSObject> event_data, | 617 Handle<JSObject> event_data, |
619 bool auto_continue); | 618 bool auto_continue); |
620 void NotifyMessageHandler(v8::DebugEvent event, | 619 void NotifyMessageHandler(v8::DebugEvent event, |
621 Handle<JSObject> exec_state, | 620 Handle<JSObject> exec_state, |
622 Handle<JSObject> event_data, | 621 Handle<JSObject> event_data, |
623 bool auto_continue); | 622 bool auto_continue); |
624 void InvokeMessageHandler(MessageImpl message); | 623 void InvokeMessageHandler(MessageImpl message); |
625 | 624 |
626 static bool CompileDebuggerScript(Isolate* isolate, int index); | 625 static bool CompileDebuggerScript(Isolate* isolate, int index); |
627 void ClearOneShot(); | 626 void ClearOneShot(); |
628 void ActivateStepIn(StackFrame* frame); | 627 void ActivateStepIn(Handle<JSFunction> function, StackFrame* frame); |
629 void ClearStepIn(); | 628 void ClearStepIn(); |
630 void ActivateStepOut(StackFrame* frame); | 629 void ActivateStepOut(StackFrame* frame); |
631 void ClearStepNext(); | 630 void ClearStepNext(); |
632 void RemoveDebugInfoAndClearFromShared(Handle<DebugInfo> debug_info); | 631 void RemoveDebugInfoAndClearFromShared(Handle<DebugInfo> debug_info); |
633 void RemoveDebugInfo(DebugInfo** debug_info); | 632 void RemoveDebugInfo(DebugInfo** debug_info); |
634 void RemoveDebugInfo(DebugInfoListNode* node); | 633 void RemoveDebugInfo(DebugInfoListNode* node); |
635 void RemoveDebugInfo(DebugInfoListNode* prev, DebugInfoListNode* node); | 634 void RemoveDebugInfo(DebugInfoListNode* prev, DebugInfoListNode* node); |
636 Handle<Object> CheckBreakPoints(Handle<Object> break_point); | 635 Handle<Object> CheckBreakPoints(Handle<Object> break_point); |
637 bool CheckBreakPoint(Handle<Object> break_point_object); | 636 bool CheckBreakPoint(Handle<Object> break_point_object); |
638 | 637 |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
825 // several frames above. | 824 // several frames above. |
826 // There is no calling conventions here, because it never actually gets | 825 // There is no calling conventions here, because it never actually gets |
827 // called, it only gets returned to. | 826 // called, it only gets returned to. |
828 static void GenerateFrameDropperLiveEdit(MacroAssembler* masm); | 827 static void GenerateFrameDropperLiveEdit(MacroAssembler* masm); |
829 }; | 828 }; |
830 | 829 |
831 | 830 |
832 } } // namespace v8::internal | 831 } } // namespace v8::internal |
833 | 832 |
834 #endif // V8_DEBUG_H_ | 833 #endif // V8_DEBUG_H_ |
OLD | NEW |