hotspot/src/share/vm/runtime/arguments.hpp
changeset 35489 368deab8e88b
parent 35466 4ace9ef0201b
child 35872 7fb1e4de83ff
equal deleted inserted replaced
35488:bca41d0c2a15 35489:368deab8e88b
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    23  */
    23  */
    24 
    24 
    25 #ifndef SHARE_VM_RUNTIME_ARGUMENTS_HPP
    25 #ifndef SHARE_VM_RUNTIME_ARGUMENTS_HPP
    26 #define SHARE_VM_RUNTIME_ARGUMENTS_HPP
    26 #define SHARE_VM_RUNTIME_ARGUMENTS_HPP
    27 
    27 
       
    28 #include "logging/logLevel.hpp"
       
    29 #include "logging/logTag.hpp"
    28 #include "runtime/java.hpp"
    30 #include "runtime/java.hpp"
    29 #include "runtime/os.hpp"
    31 #include "runtime/os.hpp"
    30 #include "runtime/perfData.hpp"
    32 #include "runtime/perfData.hpp"
    31 #include "utilities/debug.hpp"
    33 #include "utilities/debug.hpp"
    32 #include "utilities/top.hpp"
    34 #include "utilities/top.hpp"
   220   }
   222   }
   221 };
   223 };
   222 
   224 
   223 // Helper class for controlling the lifetime of JavaVMInitArgs objects.
   225 // Helper class for controlling the lifetime of JavaVMInitArgs objects.
   224 class ScopedVMInitArgs;
   226 class ScopedVMInitArgs;
       
   227 
       
   228 // Most logging functions require 5 tags. Some of them may be _NO_TAG.
       
   229 typedef struct {
       
   230   const char* alias_name;
       
   231   LogLevelType level;
       
   232   bool exactMatch;
       
   233   LogTagType tag;
       
   234 } AliasedLoggingFlag;
   225 
   235 
   226 class Arguments : AllStatic {
   236 class Arguments : AllStatic {
   227   friend class VMStructs;
   237   friend class VMStructs;
   228   friend class JvmtiExport;
   238   friend class JvmtiExport;
   229   friend class CodeCacheExtensions;
   239   friend class CodeCacheExtensions;
   447 
   457 
   448   // Return the "real" name for option arg if arg is an alias, and print a warning if arg is deprecated.
   458   // Return the "real" name for option arg if arg is an alias, and print a warning if arg is deprecated.
   449   // Return NULL if the arg has expired.
   459   // Return NULL if the arg has expired.
   450   static const char* handle_aliases_and_deprecation(const char* arg, bool warn);
   460   static const char* handle_aliases_and_deprecation(const char* arg, bool warn);
   451   static bool lookup_logging_aliases(const char* arg, char* buffer);
   461   static bool lookup_logging_aliases(const char* arg, char* buffer);
   452 
   462   static AliasedLoggingFlag catch_logging_aliases(const char* name);
   453   static short  CompileOnlyClassesNum;
   463   static short  CompileOnlyClassesNum;
   454   static short  CompileOnlyClassesMax;
   464   static short  CompileOnlyClassesMax;
   455   static char** CompileOnlyClasses;
   465   static char** CompileOnlyClasses;
   456   static bool*  CompileOnlyAllMethods;
   466   static bool*  CompileOnlyAllMethods;
   457 
   467