< prev index next > src/hotspot/share/runtime/sharedRuntime.hpp
Print this page
#include "utilities/macros.hpp"
class AdapterHandlerEntry;
class AdapterFingerPrint;
class vframeStream;
+ class ObjectWaiter;
// Runtime is the base class for various runtime interfaces
// (InterpreterRuntime, CompilerRuntime, etc.). It provides
// shared functionality such as exception forwarding (C++ to
// Java exceptions), locking/unlocking mechanisms, statistical
static RuntimeStub* _ic_miss_blob;
static RuntimeStub* _resolve_opt_virtual_call_blob;
static RuntimeStub* _resolve_virtual_call_blob;
static RuntimeStub* _resolve_static_call_blob;
static address _resolve_static_call_entry;
+ static address _native_frame_resume_entry;
static DeoptimizationBlob* _deopt_blob;
static SafepointBlob* _polling_page_vectors_safepoint_handler_blob;
static SafepointBlob* _polling_page_safepoint_handler_blob;
static void throw_StackOverflowError_common(JavaThread* current, bool delayed);
static address continuation_for_implicit_exception(JavaThread* current,
address faulting_pc,
ImplicitExceptionKind exception_kind);
+ static address native_frame_resume_entry() { return _native_frame_resume_entry; }
+ static void set_native_frame_resume_entry(address val) {
+ assert(_native_frame_resume_entry == nullptr, "");
+ _native_frame_resume_entry = val;
+ }
+
// Post-slow-path-allocation, pre-initializing-stores step for
// implementing e.g. ReduceInitialCardMarks
static void on_slowpath_allocation_exit(JavaThread* current);
static void enable_stack_reserved_zone(JavaThread* current);
// Stack slots that may be unused by the calling convention but must
// otherwise be preserved. On Intel this includes the return address.
// On PowerPC it includes the 4 words holding the old TOC & LR glue.
static uint in_preserve_stack_slots();
+ static VMReg thread_register();
+
+ static void continuation_enter_cleanup(MacroAssembler* masm);
+
// Is vector's size (in bytes) bigger than a size saved by default?
// For example, on x86 16 bytes XMM registers are saved by default.
static bool is_wide_vector(int size);
// Save and restore a native result
static bool should_fixup_call_destination(address destination, address entry_point, address caller_pc, Method* moop, CodeBlob* cb);
// Slow-path Locking and Unlocking
static void complete_monitor_locking_C(oopDesc* obj, BasicLock* lock, JavaThread* current);
static void complete_monitor_unlocking_C(oopDesc* obj, BasicLock* lock, JavaThread* current);
+ static void resume_monitor_operation(JavaThread* current, ObjectWaiter* node);
// Resolving of calls
static address get_resolved_entry (JavaThread* current, methodHandle callee_method);
static address resolve_static_call_C (JavaThread* current);
static address resolve_virtual_call_C (JavaThread* current);
< prev index next >