hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp
changeset 11251 e29da6b5622b
parent 10670 4ea0e7d2ffbc
child 11636 3c07b54482a5
equal deleted inserted replaced
11250:ef1ab0772513 11251:e29da6b5622b
   670   old_gen->compact();
   670   old_gen->compact();
   671   young_gen->compact();
   671   young_gen->compact();
   672 }
   672 }
   673 
   673 
   674 jlong PSMarkSweep::millis_since_last_gc() {
   674 jlong PSMarkSweep::millis_since_last_gc() {
   675   jlong ret_val = os::javaTimeMillis() - _time_of_last_gc;
   675   // We need a monotonically non-deccreasing time in ms but
       
   676   // os::javaTimeMillis() does not guarantee monotonicity.
       
   677   jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
       
   678   jlong ret_val = now - _time_of_last_gc;
   676   // XXX See note in genCollectedHeap::millis_since_last_gc().
   679   // XXX See note in genCollectedHeap::millis_since_last_gc().
   677   if (ret_val < 0) {
   680   if (ret_val < 0) {
   678     NOT_PRODUCT(warning("time warp: %d", ret_val);)
   681     NOT_PRODUCT(warning("time warp: "INT64_FORMAT, ret_val);)
   679     return 0;
   682     return 0;
   680   }
   683   }
   681   return ret_val;
   684   return ret_val;
   682 }
   685 }
   683 
   686 
   684 void PSMarkSweep::reset_millis_since_last_gc() {
   687 void PSMarkSweep::reset_millis_since_last_gc() {
   685   _time_of_last_gc = os::javaTimeMillis();
   688   // We need a monotonically non-deccreasing time in ms but
   686 }
   689   // os::javaTimeMillis() does not guarantee monotonicity.
       
   690   _time_of_last_gc = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
       
   691 }