< prev index next >

src/hotspot/share/runtime/thread.hpp

Print this page
rev 52189 : [mq]: tinit

@@ -300,11 +300,10 @@
 
   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;
 

@@ -397,13 +396,17 @@
 
   // 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:
-  // thread entry point
-  virtual void run();
+  // 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,10 +644,11 @@
   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 >