Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/safepoint.cpp @ 8001:db9981fd3124
8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Summary: Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
author | jprovino |
---|---|
date | Wed, 23 Jan 2013 13:02:39 -0500 |
parents | f34d701e952e |
children | 5fc51c1ecdeb cc32ccaaf47f |
comparison
equal
deleted
inserted
replaced
7619:46e60405583b | 8001:db9981fd3124 |
---|---|
50 #include "runtime/synchronizer.hpp" | 50 #include "runtime/synchronizer.hpp" |
51 #include "runtime/thread.inline.hpp" | 51 #include "runtime/thread.inline.hpp" |
52 #include "services/memTracker.hpp" | 52 #include "services/memTracker.hpp" |
53 #include "services/runtimeService.hpp" | 53 #include "services/runtimeService.hpp" |
54 #include "utilities/events.hpp" | 54 #include "utilities/events.hpp" |
55 #include "utilities/macros.hpp" | |
55 #ifdef TARGET_ARCH_x86 | 56 #ifdef TARGET_ARCH_x86 |
56 # include "nativeInst_x86.hpp" | 57 # include "nativeInst_x86.hpp" |
57 # include "vmreg_x86.inline.hpp" | 58 # include "vmreg_x86.inline.hpp" |
58 #endif | 59 #endif |
59 #ifdef TARGET_ARCH_sparc | 60 #ifdef TARGET_ARCH_sparc |
70 #endif | 71 #endif |
71 #ifdef TARGET_ARCH_ppc | 72 #ifdef TARGET_ARCH_ppc |
72 # include "nativeInst_ppc.hpp" | 73 # include "nativeInst_ppc.hpp" |
73 # include "vmreg_ppc.inline.hpp" | 74 # include "vmreg_ppc.inline.hpp" |
74 #endif | 75 #endif |
75 #ifndef SERIALGC | 76 #if INCLUDE_ALL_GCS |
76 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp" | 77 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp" |
77 #include "gc_implementation/shared/concurrentGCThread.hpp" | 78 #include "gc_implementation/shared/concurrentGCThread.hpp" |
78 #endif | 79 #endif // INCLUDE_ALL_GCS |
79 #ifdef COMPILER1 | 80 #ifdef COMPILER1 |
80 #include "c1/c1_globals.hpp" | 81 #include "c1/c1_globals.hpp" |
81 #endif | 82 #endif |
82 | 83 |
83 // -------------------------------------------------------------------------------------------------- | 84 // -------------------------------------------------------------------------------------------------- |
101 if (PrintSafepointStatistics || PrintSafepointStatisticsTimeout > 0) { | 102 if (PrintSafepointStatistics || PrintSafepointStatisticsTimeout > 0) { |
102 _safepoint_begin_time = os::javaTimeNanos(); | 103 _safepoint_begin_time = os::javaTimeNanos(); |
103 _ts_of_current_safepoint = tty->time_stamp().seconds(); | 104 _ts_of_current_safepoint = tty->time_stamp().seconds(); |
104 } | 105 } |
105 | 106 |
106 #ifndef SERIALGC | 107 #if INCLUDE_ALL_GCS |
107 if (UseConcMarkSweepGC) { | 108 if (UseConcMarkSweepGC) { |
108 // In the future we should investigate whether CMS can use the | 109 // In the future we should investigate whether CMS can use the |
109 // more-general mechanism below. DLD (01/05). | 110 // more-general mechanism below. DLD (01/05). |
110 ConcurrentMarkSweepThread::synchronize(false); | 111 ConcurrentMarkSweepThread::synchronize(false); |
111 } else if (UseG1GC) { | 112 } else if (UseG1GC) { |
112 ConcurrentGCThread::safepoint_synchronize(); | 113 ConcurrentGCThread::safepoint_synchronize(); |
113 } | 114 } |
114 #endif // SERIALGC | 115 #endif // INCLUDE_ALL_GCS |
115 | 116 |
116 // By getting the Threads_lock, we assure that no threads are about to start or | 117 // By getting the Threads_lock, we assure that no threads are about to start or |
117 // exit. It is released again in SafepointSynchronize::end(). | 118 // exit. It is released again in SafepointSynchronize::end(). |
118 Threads_lock->lock(); | 119 Threads_lock->lock(); |
119 | 120 |
478 // Release threads lock, so threads can be created/destroyed again. It will also starts all threads | 479 // Release threads lock, so threads can be created/destroyed again. It will also starts all threads |
479 // blocked in signal_thread_blocked | 480 // blocked in signal_thread_blocked |
480 Threads_lock->unlock(); | 481 Threads_lock->unlock(); |
481 | 482 |
482 } | 483 } |
483 #ifndef SERIALGC | 484 #if INCLUDE_ALL_GCS |
484 // If there are any concurrent GC threads resume them. | 485 // If there are any concurrent GC threads resume them. |
485 if (UseConcMarkSweepGC) { | 486 if (UseConcMarkSweepGC) { |
486 ConcurrentMarkSweepThread::desynchronize(false); | 487 ConcurrentMarkSweepThread::desynchronize(false); |
487 } else if (UseG1GC) { | 488 } else if (UseG1GC) { |
488 ConcurrentGCThread::safepoint_desynchronize(); | 489 ConcurrentGCThread::safepoint_desynchronize(); |
489 } | 490 } |
490 #endif // SERIALGC | 491 #endif // INCLUDE_ALL_GCS |
491 // record this time so VMThread can keep track how much time has elasped | 492 // record this time so VMThread can keep track how much time has elasped |
492 // since last safepoint. | 493 // since last safepoint. |
493 _end_of_last_safepoint = os::javaTimeMillis(); | 494 _end_of_last_safepoint = os::javaTimeMillis(); |
494 } | 495 } |
495 | 496 |