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