src/share/vm/shark/shark_globals.hpp

Tue, 18 Jun 2013 12:31:07 -0700

author
johnc
date
Tue, 18 Jun 2013 12:31:07 -0700
changeset 5277
01522ca68fc7
parent 4314
2cd5e15048e6
child 6876
710a3c8b516e
permissions
-rw-r--r--

8015237: Parallelize string table scanning during strong root processing
Summary: Parallelize the scanning of the intern string table by having each GC worker claim a given number of buckets. Changes were also reviewed by Per Liden <per.liden@oracle.com>.
Reviewed-by: tschatzl, stefank, twisti

     1 /*
     2  * Copyright (c) 2000, 2010, 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  */
    26 #ifndef SHARE_VM_SHARK_SHARK_GLOBALS_HPP
    27 #define SHARE_VM_SHARK_SHARK_GLOBALS_HPP
    29 #include "runtime/globals.hpp"
    30 #ifdef TARGET_ARCH_zero
    31 # include "shark_globals_zero.hpp"
    32 #endif
    34 #define SHARK_FLAGS(develop, develop_pd, product, product_pd, diagnostic, notproduct) \
    35                                                                               \
    36   product(intx, MaxNodeLimit, 65000,                                          \
    37           "Maximum number of nodes")                                          \
    38                                                                               \
    39   /* inlining */                                                              \
    40   product(intx, SharkMaxInlineSize, 32,                                       \
    41           "Maximum bytecode size of methods to inline when using Shark")      \
    42                                                                               \
    43   product(bool, EliminateNestedLocks, true,                                   \
    44           "Eliminate nested locks of the same object when possible")          \
    45                                                                               \
    46   product(ccstr, SharkOptimizationLevel, "Default",                           \
    47           "The optimization level passed to LLVM, possible values: None, Less, Default and Agressive") \
    48                                                                               \
    49   /* compiler debugging */                                                    \
    50   develop(ccstr, SharkPrintTypeflowOf, NULL,                                  \
    51           "Print the typeflow of the specified method")                       \
    52                                                                               \
    53   diagnostic(ccstr, SharkPrintBitcodeOf, NULL,                                \
    54           "Print the LLVM bitcode of the specified method")                   \
    55                                                                               \
    56   diagnostic(ccstr, SharkPrintAsmOf, NULL,                                    \
    57           "Print the asm of the specified method")                            \
    58                                                                               \
    59   develop(bool, SharkTraceBytecodes, false,                                   \
    60           "Trace bytecode compilation")                                       \
    61                                                                               \
    62   diagnostic(bool, SharkTraceInstalls, false,                                 \
    63           "Trace method installation")                                        \
    64                                                                               \
    65   diagnostic(bool, SharkPerformanceWarnings, false,                           \
    66           "Warn about things that could be made faster")                      \
    67                                                                               \
    68   develop(ccstr, SharkVerifyFunction, NULL,                                   \
    69           "Runs LLVM verify over LLVM IR")                                    \
    72 SHARK_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG)
    74 #endif // SHARE_VM_SHARK_SHARK_GLOBALS_HPP

mercurial