< prev index next > src/hotspot/share/runtime/continuationHelper.hpp
Print this page
// Concrete helpers for describing concrete types of frames
class InterpretedFrame;
class NonInterpretedUnknownFrame;
class CompiledFrame;
+ class NativeFrame;
class StubFrame;
};
class ContinuationHelper::Frame : public AllStatic {
public:
static void patch_sender_sp(frame& f, const frame& caller);
static int size(const frame& f);
static inline int expression_stack_size(const frame &f, InterpreterOopMap* mask);
! #ifdef ASSERT
- static bool is_owning_locks(const frame& f);
- #endif
static bool is_instance(const frame& f);
typedef InterpreterOopMap* ExtraT;
};
static void patch_sender_sp(frame& f, const frame& caller);
static int size(const frame& f);
static inline int expression_stack_size(const frame &f, InterpreterOopMap* mask);
! static int monitors_to_fix(JavaThread* thread, const frame& f, ResourceHashtable<oopDesc*, bool> &table, stackChunkOop chunk) NOT_DEBUG_RETURN0;
static bool is_instance(const frame& f);
typedef InterpreterOopMap* ExtraT;
};
class ContinuationHelper::CompiledFrame : public ContinuationHelper::NonInterpretedFrame {
public:
static bool is_instance(const frame& f);
- #ifdef ASSERT
template <typename RegisterMapT>
! static bool is_owning_locks(JavaThread* thread, RegisterMapT* map, const frame& f);
! #endif
};
class ContinuationHelper::StubFrame : public ContinuationHelper::NonInterpretedFrame {
public:
static const bool stub = true;
static bool is_instance(const frame& f);
};
#endif // SHARE_VM_RUNTIME_CONTINUATIONHELPER_HPP
class ContinuationHelper::CompiledFrame : public ContinuationHelper::NonInterpretedFrame {
public:
static bool is_instance(const frame& f);
template <typename RegisterMapT>
! static int monitors_to_fix(JavaThread* thread, RegisterMapT* map, const frame& f, ResourceHashtable<oopDesc*, bool> &table) NOT_DEBUG_RETURN0;
! };
+
+ class ContinuationHelper::NativeFrame : public ContinuationHelper::NonInterpretedFrame {
+ public:
+ static bool is_instance(const frame& f);
+
+ static int monitors_to_fix(JavaThread* thread, const frame& f, ResourceHashtable<oopDesc*, bool> &table) NOT_DEBUG_RETURN0;
};
class ContinuationHelper::StubFrame : public ContinuationHelper::NonInterpretedFrame {
public:
static const bool stub = true;
static bool is_instance(const frame& f);
+ static int stack_argsize(const frame& f) { return 0; }
};
#endif // SHARE_VM_RUNTIME_CONTINUATIONHELPER_HPP
< prev index next >