hotspot/src/os/windows/vm/os_windows.hpp
changeset 18943 7d0ef675e808
parent 18683 a6418e038255
child 22852 1063026e8cee
child 22891 1f5d1fff23fa
equal deleted inserted replaced
18942:705506c1bf49 18943:7d0ef675e808
   100 
   100 
   101   // filter function to ignore faults on serializations page
   101   // filter function to ignore faults on serializations page
   102   static LONG WINAPI serialize_fault_filter(struct _EXCEPTION_POINTERS* e);
   102   static LONG WINAPI serialize_fault_filter(struct _EXCEPTION_POINTERS* e);
   103 };
   103 };
   104 
   104 
       
   105 /*
       
   106  * Crash protection for the watcher thread. Wrap the callback
       
   107  * with a __try { call() }
       
   108  * To be able to use this - don't take locks, don't rely on destructors,
       
   109  * don't make OS library calls, don't allocate memory, don't print,
       
   110  * don't call code that could leave the heap / memory in an inconsistent state,
       
   111  * or anything else where we are not in control if we suddenly jump out.
       
   112  */
       
   113 class WatcherThreadCrashProtection : public StackObj {
       
   114 public:
       
   115   WatcherThreadCrashProtection();
       
   116   bool call(os::CrashProtectionCallback& cb);
       
   117 };
       
   118 
   105 class PlatformEvent : public CHeapObj<mtInternal> {
   119 class PlatformEvent : public CHeapObj<mtInternal> {
   106   private:
   120   private:
   107     double CachePad [4] ;   // increase odds that _Event is sole occupant of cache line
   121     double CachePad [4] ;   // increase odds that _Event is sole occupant of cache line
   108     volatile int _Event ;
   122     volatile int _Event ;
   109     HANDLE _ParkHandle ;
   123     HANDLE _ParkHandle ;