hotspot/src/share/vm/memory/metaspace.cpp
changeset 13733 e41e23ae6758
parent 13729 3826a6124401
child 13737 aa8c9eb6d900
equal deleted inserted replaced
13732:a9865f5514fc 13733:e41e23ae6758
  2539 #endif // PRODUCT
  2539 #endif // PRODUCT
  2540 
  2540 
  2541 
  2541 
  2542 // MetaspaceAux
  2542 // MetaspaceAux
  2543 
  2543 
       
  2544 size_t MetaspaceAux::used_in_bytes_unsafe(Metaspace::MetadataType mdtype) {
       
  2545   size_t used = 0;
       
  2546   ClassLoaderDataGraphMetaspaceIterator iter;
       
  2547   while (iter.repeat()) {
       
  2548     Metaspace* msp = iter.get_next();
       
  2549     // Sum allocation_total for each metaspace
       
  2550     if (msp != NULL) {
       
  2551       used += msp->used_words(mdtype);
       
  2552     }
       
  2553   }
       
  2554   return used * BytesPerWord;
       
  2555 }
       
  2556 
  2544 size_t MetaspaceAux::used_in_bytes(Metaspace::MetadataType mdtype) {
  2557 size_t MetaspaceAux::used_in_bytes(Metaspace::MetadataType mdtype) {
       
  2558   assert(SafepointSynchronize::is_at_safepoint(),
       
  2559     "Consistency checks require being at a safepoint");
  2545   size_t used = 0;
  2560   size_t used = 0;
  2546 #ifdef ASSERT
  2561 #ifdef ASSERT
  2547   size_t free = 0;
  2562   size_t free = 0;
  2548   size_t capacity = 0;
  2563   size_t capacity = 0;
  2549 #endif
  2564 #endif
  2644   Metaspace::MetadataType nct = Metaspace::NonClassType;
  2659   Metaspace::MetadataType nct = Metaspace::NonClassType;
  2645 
  2660 
  2646   out->print_cr(" Metaspace total "
  2661   out->print_cr(" Metaspace total "
  2647                 SIZE_FORMAT "K, used " SIZE_FORMAT "K,"
  2662                 SIZE_FORMAT "K, used " SIZE_FORMAT "K,"
  2648                 " reserved " SIZE_FORMAT "K",
  2663                 " reserved " SIZE_FORMAT "K",
  2649                 capacity_in_bytes()/K, used_in_bytes()/K, reserved_in_bytes()/K);
  2664                 capacity_in_bytes()/K, used_in_bytes_unsafe()/K, reserved_in_bytes()/K);
  2650   out->print_cr("  data space     "
  2665   out->print_cr("  data space     "
  2651                 SIZE_FORMAT "K, used " SIZE_FORMAT "K,"
  2666                 SIZE_FORMAT "K, used " SIZE_FORMAT "K,"
  2652                 " reserved " SIZE_FORMAT "K",
  2667                 " reserved " SIZE_FORMAT "K",
  2653                 capacity_in_bytes(nct)/K, used_in_bytes(nct)/K, reserved_in_bytes(nct)/K);
  2668                 capacity_in_bytes(nct)/K, used_in_bytes_unsafe(nct)/K, reserved_in_bytes(nct)/K);
  2654   out->print_cr("  class space    "
  2669   out->print_cr("  class space    "
  2655                 SIZE_FORMAT "K, used " SIZE_FORMAT "K,"
  2670                 SIZE_FORMAT "K, used " SIZE_FORMAT "K,"
  2656                 " reserved " SIZE_FORMAT "K",
  2671                 " reserved " SIZE_FORMAT "K",
  2657                 capacity_in_bytes(ct)/K, used_in_bytes(ct)/K, reserved_in_bytes(ct)/K);
  2672                 capacity_in_bytes(ct)/K, used_in_bytes_unsafe(ct)/K, reserved_in_bytes(ct)/K);
  2658 }
  2673 }
  2659 
  2674 
  2660 // Print information for class space and data space separately.
  2675 // Print information for class space and data space separately.
  2661 // This is almost the same as above.
  2676 // This is almost the same as above.
  2662 void MetaspaceAux::print_on(outputStream* out, Metaspace::MetadataType mdtype) {
  2677 void MetaspaceAux::print_on(outputStream* out, Metaspace::MetadataType mdtype) {