< prev index next > src/hotspot/share/runtime/arguments.hpp
Print this page
/*
! * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
/*
! * Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
ModulePatchPath(const char* module_name, const char* path);
~ModulePatchPath();
inline const char* module_name() const { return _module_name; }
inline char* path_string() const { return _path->value(); }
+ inline void append_path(const char* path) { _path->append_value(path); }
};
// Element describing System and User (-Dkey=value flags) defined property.
//
// An internal SystemProperty is one that has been removed in
// Basic properties are writeable as they operate as "last one wins" and will get overwritten.
// Numbered properties are never writeable, and always internal.
static bool create_module_property(const char* prop_name, const char* prop_value, PropertyInternal internal);
static bool create_numbered_module_property(const char* prop_base_name, const char* prop_value, unsigned int count);
! static int process_patch_mod_option(const char* patch_mod_tail, bool* patch_mod_javabase);
// Aggressive optimization flags.
static jint set_aggressive_opts_flags();
static jint set_aggressive_heap_flags();
// Basic properties are writeable as they operate as "last one wins" and will get overwritten.
// Numbered properties are never writeable, and always internal.
static bool create_module_property(const char* prop_name, const char* prop_value, PropertyInternal internal);
static bool create_numbered_module_property(const char* prop_base_name, const char* prop_value, unsigned int count);
! static int process_patch_mod_option(const char* patch_mod_tail);
// Aggressive optimization flags.
static jint set_aggressive_opts_flags();
static jint set_aggressive_heap_flags();
static jint parse_vm_init_args(const JavaVMInitArgs *vm_options_args,
const JavaVMInitArgs *java_tool_options_args,
const JavaVMInitArgs *java_options_args,
const JavaVMInitArgs *cmd_line_args);
! static jint parse_each_vm_init_arg(const JavaVMInitArgs* args, bool* patch_mod_javabase, JVMFlagOrigin origin);
! static jint finalize_vm_init_args(bool patch_mod_javabase);
static bool is_bad_option(const JavaVMOption* option, jboolean ignore, const char* option_type);
static bool is_bad_option(const JavaVMOption* option, jboolean ignore) {
return is_bad_option(option, ignore, nullptr);
}
static jint parse_vm_init_args(const JavaVMInitArgs *vm_options_args,
const JavaVMInitArgs *java_tool_options_args,
const JavaVMInitArgs *java_options_args,
const JavaVMInitArgs *cmd_line_args);
! static jint parse_each_vm_init_arg(const JavaVMInitArgs* args, JVMFlagOrigin origin);
! static jint finalize_vm_init_args();
static bool is_bad_option(const JavaVMOption* option, jboolean ignore, const char* option_type);
static bool is_bad_option(const JavaVMOption* option, jboolean ignore) {
return is_bad_option(option, ignore, nullptr);
}
static void set_java_home(const char *value) { _java_home->set_value(value); }
static void set_library_path(const char *value) { _java_library_path->set_value(value); }
static void set_ext_dirs(char *value) { _ext_dirs = os::strdup_check_oom(value); }
// Set up the underlying pieces of the boot class path
! static void add_patch_mod_prefix(const char *module_name, const char *path, bool* patch_mod_javabase);
static void set_boot_class_path(const char *value, bool has_jimage) {
// During start up, set by os::set_boot_path()
assert(get_boot_class_path() == nullptr, "Boot class path previously set");
_boot_class_path->set_value(value);
_has_jimage = has_jimage;
static void set_java_home(const char *value) { _java_home->set_value(value); }
static void set_library_path(const char *value) { _java_library_path->set_value(value); }
static void set_ext_dirs(char *value) { _ext_dirs = os::strdup_check_oom(value); }
// Set up the underlying pieces of the boot class path
! static void add_patch_mod_prefix(const char *module_name, const char *path, bool allow_append, bool allow_cds);
+ static int finalize_patch_module();
static void set_boot_class_path(const char *value, bool has_jimage) {
// During start up, set by os::set_boot_path()
assert(get_boot_class_path() == nullptr, "Boot class path previously set");
_boot_class_path->set_value(value);
_has_jimage = has_jimage;
< prev index next >