< prev index next >
src/hotspot/share/runtime/thread.hpp
Print this page
*** 441,450 ****
--- 441,451 ----
public:
enum {
is_definitely_current_thread = true
};
+ public:
// Constructor
Thread();
virtual ~Thread() = 0; // Thread is abstract.
// Manage Thread::current()
*** 979,988 ****
--- 980,990 ----
class JavaThread: public Thread {
friend class VMStructs;
friend class JVMCIVMStructs;
friend class WhiteBox;
+ friend class VTBuffer;
private:
JavaThread* _next; // The next thread in the Threads list
bool _on_thread_list; // Is set when this JavaThread is added to the Threads list
oop _threadObj; // The Java level thread object
*** 1039,1048 ****
--- 1041,1051 ----
Method* _callee_target;
// Used to pass back results to the interpreter or generated code running Java code.
oop _vm_result; // oop result is GC-preserved
Metadata* _vm_result_2; // non-oop result
+ oop _return_buffered_value; // buffered value being returned
// See ReduceInitialCardMarks: this holds the precise space interval of
// the most recent slow path allocation for which compiled code has
// elided card-marks for performance along the fast-path.
MemRegion _deferred_card_mark;
*** 1527,1536 ****
--- 1530,1542 ----
void set_vm_result (oop x) { _vm_result = x; }
Metadata* vm_result_2() const { return _vm_result_2; }
void set_vm_result_2 (Metadata* x) { _vm_result_2 = x; }
+ oop return_buffered_value() const { return _return_buffered_value; }
+ void set_return_buffered_value(oop val) { _return_buffered_value = val; }
+
MemRegion deferred_card_mark() const { return _deferred_card_mark; }
void set_deferred_card_mark(MemRegion mr) { _deferred_card_mark = mr; }
#if INCLUDE_JVMCI
int pending_deoptimization() const { return _pending_deoptimization; }
*** 1769,1778 ****
--- 1775,1785 ----
return byte_offset_of(JavaThread, _anchor);
}
static ByteSize callee_target_offset() { return byte_offset_of(JavaThread, _callee_target); }
static ByteSize vm_result_offset() { return byte_offset_of(JavaThread, _vm_result); }
static ByteSize vm_result_2_offset() { return byte_offset_of(JavaThread, _vm_result_2); }
+ static ByteSize return_buffered_value_offset() { return byte_offset_of(JavaThread, _return_buffered_value); }
static ByteSize thread_state_offset() { return byte_offset_of(JavaThread, _thread_state); }
static ByteSize saved_exception_pc_offset() { return byte_offset_of(JavaThread, _saved_exception_pc); }
static ByteSize osthread_offset() { return byte_offset_of(JavaThread, _osthread); }
#if INCLUDE_JVMCI
static ByteSize pending_deoptimization_offset() { return byte_offset_of(JavaThread, _pending_deoptimization); }
< prev index next >