src/hotspot/share/shark/shark_globals.hpp
changeset 47216 71c04702a3d5
parent 40010 e32d5e545789
equal deleted inserted replaced
47215:4ebc2e2fb97c 47216:71c04702a3d5
       
     1 /*
       
     2  * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
       
     3  * Copyright 2008, 2009, 2010 Red Hat, Inc.
       
     4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     5  *
       
     6  * This code is free software; you can redistribute it and/or modify it
       
     7  * under the terms of the GNU General Public License version 2 only, as
       
     8  * published by the Free Software Foundation.
       
     9  *
       
    10  * This code is distributed in the hope that it will be useful, but WITHOUT
       
    11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    13  * version 2 for more details (a copy is included in the LICENSE file that
       
    14  * accompanied this code).
       
    15  *
       
    16  * You should have received a copy of the GNU General Public License version
       
    17  * 2 along with this work; if not, write to the Free Software Foundation,
       
    18  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    19  *
       
    20  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    21  * or visit www.oracle.com if you need additional information or have any
       
    22  * questions.
       
    23  *
       
    24  */
       
    25 
       
    26 #ifndef SHARE_VM_SHARK_SHARK_GLOBALS_HPP
       
    27 #define SHARE_VM_SHARK_SHARK_GLOBALS_HPP
       
    28 
       
    29 #include "runtime/globals.hpp"
       
    30 #include "utilities/macros.hpp"
       
    31 #ifdef ZERO
       
    32 # include "shark_globals_zero.hpp"
       
    33 #endif
       
    34 
       
    35 #define SHARK_FLAGS(develop, develop_pd, product, product_pd, diagnostic, diagnostic_pd, notproduct) \
       
    36                                                                               \
       
    37   product(intx, MaxNodeLimit, 65000,                                          \
       
    38           "Maximum number of nodes")                                          \
       
    39                                                                               \
       
    40   /* inlining */                                                              \
       
    41   product(intx, SharkMaxInlineSize, 32,                                       \
       
    42           "Maximum bytecode size of methods to inline when using Shark")      \
       
    43                                                                               \
       
    44   product(bool, EliminateNestedLocks, true,                                   \
       
    45           "Eliminate nested locks of the same object when possible")          \
       
    46                                                                               \
       
    47   product(ccstr, SharkOptimizationLevel, "Default",                           \
       
    48           "The optimization level passed to LLVM, possible values: None, Less, Default and Agressive") \
       
    49                                                                               \
       
    50   /* compiler debugging */                                                    \
       
    51   develop(ccstr, SharkPrintTypeflowOf, NULL,                                  \
       
    52           "Print the typeflow of the specified method")                       \
       
    53                                                                               \
       
    54   diagnostic(ccstr, SharkPrintBitcodeOf, NULL,                                \
       
    55           "Print the LLVM bitcode of the specified method")                   \
       
    56                                                                               \
       
    57   diagnostic(ccstr, SharkPrintAsmOf, NULL,                                    \
       
    58           "Print the asm of the specified method")                            \
       
    59                                                                               \
       
    60   develop(bool, SharkTraceBytecodes, false,                                   \
       
    61           "Trace bytecode compilation")                                       \
       
    62                                                                               \
       
    63   diagnostic(bool, SharkTraceInstalls, false,                                 \
       
    64           "Trace method installation")                                        \
       
    65                                                                               \
       
    66   diagnostic(bool, SharkPerformanceWarnings, false,                           \
       
    67           "Warn about things that could be made faster")                      \
       
    68                                                                               \
       
    69   develop(ccstr, SharkVerifyFunction, NULL,                                   \
       
    70           "Runs LLVM verify over LLVM IR")                                    \
       
    71 
       
    72 
       
    73 SHARK_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_PD_DIAGNOSTIC_FLAG,
       
    74            DECLARE_NOTPRODUCT_FLAG)
       
    75 
       
    76 #endif // SHARE_VM_SHARK_SHARK_GLOBALS_HPP