< prev index next > src/hotspot/cpu/riscv/continuationHelper_riscv.inline.hpp
Print this page
return FKind::interpreted
? (intptr_t**)(f.fp() + frame::link_offset)
: (intptr_t**)(f.unextended_sp() + f.cb()->frame_size() - 2);
}
+ static inline void patch_return_pc_with_preempt_stub(frame& f) {
+ Unimplemented();
+ }
+
inline int ContinuationHelper::frame_align_words(int size) {
#ifdef _LP64
return size & 1;
#else
return 0;
inline void ContinuationHelper::set_anchor_to_entry_pd(JavaFrameAnchor* anchor, ContinuationEntry* entry) {
anchor->set_last_Java_fp(entry->entry_fp());
}
- #ifdef ASSERT
inline void ContinuationHelper::set_anchor_pd(JavaFrameAnchor* anchor, intptr_t* sp) {
intptr_t* fp = *(intptr_t**)(sp - 2);
anchor->set_last_Java_fp(fp);
}
+ #ifdef ASSERT
inline bool ContinuationHelper::Frame::assert_frame_laid_out(frame f) {
intptr_t* sp = f.sp();
address pc = *(address*)(sp - frame::sender_sp_ret_address_offset());
intptr_t* fp = *(intptr_t**)(sp - 2);
assert(f.raw_pc() == pc, "f.ra_pc: " INTPTR_FORMAT " actual: " INTPTR_FORMAT, p2i(f.raw_pc()), p2i(pc));
< prev index next >