< prev index next >

src/hotspot/share/cds/cdsConfig.cpp

Print this page

  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "cds/aotLogging.hpp"
  26 #include "cds/aotMapLogger.hpp"
  27 #include "cds/cdsConfig.hpp"
  28 #include "cds/classListWriter.hpp"
  29 #include "cds/filemap.hpp"
  30 #include "cds/heapShared.inline.hpp"
  31 #include "classfile/classLoaderDataShared.hpp"
  32 #include "classfile/moduleEntry.hpp"
  33 #include "code/aotCodeCache.hpp"
  34 #include "include/jvm_io.h"
  35 #include "logging/log.hpp"
  36 #include "memory/universe.hpp"
  37 #include "prims/jvmtiAgentList.hpp"
  38 #include "runtime/arguments.hpp"

  39 #include "runtime/globals_extension.hpp"
  40 #include "runtime/java.hpp"
  41 #include "runtime/vmThread.hpp"
  42 #include "utilities/defaultStream.hpp"
  43 #include "utilities/formatBuffer.hpp"
  44 
  45 bool CDSConfig::_is_dumping_static_archive = false;
  46 bool CDSConfig::_is_dumping_preimage_static_archive = false;
  47 bool CDSConfig::_is_dumping_final_static_archive = false;
  48 bool CDSConfig::_is_dumping_dynamic_archive = false;
  49 bool CDSConfig::_is_using_optimized_module_handling = true;
  50 bool CDSConfig::_is_dumping_full_module_graph = true;
  51 bool CDSConfig::_is_using_full_module_graph = true;
  52 bool CDSConfig::_has_aot_linked_classes = false;
  53 bool CDSConfig::_is_single_command_training = false;
  54 bool CDSConfig::_has_temp_aot_config_file = false;
  55 bool CDSConfig::_old_cds_flags_used = false;
  56 bool CDSConfig::_new_aot_flags_used = false;
  57 bool CDSConfig::_disable_heap_dumping = false;
  58 bool CDSConfig::_is_at_aot_safepoint = false;

 128                 Abstract_VM_Version::vm_variant(), os::file_separator());
 129     } else {
 130       // Assume .jsa is in the same directory where libjvm resides on
 131       // non-static JDK.
 132       char jvm_path[JVM_MAXPATHLEN];
 133       os::jvm_path(jvm_path, sizeof(jvm_path));
 134       char *end = strrchr(jvm_path, *os::file_separator());
 135       if (end != nullptr) *end = '\0';
 136       tmp.print("%s%sclasses", jvm_path, os::file_separator());
 137     }
 138 #ifdef _LP64
 139     if (!UseCompressedOops) {
 140       tmp.print_raw("_nocoops");
 141     }
 142     if (UseCompactObjectHeaders) {
 143       // Note that generation of xxx_coh.jsa variants require
 144       // --enable-cds-archive-coh at build time
 145       tmp.print_raw("_coh");
 146     }
 147 #endif



 148     tmp.print_raw(".jsa");
 149     _default_archive_path = os::strdup(tmp.base());
 150   }
 151   return _default_archive_path;
 152 }
 153 
 154 int CDSConfig::num_archive_paths(const char* path_spec) {
 155   if (path_spec == nullptr) {
 156     return 0;
 157   }
 158   int npaths = 1;
 159   char* p = (char*)path_spec;
 160   while (*p != '\0') {
 161     if (*p == os::path_separator()[0]) {
 162       npaths++;
 163     }
 164     p++;
 165   }
 166   return npaths;
 167 }

  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "cds/aotLogging.hpp"
  26 #include "cds/aotMapLogger.hpp"
  27 #include "cds/cdsConfig.hpp"
  28 #include "cds/classListWriter.hpp"
  29 #include "cds/filemap.hpp"
  30 #include "cds/heapShared.inline.hpp"
  31 #include "classfile/classLoaderDataShared.hpp"
  32 #include "classfile/moduleEntry.hpp"
  33 #include "code/aotCodeCache.hpp"
  34 #include "include/jvm_io.h"
  35 #include "logging/log.hpp"
  36 #include "memory/universe.hpp"
  37 #include "prims/jvmtiAgentList.hpp"
  38 #include "runtime/arguments.hpp"
  39 #include "runtime/globals.hpp"
  40 #include "runtime/globals_extension.hpp"
  41 #include "runtime/java.hpp"
  42 #include "runtime/vmThread.hpp"
  43 #include "utilities/defaultStream.hpp"
  44 #include "utilities/formatBuffer.hpp"
  45 
  46 bool CDSConfig::_is_dumping_static_archive = false;
  47 bool CDSConfig::_is_dumping_preimage_static_archive = false;
  48 bool CDSConfig::_is_dumping_final_static_archive = false;
  49 bool CDSConfig::_is_dumping_dynamic_archive = false;
  50 bool CDSConfig::_is_using_optimized_module_handling = true;
  51 bool CDSConfig::_is_dumping_full_module_graph = true;
  52 bool CDSConfig::_is_using_full_module_graph = true;
  53 bool CDSConfig::_has_aot_linked_classes = false;
  54 bool CDSConfig::_is_single_command_training = false;
  55 bool CDSConfig::_has_temp_aot_config_file = false;
  56 bool CDSConfig::_old_cds_flags_used = false;
  57 bool CDSConfig::_new_aot_flags_used = false;
  58 bool CDSConfig::_disable_heap_dumping = false;
  59 bool CDSConfig::_is_at_aot_safepoint = false;

 129                 Abstract_VM_Version::vm_variant(), os::file_separator());
 130     } else {
 131       // Assume .jsa is in the same directory where libjvm resides on
 132       // non-static JDK.
 133       char jvm_path[JVM_MAXPATHLEN];
 134       os::jvm_path(jvm_path, sizeof(jvm_path));
 135       char *end = strrchr(jvm_path, *os::file_separator());
 136       if (end != nullptr) *end = '\0';
 137       tmp.print("%s%sclasses", jvm_path, os::file_separator());
 138     }
 139 #ifdef _LP64
 140     if (!UseCompressedOops) {
 141       tmp.print_raw("_nocoops");
 142     }
 143     if (UseCompactObjectHeaders) {
 144       // Note that generation of xxx_coh.jsa variants require
 145       // --enable-cds-archive-coh at build time
 146       tmp.print_raw("_coh");
 147     }
 148 #endif
 149     if (Arguments::is_valhalla_enabled()) {
 150       tmp.print_raw("_preview");
 151     }
 152     tmp.print_raw(".jsa");
 153     _default_archive_path = os::strdup(tmp.base());
 154   }
 155   return _default_archive_path;
 156 }
 157 
 158 int CDSConfig::num_archive_paths(const char* path_spec) {
 159   if (path_spec == nullptr) {
 160     return 0;
 161   }
 162   int npaths = 1;
 163   char* p = (char*)path_spec;
 164   while (*p != '\0') {
 165     if (*p == os::path_separator()[0]) {
 166       npaths++;
 167     }
 168     p++;
 169   }
 170   return npaths;
 171 }
< prev index next >