< prev index next >

src/hotspot/share/runtime/arguments.cpp

Print this page

        

*** 3462,3486 **** } } // Sharing support // Construct the path to the archive ! static char* get_shared_archive_path() { ! char *shared_archive_path; ! if (SharedArchiveFile == NULL) { char jvm_path[JVM_MAXPATHLEN]; os::jvm_path(jvm_path, sizeof(jvm_path)); char *end = strrchr(jvm_path, *os::file_separator()); if (end != NULL) *end = '\0'; size_t jvm_path_len = strlen(jvm_path); size_t file_sep_len = strlen(os::file_separator()); const size_t len = jvm_path_len + file_sep_len + 20; ! shared_archive_path = NEW_C_HEAP_ARRAY(char, len, mtArguments); ! if (shared_archive_path != NULL) { ! jio_snprintf(shared_archive_path, len, "%s%sclasses.jsa", jvm_path, os::file_separator()); } } else { shared_archive_path = os::strdup_check_oom(SharedArchiveFile, mtArguments); } return shared_archive_path; } --- 3462,3492 ---- } } // Sharing support // Construct the path to the archive ! char* Arguments::get_default_shared_archive_path() { ! char *default_archive_path; char jvm_path[JVM_MAXPATHLEN]; os::jvm_path(jvm_path, sizeof(jvm_path)); char *end = strrchr(jvm_path, *os::file_separator()); if (end != NULL) *end = '\0'; size_t jvm_path_len = strlen(jvm_path); size_t file_sep_len = strlen(os::file_separator()); const size_t len = jvm_path_len + file_sep_len + 20; ! default_archive_path = NEW_C_HEAP_ARRAY(char, len, mtArguments); ! if (default_archive_path != NULL) { ! jio_snprintf(default_archive_path, len, "%s%sclasses.jsa", jvm_path, os::file_separator()); } + return default_archive_path; + } + + static char* get_shared_archive_path() { + char *shared_archive_path; + if (SharedArchiveFile == NULL) { + shared_archive_path = Arguments::get_default_shared_archive_path(); } else { shared_archive_path = os::strdup_check_oom(SharedArchiveFile, mtArguments); } return shared_archive_path; }
< prev index next >