< prev index next >
src/hotspot/share/runtime/thread.hpp
Print this page
rev 52189 : [mq]: tinit
*** 300,310 ****
bool is_suspendible_thread() { return _suspendible_thread; }
#endif
private:
- // Active_handles points to a block of handles
JNIHandleBlock* _active_handles;
// One-element thread local free list
JNIHandleBlock* _free_handle_block;
--- 300,309 ----
*** 397,409 ****
// Manage Thread::current()
void initialize_thread_current();
void clear_thread_current(); // TLS cleanup needed before threads terminate
public:
! // thread entry point
! virtual void run();
// Testers
virtual bool is_VM_thread() const { return false; }
virtual bool is_Java_thread() const { return false; }
virtual bool is_Compiler_thread() const { return false; }
--- 396,412 ----
// Manage Thread::current()
void initialize_thread_current();
void clear_thread_current(); // TLS cleanup needed before threads terminate
+ protected:
+ // To be implemented by children.
+ virtual void run() = 0;
+
public:
! // invokes Thread::run().
! void call_run();
// Testers
virtual bool is_VM_thread() const { return false; }
virtual bool is_Java_thread() const { return false; }
virtual bool is_Compiler_thread() const { return false; }
*** 641,650 ****
--- 644,654 ----
void set_stack_base(address base) { _stack_base = base; }
size_t stack_size() const { return _stack_size; }
void set_stack_size(size_t size) { _stack_size = size; }
address stack_end() const { return stack_base() - stack_size(); }
void record_stack_base_and_size();
+ void register_thread_stack_with_NMT() NOT_NMT_RETURN;
bool on_local_stack(address adr) const {
// QQQ this has knowledge of direction, ought to be a stack method
return (_stack_base >= adr && adr >= stack_end());
}
< prev index next >