|
30 | 30 | #include "runtime/continuation.hpp"
|
31 | 31 | #include "utilities/sizes.hpp"
|
32 | 32 |
|
33 |
| -class RegisterMap; |
34 |
| -class OopMap; |
| 33 | +class CompiledMethod; |
35 | 34 | class JavaThread;
|
| 35 | +class OopMap; |
| 36 | +class RegisterMap; |
36 | 37 |
|
37 | 38 | // Metadata stored in the continuation entry frame
|
38 | 39 | class ContinuationEntry {
|
@@ -112,32 +113,15 @@ class ContinuationEntry {
|
112 | 113 | void update_register_map(RegisterMap* map) const;
|
113 | 114 | void flush_stack_processing(JavaThread* thread) const;
|
114 | 115 |
|
115 |
| - intptr_t* bottom_sender_sp() const { |
116 |
| - intptr_t* sp = entry_sp() - argsize(); |
117 |
| -#ifdef _LP64 |
118 |
| - sp = align_down(sp, frame::frame_alignment); |
119 |
| -#endif |
120 |
| - return sp; |
121 |
| - } |
122 |
| - |
| 116 | + inline intptr_t* bottom_sender_sp() const; |
123 | 117 | inline oop cont_oop() const;
|
124 | 118 | inline oop scope() const;
|
125 | 119 | inline static oop cont_oop_or_null(const ContinuationEntry* ce);
|
126 | 120 |
|
127 | 121 | bool is_virtual_thread() const { return _flags != 0; }
|
128 | 122 |
|
129 | 123 | #ifndef PRODUCT
|
130 |
| - void describe(FrameValues& values, int frame_no) const { |
131 |
| - address usp = (address)this; |
132 |
| - values.describe(frame_no, (intptr_t*)(usp + in_bytes(ContinuationEntry::parent_offset())), "parent"); |
133 |
| - values.describe(frame_no, (intptr_t*)(usp + in_bytes(ContinuationEntry::cont_offset())), "continuation"); |
134 |
| - values.describe(frame_no, (intptr_t*)(usp + in_bytes(ContinuationEntry::flags_offset())), "flags"); |
135 |
| - values.describe(frame_no, (intptr_t*)(usp + in_bytes(ContinuationEntry::chunk_offset())), "chunk"); |
136 |
| - values.describe(frame_no, (intptr_t*)(usp + in_bytes(ContinuationEntry::argsize_offset())), "argsize"); |
137 |
| - values.describe(frame_no, (intptr_t*)(usp + in_bytes(ContinuationEntry::pin_count_offset())), "pin_count"); |
138 |
| - values.describe(frame_no, (intptr_t*)(usp + in_bytes(ContinuationEntry::parent_cont_fastpath_offset())), "parent fastpath"); |
139 |
| - values.describe(frame_no, (intptr_t*)(usp + in_bytes(ContinuationEntry::parent_held_monitor_count_offset())), "parent held monitor count"); |
140 |
| - } |
| 124 | + void describe(FrameValues& values, int frame_no) const; |
141 | 125 | #endif
|
142 | 126 |
|
143 | 127 | #ifdef ASSERT
|
|
0 commit comments