61 # include "nativeInst_zero.hpp"
62 # include "vmreg_zero.inline.hpp"
63 #endif
64 #ifdef TARGET_ARCH_arm
65 # include "nativeInst_arm.hpp"
66 # include "vmreg_arm.inline.hpp"
67 #endif
68 #ifdef TARGET_ARCH_ppc
69 # include "nativeInst_ppc.hpp"
70 # include "vmreg_ppc.inline.hpp"
71 #endif
72 #ifdef TARGET_OS_FAMILY_linux
73 # include "thread_linux.inline.hpp"
74 #endif
75 #ifdef TARGET_OS_FAMILY_solaris
76 # include "thread_solaris.inline.hpp"
77 #endif
78 #ifdef TARGET_OS_FAMILY_windows
79 # include "thread_windows.inline.hpp"
80 #endif
81 #ifndef SERIALGC
82 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp"
83 #include "gc_implementation/shared/concurrentGCThread.hpp"
84 #endif
85 #ifdef COMPILER1
86 #include "c1/c1_globals.hpp"
87 #endif
88
89 // --------------------------------------------------------------------------------------------------
90 // Implementation of Safepoint begin/end
91
92 SafepointSynchronize::SynchronizeState volatile SafepointSynchronize::_state = SafepointSynchronize::_not_synchronized;
93 volatile int SafepointSynchronize::_waiting_to_block = 0;
94 volatile int SafepointSynchronize::_safepoint_counter = 0;
95 long SafepointSynchronize::_end_of_last_safepoint = 0;
96 static volatile int PageArmed = 0 ; // safepoint polling page is RO|RW vs PROT_NONE
97 static volatile int TryingToBlock = 0 ; // proximate value -- for advisory use only
98 static bool timeout_error_printed = false;
99
100 // Roll all threads forward to a safepoint and suspend them all
|
61 # include "nativeInst_zero.hpp"
62 # include "vmreg_zero.inline.hpp"
63 #endif
64 #ifdef TARGET_ARCH_arm
65 # include "nativeInst_arm.hpp"
66 # include "vmreg_arm.inline.hpp"
67 #endif
68 #ifdef TARGET_ARCH_ppc
69 # include "nativeInst_ppc.hpp"
70 # include "vmreg_ppc.inline.hpp"
71 #endif
72 #ifdef TARGET_OS_FAMILY_linux
73 # include "thread_linux.inline.hpp"
74 #endif
75 #ifdef TARGET_OS_FAMILY_solaris
76 # include "thread_solaris.inline.hpp"
77 #endif
78 #ifdef TARGET_OS_FAMILY_windows
79 # include "thread_windows.inline.hpp"
80 #endif
81 #ifdef TARGET_OS_FAMILY_bsd
82 # include "thread_bsd.inline.hpp"
83 #endif
84 #ifndef SERIALGC
85 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp"
86 #include "gc_implementation/shared/concurrentGCThread.hpp"
87 #endif
88 #ifdef COMPILER1
89 #include "c1/c1_globals.hpp"
90 #endif
91
92 // --------------------------------------------------------------------------------------------------
93 // Implementation of Safepoint begin/end
94
95 SafepointSynchronize::SynchronizeState volatile SafepointSynchronize::_state = SafepointSynchronize::_not_synchronized;
96 volatile int SafepointSynchronize::_waiting_to_block = 0;
97 volatile int SafepointSynchronize::_safepoint_counter = 0;
98 long SafepointSynchronize::_end_of_last_safepoint = 0;
99 static volatile int PageArmed = 0 ; // safepoint polling page is RO|RW vs PROT_NONE
100 static volatile int TryingToBlock = 0 ; // proximate value -- for advisory use only
101 static bool timeout_error_printed = false;
102
103 // Roll all threads forward to a safepoint and suspend them all
|