< prev index next >

src/hotspot/share/classfile/classLoader.inline.hpp

Print this page




  45     // The java runtime image is always the first entry
  46     // in the FileMapInfo::_classpath_entry_table. Even though
  47     // the _jrt_entry is not included in the _first_append_entry
  48     // linked list, it must be accounted for when comparing the
  49     // class path vs. the shared archive class path.
  50     ClassPathEntry* e = ClassLoader::_first_append_entry;
  51     while (--n >= 1) {
  52       assert(e != NULL, "Not that many classpath entries.");
  53       e = e->next();
  54     }
  55     return e;
  56   }
  57 }
  58 
  59 #if INCLUDE_CDS
  60 
  61 // Helper function used by CDS code to get the number of boot classpath
  62 // entries during shared classpath setup time.
  63 
  64 inline int ClassLoader::num_boot_classpath_entries() {
  65   assert(DumpSharedSpaces || DynamicDumpSharedSpaces,
  66          "Should only be called at CDS dump time");
  67   assert(has_jrt_entry(), "must have a java runtime image");
  68   int num_entries = 1; // count the runtime image
  69   ClassPathEntry* e = ClassLoader::_first_append_entry;
  70   while (e != NULL) {
  71     num_entries ++;
  72     e = e->next();
  73   }
  74   return num_entries;
  75 }
  76 
  77 inline ClassPathEntry* ClassLoader::get_next_boot_classpath_entry(ClassPathEntry* e) {
  78   if (e == ClassLoader::_jrt_entry) {
  79     return ClassLoader::_first_append_entry;
  80   } else {
  81     return e->next();
  82   }
  83 }
  84 
  85 // Helper function used by CDS code to get the number of app classpath
  86 // entries during shared classpath setup time.
  87 inline int ClassLoader::num_app_classpath_entries() {
  88   assert(DumpSharedSpaces || DynamicDumpSharedSpaces,
  89          "Should only be called at CDS dump time");
  90   int num_entries = 0;
  91   ClassPathEntry* e= ClassLoader::_app_classpath_entries;
  92   while (e != NULL) {
  93     num_entries ++;
  94     e = e->next();
  95   }
  96   return num_entries;
  97 }
  98 
  99 #endif // INCLUDE_CDS
 100 
 101 #endif // SHARE_CLASSFILE_CLASSLOADER_INLINE_HPP


  45     // The java runtime image is always the first entry
  46     // in the FileMapInfo::_classpath_entry_table. Even though
  47     // the _jrt_entry is not included in the _first_append_entry
  48     // linked list, it must be accounted for when comparing the
  49     // class path vs. the shared archive class path.
  50     ClassPathEntry* e = ClassLoader::_first_append_entry;
  51     while (--n >= 1) {
  52       assert(e != NULL, "Not that many classpath entries.");
  53       e = e->next();
  54     }
  55     return e;
  56   }
  57 }
  58 
  59 #if INCLUDE_CDS
  60 
  61 // Helper function used by CDS code to get the number of boot classpath
  62 // entries during shared classpath setup time.
  63 
  64 inline int ClassLoader::num_boot_classpath_entries() {
  65   assert(Arguments::is_dumping_archive(),
  66          "Should only be called at CDS dump time");
  67   assert(has_jrt_entry(), "must have a java runtime image");
  68   int num_entries = 1; // count the runtime image
  69   ClassPathEntry* e = ClassLoader::_first_append_entry;
  70   while (e != NULL) {
  71     num_entries ++;
  72     e = e->next();
  73   }
  74   return num_entries;
  75 }
  76 
  77 inline ClassPathEntry* ClassLoader::get_next_boot_classpath_entry(ClassPathEntry* e) {
  78   if (e == ClassLoader::_jrt_entry) {
  79     return ClassLoader::_first_append_entry;
  80   } else {
  81     return e->next();
  82   }
  83 }
  84 
  85 // Helper function used by CDS code to get the number of app classpath
  86 // entries during shared classpath setup time.
  87 inline int ClassLoader::num_app_classpath_entries() {
  88   assert(Arguments::is_dumping_archive(),
  89          "Should only be called at CDS dump time");
  90   int num_entries = 0;
  91   ClassPathEntry* e= ClassLoader::_app_classpath_entries;
  92   while (e != NULL) {
  93     num_entries ++;
  94     e = e->next();
  95   }
  96   return num_entries;
  97 }
  98 
  99 #endif // INCLUDE_CDS
 100 
 101 #endif // SHARE_CLASSFILE_CLASSLOADER_INLINE_HPP
< prev index next >