hotspot/src/share/vm/runtime/arguments.hpp
changeset 40013 943cf01a6b82
parent 38207 2ed792c9481d
child 40244 b3055c216762
equal deleted inserted replaced
40012:f69cfe79fe98 40013:943cf01a6b82
   361   // boot class path string no longer contains the "prefix" to
   361   // boot class path string no longer contains the "prefix" to
   362   // the boot class path base piece as it did when
   362   // the boot class path base piece as it did when
   363   // -Xbootclasspath/p was supported.
   363   // -Xbootclasspath/p was supported.
   364   static PathString *_system_boot_class_path;
   364   static PathString *_system_boot_class_path;
   365 
   365 
       
   366   // Set if a modular java runtime image is present vs. a build with exploded modules
       
   367   static bool _has_jimage;
       
   368 
   366   // temporary: to emit warning if the default ext dirs are not empty.
   369   // temporary: to emit warning if the default ext dirs are not empty.
   367   // remove this variable when the warning is no longer needed.
   370   // remove this variable when the warning is no longer needed.
   368   static char* _ext_dirs;
   371   static char* _ext_dirs;
   369 
   372 
   370   // java.vendor.url.bug, bug reporting URL for fatal errors.
   373   // java.vendor.url.bug, bug reporting URL for fatal errors.
   408   static Mode _mode;
   411   static Mode _mode;
   409   static void set_mode_flags(Mode mode);
   412   static void set_mode_flags(Mode mode);
   410   static bool _java_compiler;
   413   static bool _java_compiler;
   411   static void set_java_compiler(bool arg) { _java_compiler = arg; }
   414   static void set_java_compiler(bool arg) { _java_compiler = arg; }
   412   static bool java_compiler()   { return _java_compiler; }
   415   static bool java_compiler()   { return _java_compiler; }
   413 
       
   414   // Capture the index location of -Xbootclasspath\a within sysclasspath.
       
   415   // Used when setting up the bootstrap search path in order to
       
   416   // mark the boot loader's append path observability boundary.
       
   417   static int _bootclassloader_append_index;
       
   418 
   416 
   419   // -Xdebug flag
   417   // -Xdebug flag
   420   static bool _xdebug_mode;
   418   static bool _xdebug_mode;
   421   static void set_xdebug_mode(bool arg) { _xdebug_mode = arg; }
   419   static void set_xdebug_mode(bool arg) { _xdebug_mode = arg; }
   422   static bool xdebug_mode()             { return _xdebug_mode; }
   420   static bool xdebug_mode()             { return _xdebug_mode; }
   667 
   665 
   668   // -Xms
   666   // -Xms
   669   static size_t min_heap_size()             { return _min_heap_size; }
   667   static size_t min_heap_size()             { return _min_heap_size; }
   670   static void  set_min_heap_size(size_t v)  { _min_heap_size = v;  }
   668   static void  set_min_heap_size(size_t v)  { _min_heap_size = v;  }
   671 
   669 
   672   // -Xbootclasspath/a
       
   673   static int  bootclassloader_append_index() {
       
   674     return _bootclassloader_append_index;
       
   675   }
       
   676   static void set_bootclassloader_append_index(int value) {
       
   677     // Set only if the index has not been set yet
       
   678     if (_bootclassloader_append_index == -1) {
       
   679       _bootclassloader_append_index = value;
       
   680     }
       
   681   }
       
   682 
       
   683   // -Xrun
   670   // -Xrun
   684   static AgentLibrary* libraries()          { return _libraryList.first(); }
   671   static AgentLibrary* libraries()          { return _libraryList.first(); }
   685   static bool init_libraries_at_startup()   { return !_libraryList.is_empty(); }
   672   static bool init_libraries_at_startup()   { return !_libraryList.is_empty(); }
   686   static void convert_library_to_agent(AgentLibrary* lib)
   673   static void convert_library_to_agent(AgentLibrary* lib)
   687                                             { _libraryList.remove(lib);
   674                                             { _libraryList.remove(lib);
   737   static void set_library_path(const char *value) { _java_library_path->set_value(value); }
   724   static void set_library_path(const char *value) { _java_library_path->set_value(value); }
   738   static void set_ext_dirs(char *value)     { _ext_dirs = os::strdup_check_oom(value); }
   725   static void set_ext_dirs(char *value)     { _ext_dirs = os::strdup_check_oom(value); }
   739 
   726 
   740   // Set up the underlying pieces of the system boot class path
   727   // Set up the underlying pieces of the system boot class path
   741   static void add_xpatchprefix(const char *module_name, const char *path, bool* xpatch_javabase);
   728   static void add_xpatchprefix(const char *module_name, const char *path, bool* xpatch_javabase);
   742   static void set_sysclasspath(const char *value) {
   729   static void set_sysclasspath(const char *value, bool has_jimage) {
       
   730     // During start up, set by os::set_boot_path()
       
   731     assert(get_sysclasspath() == NULL, "System boot class path previously set");
   743     _system_boot_class_path->set_value(value);
   732     _system_boot_class_path->set_value(value);
   744     set_jdkbootclasspath_append();
   733     _has_jimage = has_jimage;
   745   }
   734   }
   746   static void append_sysclasspath(const char *value) {
   735   static void append_sysclasspath(const char *value) {
   747     _system_boot_class_path->append_value(value);
   736     _system_boot_class_path->append_value(value);
   748     set_jdkbootclasspath_append();
   737     _jdk_boot_class_path_append->append_value(value);
   749   }
   738   }
   750   static void set_jdkbootclasspath_append();
       
   751 
   739 
   752   static GrowableArray<ModuleXPatchPath*>* get_xpatchprefix() { return _xpatchprefix; }
   740   static GrowableArray<ModuleXPatchPath*>* get_xpatchprefix() { return _xpatchprefix; }
   753   static char* get_sysclasspath() { return _system_boot_class_path->value(); }
   741   static char* get_sysclasspath() { return _system_boot_class_path->value(); }
   754   static char* get_jdk_boot_class_path_append() { return _jdk_boot_class_path_append->value(); }
   742   static char* get_jdk_boot_class_path_append() { return _jdk_boot_class_path_append->value(); }
       
   743   static bool has_jimage() { return _has_jimage; }
   755 
   744 
   756   static char* get_java_home()    { return _java_home->value(); }
   745   static char* get_java_home()    { return _java_home->value(); }
   757   static char* get_dll_dir()      { return _sun_boot_library_path->value(); }
   746   static char* get_dll_dir()      { return _sun_boot_library_path->value(); }
   758   static char* get_ext_dirs()     { return _ext_dirs;  }
   747   static char* get_ext_dirs()     { return _ext_dirs;  }
   759   static char* get_appclasspath() { return _java_class_path->value(); }
   748   static char* get_appclasspath() { return _java_class_path->value(); }