mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 18:44:38 +02:00
8154239: -Xbootclasspath/a breaks exploded build
Correct exploded modules build system class path search for the boot loader Reviewed-by: acorn, ccheung, hseigel, jiangli
This commit is contained in:
parent
2313844e20
commit
64f4953141
11 changed files with 338 additions and 312 deletions
|
@ -363,6 +363,9 @@ class Arguments : AllStatic {
|
|||
// -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 @@ class Arguments : AllStatic {
|
|||
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 @@ class Arguments : AllStatic {
|
|||
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 @@ class Arguments : AllStatic {
|
|||
|
||||
// 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<ModuleXPatchPath*>* 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(); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue