| 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 773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 784 private: | 784 private: |
| 785 Debug* debug_; | 785 Debug* debug_; |
| 786 bool old_state_; | 786 bool old_state_; |
| 787 DISALLOW_COPY_AND_ASSIGN(SuppressDebug); | 787 DISALLOW_COPY_AND_ASSIGN(SuppressDebug); |
| 788 }; | 788 }; |
| 789 | 789 |
| 790 | 790 |
| 791 // Code generator routines. | 791 // Code generator routines. |
| 792 class DebugCodegen : public AllStatic { | 792 class DebugCodegen : public AllStatic { |
| 793 public: | 793 public: |
| 794 static void GenerateSlot(MacroAssembler* masm); | 794 enum SlotLocation { |
| 795 PLAIN_DEBUG_BREAK, |
| 796 DEBUG_BREAK_AT_CALL, |
| 797 DEBUG_BREAK_AT_CONSTRUCT_CALL |
| 798 }; |
| 799 |
| 800 static void GenerateSlot(MacroAssembler* masm, SlotLocation location, |
| 801 int call_argc = -1); |
| 795 static void GenerateReturnDebugBreak(MacroAssembler* masm); | 802 static void GenerateReturnDebugBreak(MacroAssembler* masm); |
| 796 static void GenerateSlotDebugBreak(MacroAssembler* masm); | 803 static void GenerateSlotDebugBreak(MacroAssembler* masm); |
| 797 static void GeneratePlainReturnLiveEdit(MacroAssembler* masm); | 804 static void GeneratePlainReturnLiveEdit(MacroAssembler* masm); |
| 798 | 805 |
| 799 // FrameDropper is a code replacement for a JavaScript frame with possibly | 806 // FrameDropper is a code replacement for a JavaScript frame with possibly |
| 800 // several frames above. | 807 // several frames above. |
| 801 // There is no calling conventions here, because it never actually gets | 808 // There is no calling conventions here, because it never actually gets |
| 802 // called, it only gets returned to. | 809 // called, it only gets returned to. |
| 803 static void GenerateFrameDropperLiveEdit(MacroAssembler* masm); | 810 static void GenerateFrameDropperLiveEdit(MacroAssembler* masm); |
| 811 |
| 812 private: |
| 813 static void RecordRelocInfo(MacroAssembler* masm, SlotLocation location, |
| 814 int call_argc); |
| 804 }; | 815 }; |
| 805 | 816 |
| 806 | 817 |
| 807 } } // namespace v8::internal | 818 } } // namespace v8::internal |
| 808 | 819 |
| 809 #endif // V8_DEBUG_H_ | 820 #endif // V8_DEBUG_H_ |
| OLD | NEW |