< 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;

 141                 Abstract_VM_Version::vm_variant(), os::file_separator());
 142     } else {
 143       // Assume .jsa is in the same directory where libjvm resides on
 144       // non-static JDK.
 145       char jvm_path[JVM_MAXPATHLEN];
 146       os::jvm_path(jvm_path, sizeof(jvm_path));
 147       char *end = strrchr(jvm_path, *os::file_separator());
 148       if (end != nullptr) *end = '\0';
 149       tmp.print("%s%sclasses", jvm_path, os::file_separator());
 150     }
 151 #ifdef _LP64
 152     if (!UseCompressedOops) {
 153       tmp.print_raw("_nocoops");
 154     }
 155     if (!UseCompactObjectHeaders) {
 156       // Note that generation of xxx_nocoh.jsa variants require
 157       // --enable-cds-archive-nocoh at build time
 158       tmp.print_raw("_nocoh");
 159     }
 160 #endif



 161     tmp.print_raw(".jsa");
 162     _default_archive_path = os::strdup(tmp.base());
 163   }
 164   return _default_archive_path;
 165 }
 166 
 167 int CDSConfig::num_archive_paths(const char* path_spec) {
 168   if (path_spec == nullptr) {
 169     return 0;
 170   }
 171   int npaths = 1;
 172   char* p = (char*)path_spec;
 173   while (*p != '\0') {
 174     if (*p == os::path_separator()[0]) {
 175       npaths++;
 176     }
 177     p++;
 178   }
 179   return npaths;
 180 }

  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;

 142                 Abstract_VM_Version::vm_variant(), os::file_separator());
 143     } else {
 144       // Assume .jsa is in the same directory where libjvm resides on
 145       // non-static JDK.
 146       char jvm_path[JVM_MAXPATHLEN];
 147       os::jvm_path(jvm_path, sizeof(jvm_path));
 148       char *end = strrchr(jvm_path, *os::file_separator());
 149       if (end != nullptr) *end = '\0';
 150       tmp.print("%s%sclasses", jvm_path, os::file_separator());
 151     }
 152 #ifdef _LP64
 153     if (!UseCompressedOops) {
 154       tmp.print_raw("_nocoops");
 155     }
 156     if (!UseCompactObjectHeaders) {
 157       // Note that generation of xxx_nocoh.jsa variants require
 158       // --enable-cds-archive-nocoh at build time
 159       tmp.print_raw("_nocoh");
 160     }
 161 #endif
 162     if (Arguments::is_valhalla_enabled()) {
 163       tmp.print_raw("_preview");
 164     }
 165     tmp.print_raw(".jsa");
 166     _default_archive_path = os::strdup(tmp.base());
 167   }
 168   return _default_archive_path;
 169 }
 170 
 171 int CDSConfig::num_archive_paths(const char* path_spec) {
 172   if (path_spec == nullptr) {
 173     return 0;
 174   }
 175   int npaths = 1;
 176   char* p = (char*)path_spec;
 177   while (*p != '\0') {
 178     if (*p == os::path_separator()[0]) {
 179       npaths++;
 180     }
 181     p++;
 182   }
 183   return npaths;
 184 }
< prev index next >