diff -r f69cfe79fe98 -r 943cf01a6b82 hotspot/src/share/vm/runtime/arguments.hpp --- a/hotspot/src/share/vm/runtime/arguments.hpp Tue Jul 26 11:04:20 2016 +0200 +++ b/hotspot/src/share/vm/runtime/arguments.hpp Tue Jul 26 10:29:27 2016 -0400 @@ -363,6 +363,9 @@ // -Xbootclasspath/p was supported. static PathString *_system_boot_class_path; + // Set if a modular java runtime image is present vs. a build with exploded modules + static bool _has_jimage; + // temporary: to emit warning if the default ext dirs are not empty. // remove this variable when the warning is no longer needed. static char* _ext_dirs; @@ -411,11 +414,6 @@ static void set_java_compiler(bool arg) { _java_compiler = arg; } static bool java_compiler() { return _java_compiler; } - // Capture the index location of -Xbootclasspath\a within sysclasspath. - // Used when setting up the bootstrap search path in order to - // mark the boot loader's append path observability boundary. - static int _bootclassloader_append_index; - // -Xdebug flag static bool _xdebug_mode; static void set_xdebug_mode(bool arg) { _xdebug_mode = arg; } @@ -669,17 +667,6 @@ static size_t min_heap_size() { return _min_heap_size; } static void set_min_heap_size(size_t v) { _min_heap_size = v; } - // -Xbootclasspath/a - static int bootclassloader_append_index() { - return _bootclassloader_append_index; - } - static void set_bootclassloader_append_index(int value) { - // Set only if the index has not been set yet - if (_bootclassloader_append_index == -1) { - _bootclassloader_append_index = value; - } - } - // -Xrun static AgentLibrary* libraries() { return _libraryList.first(); } static bool init_libraries_at_startup() { return !_libraryList.is_empty(); } @@ -739,19 +726,21 @@ // Set up the underlying pieces of the system boot class path static void add_xpatchprefix(const char *module_name, const char *path, bool* xpatch_javabase); - static void set_sysclasspath(const char *value) { + static void set_sysclasspath(const char *value, bool has_jimage) { + // During start up, set by os::set_boot_path() + assert(get_sysclasspath() == NULL, "System boot class path previously set"); _system_boot_class_path->set_value(value); - set_jdkbootclasspath_append(); + _has_jimage = has_jimage; } static void append_sysclasspath(const char *value) { _system_boot_class_path->append_value(value); - set_jdkbootclasspath_append(); + _jdk_boot_class_path_append->append_value(value); } - static void set_jdkbootclasspath_append(); static GrowableArray* get_xpatchprefix() { return _xpatchprefix; } static char* get_sysclasspath() { return _system_boot_class_path->value(); } static char* get_jdk_boot_class_path_append() { return _jdk_boot_class_path_append->value(); } + static bool has_jimage() { return _has_jimage; } static char* get_java_home() { return _java_home->value(); } static char* get_dll_dir() { return _sun_boot_library_path->value(); }