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_FRAMES_H_ | 5 #ifndef V8_FRAMES_H_ |
6 #define V8_FRAMES_H_ | 6 #define V8_FRAMES_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/handles.h" | 9 #include "src/handles.h" |
10 #include "src/safepoint-table.h" | 10 #include "src/safepoint-table.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 int NumRegs(RegList list); | 22 int NumRegs(RegList list); |
23 | 23 |
24 void SetUpJSCallerSavedCodeData(); | 24 void SetUpJSCallerSavedCodeData(); |
25 | 25 |
26 // Return the code of the n-th saved register available to JavaScript. | 26 // Return the code of the n-th saved register available to JavaScript. |
27 int JSCallerSavedCode(int n); | 27 int JSCallerSavedCode(int n); |
28 | 28 |
29 | 29 |
30 // Forward declarations. | 30 // Forward declarations. |
31 class ExternalCallbackScope; | 31 class ExternalCallbackScope; |
| 32 class Isolate; |
32 class StackFrameIteratorBase; | 33 class StackFrameIteratorBase; |
33 class ThreadLocalTop; | 34 class ThreadLocalTop; |
34 class Isolate; | 35 class WasmInstanceObject; |
35 | 36 |
36 class InnerPointerToCodeCache { | 37 class InnerPointerToCodeCache { |
37 public: | 38 public: |
38 struct InnerPointerToCodeCacheEntry { | 39 struct InnerPointerToCodeCacheEntry { |
39 Address inner_pointer; | 40 Address inner_pointer; |
40 Code* code; | 41 Code* code; |
41 SafepointEntry safepoint_entry; | 42 SafepointEntry safepoint_entry; |
42 }; | 43 }; |
43 | 44 |
44 explicit InnerPointerToCodeCache(Isolate* isolate) : isolate_(isolate) { | 45 explicit InnerPointerToCodeCache(Isolate* isolate) : isolate_(isolate) { |
(...skipping 1057 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1102 int index) const override; | 1103 int index) const override; |
1103 | 1104 |
1104 // Lookup exception handler for current {pc}, returns -1 if none found. Also | 1105 // Lookup exception handler for current {pc}, returns -1 if none found. Also |
1105 // returns the stack slot count of the entire frame. | 1106 // returns the stack slot count of the entire frame. |
1106 int LookupExceptionHandlerInTable(int* data); | 1107 int LookupExceptionHandlerInTable(int* data); |
1107 | 1108 |
1108 // Determine the code for the frame. | 1109 // Determine the code for the frame. |
1109 Code* unchecked_code() const override; | 1110 Code* unchecked_code() const override; |
1110 | 1111 |
1111 // Accessors. | 1112 // Accessors. |
1112 Object* wasm_instance() const; | 1113 WasmInstanceObject* wasm_instance() const; |
1113 uint32_t function_index() const; | 1114 uint32_t function_index() const; |
1114 Script* script() const override; | 1115 Script* script() const override; |
1115 int position() const override; | 1116 int position() const override; |
1116 bool at_to_number_conversion() const; | 1117 bool at_to_number_conversion() const; |
1117 | 1118 |
1118 static WasmFrame* cast(StackFrame* frame) { | 1119 static WasmFrame* cast(StackFrame* frame) { |
1119 DCHECK(frame->is_wasm()); | 1120 DCHECK(frame->is_wasm()); |
1120 return static_cast<WasmFrame*>(frame); | 1121 return static_cast<WasmFrame*>(frame); |
1121 } | 1122 } |
1122 | 1123 |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1368 | 1369 |
1369 | 1370 |
1370 // Reads all frames on the current stack and copies them into the current | 1371 // Reads all frames on the current stack and copies them into the current |
1371 // zone memory. | 1372 // zone memory. |
1372 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); | 1373 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); |
1373 | 1374 |
1374 } // namespace internal | 1375 } // namespace internal |
1375 } // namespace v8 | 1376 } // namespace v8 |
1376 | 1377 |
1377 #endif // V8_FRAMES_H_ | 1378 #endif // V8_FRAMES_H_ |
OLD | NEW |