Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(216)

Side by Side Diff: src/debug/debug.h

Issue 2629823003: [wasm] Implement frame inspection for interpreted frames (Closed)
Patch Set: Document that the forward declaration is only needed for VS Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/debug/debug.cc » ('j') | src/wasm/wasm-interpreter.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 77
78 enum PromiseDebugActionName { 78 enum PromiseDebugActionName {
79 kDebugNotActive, 79 kDebugNotActive,
80 kDebugAsyncFunction, 80 kDebugAsyncFunction,
81 kDebugPromiseResolve, 81 kDebugPromiseResolve,
82 kDebugPromiseReject, 82 kDebugPromiseReject,
83 kDebugPromiseResolveThenableJob, 83 kDebugPromiseResolveThenableJob,
84 kDebugPromiseCollected, 84 kDebugPromiseCollected,
85 }; 85 };
86 86
87 // Forward declaration. Without it, VS ignores the friend class declaration
88 // below.
89 class WasmCompiledModule;
90
87 class BreakLocation { 91 class BreakLocation {
88 public: 92 public:
89 static BreakLocation FromFrame(StandardFrame* frame); 93 static BreakLocation FromFrame(StandardFrame* frame);
90 94
91 static void AllAtCurrentStatement(Handle<DebugInfo> debug_info, 95 static void AllAtCurrentStatement(Handle<DebugInfo> debug_info,
92 JavaScriptFrame* frame, 96 JavaScriptFrame* frame,
93 List<BreakLocation>* result_out); 97 List<BreakLocation>* result_out);
94 98
95 inline bool IsReturn() const { return type_ == DEBUG_BREAK_SLOT_AT_RETURN; } 99 inline bool IsReturn() const { return type_ == DEBUG_BREAK_SLOT_AT_RETURN; }
96 inline bool IsCall() const { return type_ == DEBUG_BREAK_SLOT_AT_CALL; } 100 inline bool IsCall() const { return type_ == DEBUG_BREAK_SLOT_AT_CALL; }
(...skipping 26 matching lines...) Expand all
123 void SetDebugBreak(); 127 void SetDebugBreak();
124 void ClearDebugBreak(); 128 void ClearDebugBreak();
125 129
126 Handle<AbstractCode> abstract_code_; 130 Handle<AbstractCode> abstract_code_;
127 int code_offset_; 131 int code_offset_;
128 DebugBreakType type_; 132 DebugBreakType type_;
129 int position_; 133 int position_;
130 134
131 friend class CodeBreakIterator; 135 friend class CodeBreakIterator;
132 friend class BytecodeArrayBreakIterator; 136 friend class BytecodeArrayBreakIterator;
137 friend class WasmCompiledModule;
133 }; 138 };
134 139
135 class BreakIterator { 140 class BreakIterator {
136 public: 141 public:
137 static std::unique_ptr<BreakIterator> GetIterator( 142 static std::unique_ptr<BreakIterator> GetIterator(
138 Handle<DebugInfo> debug_info, Handle<AbstractCode> abstract_code, 143 Handle<DebugInfo> debug_info, Handle<AbstractCode> abstract_code,
139 BreakLocatorType type = ALL_BREAK_LOCATIONS); 144 BreakLocatorType type = ALL_BREAK_LOCATIONS);
140 145
141 virtual ~BreakIterator() {} 146 virtual ~BreakIterator() {}
142 147
(...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 Handle<Code> code); 880 Handle<Code> code);
876 static bool DebugBreakSlotIsPatched(Address pc); 881 static bool DebugBreakSlotIsPatched(Address pc);
877 static void ClearDebugBreakSlot(Isolate* isolate, Address pc); 882 static void ClearDebugBreakSlot(Isolate* isolate, Address pc);
878 }; 883 };
879 884
880 885
881 } // namespace internal 886 } // namespace internal
882 } // namespace v8 887 } // namespace v8
883 888
884 #endif // V8_DEBUG_DEBUG_H_ 889 #endif // V8_DEBUG_DEBUG_H_
OLDNEW
« no previous file with comments | « no previous file | src/debug/debug.cc » ('j') | src/wasm/wasm-interpreter.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698