< prev index next >

src/share/vm/memory/universe.cpp

Print this page
rev 8396 : imported patch epsilon-base


  60 #include "runtime/deoptimization.hpp"
  61 #include "runtime/fprofiler.hpp"
  62 #include "runtime/handles.inline.hpp"
  63 #include "runtime/init.hpp"
  64 #include "runtime/java.hpp"
  65 #include "runtime/javaCalls.hpp"
  66 #include "runtime/sharedRuntime.hpp"
  67 #include "runtime/synchronizer.hpp"
  68 #include "runtime/thread.inline.hpp"
  69 #include "runtime/timer.hpp"
  70 #include "runtime/vm_operations.hpp"
  71 #include "services/memoryService.hpp"
  72 #include "utilities/copy.hpp"
  73 #include "utilities/events.hpp"
  74 #include "utilities/hashtable.inline.hpp"
  75 #include "utilities/preserveException.hpp"
  76 #include "utilities/macros.hpp"
  77 #if INCLUDE_ALL_GCS
  78 #include "gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.hpp"
  79 #include "gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp"


  80 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
  81 #include "gc_implementation/g1/g1CollectorPolicy_ext.hpp"
  82 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
  83 #endif // INCLUDE_ALL_GCS
  84 
  85 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
  86 
  87 // Known objects
  88 Klass* Universe::_boolArrayKlassObj                 = NULL;
  89 Klass* Universe::_byteArrayKlassObj                 = NULL;
  90 Klass* Universe::_charArrayKlassObj                 = NULL;
  91 Klass* Universe::_intArrayKlassObj                  = NULL;
  92 Klass* Universe::_shortArrayKlassObj                = NULL;
  93 Klass* Universe::_longArrayKlassObj                 = NULL;
  94 Klass* Universe::_singleArrayKlassObj               = NULL;
  95 Klass* Universe::_doubleArrayKlassObj               = NULL;
  96 Klass* Universe::_typeArrayKlassObjs[T_VOID+1]      = { NULL /*, NULL...*/ };
  97 Klass* Universe::_objectArrayKlassObj               = NULL;
  98 oop Universe::_int_mirror                             = NULL;
  99 oop Universe::_float_mirror                           = NULL;


 796   return (char*)base; // also return NULL (don't care) for 32-bit VM
 797 }
 798 
 799 jint Universe::initialize_heap() {
 800 
 801   if (UseParallelGC) {
 802 #if INCLUDE_ALL_GCS
 803     Universe::_collectedHeap = new ParallelScavengeHeap();
 804 #else  // INCLUDE_ALL_GCS
 805     fatal("UseParallelGC not supported in this VM.");
 806 #endif // INCLUDE_ALL_GCS
 807 
 808   } else if (UseG1GC) {
 809 #if INCLUDE_ALL_GCS
 810     G1CollectorPolicyExt* g1p = new G1CollectorPolicyExt();
 811     g1p->initialize_all();
 812     G1CollectedHeap* g1h = new G1CollectedHeap(g1p);
 813     Universe::_collectedHeap = g1h;
 814 #else  // INCLUDE_ALL_GCS
 815     fatal("UseG1GC not supported in java kernel vm.");









 816 #endif // INCLUDE_ALL_GCS
 817 
 818   } else {
 819     GenCollectorPolicy *gc_policy;
 820 
 821     if (UseSerialGC) {
 822       gc_policy = new MarkSweepPolicy();
 823     } else if (UseConcMarkSweepGC) {
 824 #if INCLUDE_ALL_GCS
 825       if (UseAdaptiveSizePolicy) {
 826         gc_policy = new ASConcurrentMarkSweepPolicy();
 827       } else {
 828         gc_policy = new ConcurrentMarkSweepPolicy();
 829       }
 830 #else  // INCLUDE_ALL_GCS
 831     fatal("UseConcMarkSweepGC not supported in this VM.");
 832 #endif // INCLUDE_ALL_GCS
 833     } else { // default old generation
 834       gc_policy = new MarkSweepPolicy();
 835     }




  60 #include "runtime/deoptimization.hpp"
  61 #include "runtime/fprofiler.hpp"
  62 #include "runtime/handles.inline.hpp"
  63 #include "runtime/init.hpp"
  64 #include "runtime/java.hpp"
  65 #include "runtime/javaCalls.hpp"
  66 #include "runtime/sharedRuntime.hpp"
  67 #include "runtime/synchronizer.hpp"
  68 #include "runtime/thread.inline.hpp"
  69 #include "runtime/timer.hpp"
  70 #include "runtime/vm_operations.hpp"
  71 #include "services/memoryService.hpp"
  72 #include "utilities/copy.hpp"
  73 #include "utilities/events.hpp"
  74 #include "utilities/hashtable.inline.hpp"
  75 #include "utilities/preserveException.hpp"
  76 #include "utilities/macros.hpp"
  77 #if INCLUDE_ALL_GCS
  78 #include "gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.hpp"
  79 #include "gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp"
  80 #include "gc_implementation/epsilon/epsilonCollectedHeap.hpp"
  81 #include "gc_implementation/epsilon/epsilonCollectorPolicy.hpp"
  82 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
  83 #include "gc_implementation/g1/g1CollectorPolicy_ext.hpp"
  84 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
  85 #endif // INCLUDE_ALL_GCS
  86 
  87 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
  88 
  89 // Known objects
  90 Klass* Universe::_boolArrayKlassObj                 = NULL;
  91 Klass* Universe::_byteArrayKlassObj                 = NULL;
  92 Klass* Universe::_charArrayKlassObj                 = NULL;
  93 Klass* Universe::_intArrayKlassObj                  = NULL;
  94 Klass* Universe::_shortArrayKlassObj                = NULL;
  95 Klass* Universe::_longArrayKlassObj                 = NULL;
  96 Klass* Universe::_singleArrayKlassObj               = NULL;
  97 Klass* Universe::_doubleArrayKlassObj               = NULL;
  98 Klass* Universe::_typeArrayKlassObjs[T_VOID+1]      = { NULL /*, NULL...*/ };
  99 Klass* Universe::_objectArrayKlassObj               = NULL;
 100 oop Universe::_int_mirror                             = NULL;
 101 oop Universe::_float_mirror                           = NULL;


 798   return (char*)base; // also return NULL (don't care) for 32-bit VM
 799 }
 800 
 801 jint Universe::initialize_heap() {
 802 
 803   if (UseParallelGC) {
 804 #if INCLUDE_ALL_GCS
 805     Universe::_collectedHeap = new ParallelScavengeHeap();
 806 #else  // INCLUDE_ALL_GCS
 807     fatal("UseParallelGC not supported in this VM.");
 808 #endif // INCLUDE_ALL_GCS
 809 
 810   } else if (UseG1GC) {
 811 #if INCLUDE_ALL_GCS
 812     G1CollectorPolicyExt* g1p = new G1CollectorPolicyExt();
 813     g1p->initialize_all();
 814     G1CollectedHeap* g1h = new G1CollectedHeap(g1p);
 815     Universe::_collectedHeap = g1h;
 816 #else  // INCLUDE_ALL_GCS
 817     fatal("UseG1GC not supported in java kernel vm.");
 818 #endif // INCLUDE_ALL_GCS
 819 
 820   } else if (UseEpsilonGC) {
 821 #if INCLUDE_ALL_GCS
 822     EpsilonCollectorPolicy* gc_policy = new EpsilonCollectorPolicy();
 823     gc_policy->initialize_all();
 824     Universe::_collectedHeap = new EpsilonCollectedHeap(gc_policy);
 825 #else  // INCLUDE_ALL_GCS
 826     fatal("UseEpsilonGC not supported in java kernel vm.");
 827 #endif // INCLUDE_ALL_GCS
 828 
 829   } else {
 830     GenCollectorPolicy *gc_policy;
 831 
 832     if (UseSerialGC) {
 833       gc_policy = new MarkSweepPolicy();
 834     } else if (UseConcMarkSweepGC) {
 835 #if INCLUDE_ALL_GCS
 836       if (UseAdaptiveSizePolicy) {
 837         gc_policy = new ASConcurrentMarkSweepPolicy();
 838       } else {
 839         gc_policy = new ConcurrentMarkSweepPolicy();
 840       }
 841 #else  // INCLUDE_ALL_GCS
 842     fatal("UseConcMarkSweepGC not supported in this VM.");
 843 #endif // INCLUDE_ALL_GCS
 844     } else { // default old generation
 845       gc_policy = new MarkSweepPolicy();
 846     }


< prev index next >