544 vmSymbols::long_long_long_long_void_signature(), |
544 vmSymbols::long_long_long_long_void_signature(), |
545 &args, |
545 &args, |
546 CHECK_NH); |
546 CHECK_NH); |
547 return obj; |
547 return obj; |
548 } |
548 } |
549 // |
549 |
550 // GC manager type depends on the type of Generation. Depending on the space |
550 // GC manager type depends on the type of Generation. Depending on the space |
551 // availability and vm options the gc uses major gc manager or minor gc |
551 // availability and vm options the gc uses major gc manager or minor gc |
552 // manager or both. The type of gc manager depends on the generation kind. |
552 // manager or both. The type of gc manager depends on the generation kind. |
553 // For DefNew and ParNew generation doing scavenge gc uses minor gc manager (so |
553 // For DefNew and ParNew generation doing scavenge gc uses minor gc manager (so |
554 // _fullGC is set to false ) and for other generation kinds doing |
554 // _fullGC is set to false ) and for other generation kinds doing |
557 switch (kind) { |
557 switch (kind) { |
558 case Generation::DefNew: |
558 case Generation::DefNew: |
559 #if INCLUDE_ALL_GCS |
559 #if INCLUDE_ALL_GCS |
560 case Generation::ParNew: |
560 case Generation::ParNew: |
561 #endif // INCLUDE_ALL_GCS |
561 #endif // INCLUDE_ALL_GCS |
562 _fullGC=false; |
562 _fullGC = false; |
563 break; |
563 break; |
564 case Generation::MarkSweepCompact: |
564 case Generation::MarkSweepCompact: |
565 #if INCLUDE_ALL_GCS |
565 #if INCLUDE_ALL_GCS |
566 case Generation::ConcurrentMarkSweep: |
566 case Generation::ConcurrentMarkSweep: |
567 #endif // INCLUDE_ALL_GCS |
567 #endif // INCLUDE_ALL_GCS |
568 _fullGC=true; |
568 _fullGC = true; |
569 break; |
569 break; |
570 default: |
570 default: |
|
571 _fullGC = false; |
571 assert(false, "Unrecognized gc generation kind."); |
572 assert(false, "Unrecognized gc generation kind."); |
572 } |
573 } |
573 // this has to be called in a stop the world pause and represent |
574 // this has to be called in a stop the world pause and represent |
574 // an entire gc pause, start to finish: |
575 // an entire gc pause, start to finish: |
575 initialize(_fullGC, cause,true, true, true, true, true, true, true); |
576 initialize(_fullGC, cause, true, true, true, true, true, true, true); |
576 } |
577 } |
|
578 |
577 TraceMemoryManagerStats::TraceMemoryManagerStats(bool fullGC, |
579 TraceMemoryManagerStats::TraceMemoryManagerStats(bool fullGC, |
578 GCCause::Cause cause, |
580 GCCause::Cause cause, |
579 bool recordGCBeginTime, |
581 bool recordGCBeginTime, |
580 bool recordPreGCUsage, |
582 bool recordPreGCUsage, |
581 bool recordPeakUsage, |
583 bool recordPeakUsage, |
582 bool recordPostGCUsage, |
584 bool recordPostGCUsage, |
583 bool recordAccumulatedGCTime, |
585 bool recordAccumulatedGCTime, |
584 bool recordGCEndTime, |
586 bool recordGCEndTime, |
585 bool countCollection) { |
587 bool countCollection) { |
586 initialize(fullGC, cause, recordGCBeginTime, recordPreGCUsage, recordPeakUsage, |
588 initialize(fullGC, cause, recordGCBeginTime, recordPreGCUsage, recordPeakUsage, |
587 recordPostGCUsage, recordAccumulatedGCTime, recordGCEndTime, |
589 recordPostGCUsage, recordAccumulatedGCTime, recordGCEndTime, |
588 countCollection); |
590 countCollection); |
589 } |
591 } |
590 |
592 |
591 // for a subclass to create then initialize an instance before invoking |
593 // for a subclass to create then initialize an instance before invoking |