< 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 #include "utilities/globalDefinitions.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;

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



 168     tmp.print_raw(".jsa");
 169     _default_archive_path = os::strdup(tmp.base());
 170   }
 171   return _default_archive_path;
 172 }
 173 
 174 int CDSConfig::num_archive_paths(const char* path_spec) {
 175   if (path_spec == nullptr) {
 176     return 0;
 177   }
 178   int npaths = 1;
 179   char* p = (char*)path_spec;
 180   while (*p != '\0') {
 181     if (*p == os::path_separator()[0]) {
 182       npaths++;
 183     }
 184     p++;
 185   }
 186   return npaths;
 187 }

  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 #include "utilities/globalDefinitions.hpp"
  46 
  47 bool CDSConfig::_is_dumping_static_archive = false;
  48 bool CDSConfig::_is_dumping_preimage_static_archive = false;
  49 bool CDSConfig::_is_dumping_final_static_archive = false;
  50 bool CDSConfig::_is_dumping_dynamic_archive = false;
  51 bool CDSConfig::_is_using_optimized_module_handling = true;
  52 bool CDSConfig::_is_dumping_full_module_graph = true;
  53 bool CDSConfig::_is_using_full_module_graph = true;
  54 bool CDSConfig::_has_aot_linked_classes = false;
  55 bool CDSConfig::_is_single_command_training = false;
  56 bool CDSConfig::_has_temp_aot_config_file = false;
  57 bool CDSConfig::_old_cds_flags_used = false;
  58 bool CDSConfig::_new_aot_flags_used = false;
  59 bool CDSConfig::_disable_heap_dumping = false;

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