@@ -213,23 +213,48 @@ public static SamplerStackWalkVisitor visitor() {
213213 return ImageSingletons .lookup (SamplerStackWalkVisitor .class );
214214 }
215215
216- @ Uninterruptible (reason = "Called from uninterruptible code." , mayBeInlined = true )
217- boolean isProfilingEnabled () {
218- return enabled ;
216+ public static void preventThreadsFromEnteringSigProfHandler () {
217+ if (ImageSingletons .contains (SubstrateSigprofHandler .class )) {
218+ singleton ().preventThreadsFromEnteringSigProfHandler0 ();
219+ }
220+ }
221+
222+ public static void allowThreadsInSigProfHandler () {
223+ if (ImageSingletons .contains (SubstrateSigprofHandler .class )) {
224+ singleton ().allowThreadsInSigProfHandler0 ();
225+ }
226+ }
227+
228+ public static void waitUntilAllThreadsExitedSignalHandler () {
229+ if (ImageSingletons .contains (SubstrateSigprofHandler .class )) {
230+ singleton ().waitUntilAllThreadsExitedSignalHandler0 ();
231+ }
219232 }
220233
221234 @ Uninterruptible (reason = "Called from uninterruptible code." , mayBeInlined = true )
222- public void preventThreadsFromEnteringSigProfHandler () {
235+ private void preventThreadsFromEnteringSigProfHandler0 () {
223236 int value = isSignalHandlerDisabledTemporarily .incrementAndGet ();
224237 assert value > 0 ;
225238 }
226239
227240 @ Uninterruptible (reason = "Called from uninterruptible code." , mayBeInlined = true )
228- public void allowThreadsInSigProfHandler () {
241+ private void allowThreadsInSigProfHandler0 () {
229242 int value = isSignalHandlerDisabledTemporarily .decrementAndGet ();
230243 assert value >= 0 ;
231244 }
232245
246+ @ Uninterruptible (reason = "Called from uninterruptible code." , mayBeInlined = true )
247+ private void waitUntilAllThreadsExitedSignalHandler0 () {
248+ while (threadsInSignalHandler .get () > 0 ) {
249+ VMThreads .singleton ().yield ();
250+ }
251+ }
252+
253+ @ Uninterruptible (reason = "Called from uninterruptible code." , mayBeInlined = true )
254+ boolean isProfilingEnabled () {
255+ return enabled ;
256+ }
257+
233258 @ Uninterruptible (reason = "Called from uninterruptible code." , mayBeInlined = true )
234259 public SamplerBufferStack availableBuffers () {
235260 return availableBuffers ;
@@ -240,13 +265,6 @@ public SamplerBufferStack fullBuffers() {
240265 return fullBuffers ;
241266 }
242267
243- @ Uninterruptible (reason = "Called from uninterruptible code." , mayBeInlined = true )
244- public void waitUntilAllThreadsExitedSignalHandler () {
245- while (threadsInSignalHandler .get () > 0 ) {
246- VMThreads .singleton ().yield ();
247- }
248- }
249-
250268 @ Uninterruptible (reason = "Called from uninterruptible code." , mayBeInlined = true )
251269 SubstrateThreadMXBean substrateThreadMXBean () {
252270 return threadMXBean ;
0 commit comments