OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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_WASM_DEBUG_H_ | 5 #ifndef V8_WASM_DEBUG_H_ |
6 #define V8_WASM_DEBUG_H_ | 6 #define V8_WASM_DEBUG_H_ |
7 | 7 |
8 #include "src/handles.h" | 8 #include "src/handles.h" |
9 #include "src/objects.h" | 9 #include "src/objects.h" |
10 | 10 |
11 namespace v8 { | 11 namespace v8 { |
12 namespace internal { | 12 namespace internal { |
13 namespace wasm { | 13 namespace wasm { |
14 | 14 |
15 class WasmDebugInfo : public FixedArray { | 15 class WasmDebugInfo : public FixedArray { |
16 public: | 16 public: |
17 static Handle<WasmDebugInfo> New(Handle<JSObject> wasm); | 17 static Handle<WasmDebugInfo> New(Handle<JSObject> wasm); |
18 | 18 |
19 static bool IsDebugInfo(Object* object); | 19 static bool IsDebugInfo(Object* object); |
20 static WasmDebugInfo* cast(Object* object); | 20 static WasmDebugInfo* cast(Object* object); |
21 | 21 |
22 JSObject* wasm_object(); | 22 JSObject* wasm_object(); |
23 | 23 |
24 bool SetBreakPoint(int byte_offset); | 24 bool SetBreakPoint(int byte_offset); |
25 | 25 |
| 26 // Get the Script for the specified function. |
| 27 static Script* GetFunctionScript(Handle<WasmDebugInfo> debug_info, |
| 28 int func_index); |
| 29 |
26 // Disassemble the specified function from this module. | 30 // Disassemble the specified function from this module. |
27 static Handle<String> DisassembleFunction(Handle<WasmDebugInfo> debug_info, | 31 static Handle<String> DisassembleFunction(Handle<WasmDebugInfo> debug_info, |
28 int func_index); | 32 int func_index); |
29 | 33 |
30 // Get the offset table for the specified function. | 34 // Get the offset table for the specified function, mapping from byte offsets |
| 35 // to position in the disassembly. |
31 // Returns an array with three entries per instruction: byte offset, line and | 36 // Returns an array with three entries per instruction: byte offset, line and |
32 // column. | 37 // column. |
33 static Handle<FixedArray> GetFunctionOffsetTable( | 38 static Handle<FixedArray> GetFunctionOffsetTable( |
34 Handle<WasmDebugInfo> debug_info, int func_index); | 39 Handle<WasmDebugInfo> debug_info, int func_index); |
35 }; | 40 }; |
36 | 41 |
37 } // namespace wasm | 42 } // namespace wasm |
38 } // namespace internal | 43 } // namespace internal |
39 } // namespace v8 | 44 } // namespace v8 |
40 | 45 |
41 #endif // V8_WASM_DEBUG_H_ | 46 #endif // V8_WASM_DEBUG_H_ |
OLD | NEW |