src/share/vm/runtime/thread.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8134898 Sdiff src/share/vm/runtime

src/share/vm/runtime/thread.hpp

Print this page




 351     os::set_native_thread_name(name);
 352   }
 353 
 354   ObjectMonitor** omInUseList_addr()             { return (ObjectMonitor **)&omInUseList; }
 355   Monitor* SR_lock() const                       { return _SR_lock; }
 356 
 357   bool has_async_exception() const { return (_suspend_flags & _has_async_exception) != 0; }
 358 
 359   inline void set_suspend_flag(SuspendFlags f);
 360   inline void clear_suspend_flag(SuspendFlags f);
 361 
 362   inline void set_has_async_exception();
 363   inline void clear_has_async_exception();
 364 
 365   bool do_critical_native_unlock() const { return (_suspend_flags & _critical_native_unlock) != 0; }
 366 
 367   inline void set_critical_native_unlock();
 368   inline void clear_critical_native_unlock();
 369 
 370   // Support for Unhandled Oop detection
 371 #ifdef CHECK_UNHANDLED_OOPS
 372  private:
 373   UnhandledOops* _unhandled_oops;





 374  public:
 375   UnhandledOops* unhandled_oops() { return _unhandled_oops; }
 376   // Mark oop safe for gc.  It may be stack allocated but won't move.
 377   void allow_unhandled_oop(oop *op) {
 378     if (CheckUnhandledOops) unhandled_oops()->allow_unhandled_oop(op);
 379   }
 380   // Clear oops at safepoint so crashes point to unhandled oop violator
 381   void clear_unhandled_oops() {
 382     if (CheckUnhandledOops) unhandled_oops()->clear_unhandled_oops();
 383   }
 384 #endif // CHECK_UNHANDLED_OOPS
 385 
 386 #ifndef PRODUCT
 387   bool skip_gcalot()           { return _skip_gcalot; }
 388   void set_skip_gcalot(bool v) { _skip_gcalot = v;    }
 389 #endif
 390 
 391  public:
 392   // Installs a pending exception to be inserted later
 393   static void send_async_exception(oop thread_oop, oop java_throwable);




 351     os::set_native_thread_name(name);
 352   }
 353 
 354   ObjectMonitor** omInUseList_addr()             { return (ObjectMonitor **)&omInUseList; }
 355   Monitor* SR_lock() const                       { return _SR_lock; }
 356 
 357   bool has_async_exception() const { return (_suspend_flags & _has_async_exception) != 0; }
 358 
 359   inline void set_suspend_flag(SuspendFlags f);
 360   inline void clear_suspend_flag(SuspendFlags f);
 361 
 362   inline void set_has_async_exception();
 363   inline void clear_has_async_exception();
 364 
 365   bool do_critical_native_unlock() const { return (_suspend_flags & _critical_native_unlock) != 0; }
 366 
 367   inline void set_critical_native_unlock();
 368   inline void clear_critical_native_unlock();
 369 
 370   // Support for Unhandled Oop detection
 371 #ifdef ASSERT
 372  private:
 373   UnhandledOops* _unhandled_oops;
 374 #endif
 375 #ifdef CHECK_UNHANDLED_OOPS
 376 #ifndef ASSERT
 377 #error "CHECK_UNHANDLED_OOPS should be defined only in debug VM"
 378 #endif
 379  public:
 380   UnhandledOops* unhandled_oops() { return _unhandled_oops; }
 381   // Mark oop safe for gc.  It may be stack allocated but won't move.
 382   void allow_unhandled_oop(oop *op) {
 383     if (CheckUnhandledOops) unhandled_oops()->allow_unhandled_oop(op);
 384   }
 385   // Clear oops at safepoint so crashes point to unhandled oop violator
 386   void clear_unhandled_oops() {
 387     if (CheckUnhandledOops) unhandled_oops()->clear_unhandled_oops();
 388   }
 389 #endif // CHECK_UNHANDLED_OOPS
 390 
 391 #ifndef PRODUCT
 392   bool skip_gcalot()           { return _skip_gcalot; }
 393   void set_skip_gcalot(bool v) { _skip_gcalot = v;    }
 394 #endif
 395 
 396  public:
 397   // Installs a pending exception to be inserted later
 398   static void send_async_exception(oop thread_oop, oop java_throwable);


src/share/vm/runtime/thread.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File