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 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #if !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK) 26 define_pd_global(bool, BackgroundCompilation, false); 27 define_pd_global(bool, UseTLAB, false); 28 define_pd_global(bool, CICompileOSR, false); 29 define_pd_global(bool, UseTypeProfile, false); 30 define_pd_global(bool, UseOnStackReplacement, false); 31 define_pd_global(bool, InlineIntrinsics, false); 32 define_pd_global(bool, PreferInterpreterNativeStubs, true); 33 define_pd_global(bool, ProfileInterpreter, false); 34 define_pd_global(bool, ProfileTraps, false); 35 define_pd_global(bool, TieredCompilation, false); 36 37 define_pd_global(intx, CompileThreshold, 0); 38 define_pd_global(intx, BackEdgeThreshold, 0); 39 40 define_pd_global(intx, OnStackReplacePercentage, 0); 41 define_pd_global(bool, ResizeTLAB, false); 42 define_pd_global(intx, FreqInlineSize, 0); 43 define_pd_global(intx, InlineSmallCode, 0); 44 define_pd_global(intx, NewSizeThreadIncrease, 4*K); 3666 #define MATERIALIZE_MANAGEABLE_FLAG(type, name, value, doc) type name = value; 3667 #define MATERIALIZE_PRODUCT_RW_FLAG(type, name, value, doc) type name = value; 3668 #ifdef PRODUCT 3669 #define MATERIALIZE_DEVELOPER_FLAG(type, name, value, doc) /* flag name is constant */ 3670 #define MATERIALIZE_PD_DEVELOPER_FLAG(type, name, doc) /* flag name is constant */ 3671 #define MATERIALIZE_NOTPRODUCT_FLAG(type, name, value, doc) 3672 #else 3673 #define MATERIALIZE_DEVELOPER_FLAG(type, name, value, doc) type name = value; 3674 #define MATERIALIZE_PD_DEVELOPER_FLAG(type, name, doc) type name = pd_##name; 3675 #define MATERIALIZE_NOTPRODUCT_FLAG(type, name, value, doc) type name = value; 3676 #endif 3677 #ifdef _LP64 3678 #define MATERIALIZE_LP64_PRODUCT_FLAG(type, name, value, doc) type name = value; 3679 #else 3680 #define MATERIALIZE_LP64_PRODUCT_FLAG(type, name, value, doc) /* flag is constant */ 3681 #endif // _LP64 3682 3683 RUNTIME_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG, DECLARE_LP64_PRODUCT_FLAG) 3684 3685 RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG) | 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 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #ifndef SHARE_VM_RUNTIME_GLOBALS_HPP 26 #define SHARE_VM_RUNTIME_GLOBALS_HPP 27 28 #include "utilities/debug.hpp" 29 #ifdef TARGET_ARCH_x86 30 # include "globals_x86.hpp" 31 #endif 32 #ifdef TARGET_ARCH_sparc 33 # include "globals_sparc.hpp" 34 #endif 35 #ifdef TARGET_ARCH_zero 36 # include "globals_zero.hpp" 37 #endif 38 #ifdef TARGET_OS_FAMILY_linux 39 # include "globals_linux.hpp" 40 #endif 41 #ifdef TARGET_OS_FAMILY_solaris 42 # include "globals_solaris.hpp" 43 #endif 44 #ifdef TARGET_OS_FAMILY_windows 45 # include "globals_windows.hpp" 46 #endif 47 #ifdef TARGET_OS_ARCH_linux_x86 48 # include "globals_linux_x86.hpp" 49 #endif 50 #ifdef TARGET_OS_ARCH_linux_sparc 51 # include "globals_linux_sparc.hpp" 52 #endif 53 #ifdef TARGET_OS_ARCH_linux_zero 54 # include "globals_linux_zero.hpp" 55 #endif 56 #ifdef TARGET_OS_ARCH_solaris_x86 57 # include "globals_solaris_x86.hpp" 58 #endif 59 #ifdef TARGET_OS_ARCH_solaris_sparc 60 # include "globals_solaris_sparc.hpp" 61 #endif 62 #ifdef TARGET_OS_ARCH_windows_x86 63 # include "globals_windows_x86.hpp" 64 #endif 65 #ifdef COMPILER1 66 #ifdef TARGET_ARCH_x86 67 # include "c1_globals_x86.hpp" 68 #endif 69 #ifdef TARGET_ARCH_sparc 70 # include "c1_globals_sparc.hpp" 71 #endif 72 #ifdef TARGET_OS_FAMILY_linux 73 # include "c1_globals_linux.hpp" 74 #endif 75 #ifdef TARGET_OS_FAMILY_solaris 76 # include "c1_globals_solaris.hpp" 77 #endif 78 #ifdef TARGET_OS_FAMILY_windows 79 # include "c1_globals_windows.hpp" 80 #endif 81 #endif 82 #ifdef COMPILER2 83 #ifdef TARGET_ARCH_x86 84 # include "c2_globals_x86.hpp" 85 #endif 86 #ifdef TARGET_ARCH_sparc 87 # include "c2_globals_sparc.hpp" 88 #endif 89 #ifdef TARGET_OS_FAMILY_linux 90 # include "c2_globals_linux.hpp" 91 #endif 92 #ifdef TARGET_OS_FAMILY_solaris 93 # include "c2_globals_solaris.hpp" 94 #endif 95 #ifdef TARGET_OS_FAMILY_windows 96 # include "c2_globals_windows.hpp" 97 #endif 98 #endif 99 #ifdef SHARK 100 #ifdef TARGET_ARCH_zero 101 # include "shark_globals_zero.hpp" 102 #endif 103 #endif 104 105 #if !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK) 106 define_pd_global(bool, BackgroundCompilation, false); 107 define_pd_global(bool, UseTLAB, false); 108 define_pd_global(bool, CICompileOSR, false); 109 define_pd_global(bool, UseTypeProfile, false); 110 define_pd_global(bool, UseOnStackReplacement, false); 111 define_pd_global(bool, InlineIntrinsics, false); 112 define_pd_global(bool, PreferInterpreterNativeStubs, true); 113 define_pd_global(bool, ProfileInterpreter, false); 114 define_pd_global(bool, ProfileTraps, false); 115 define_pd_global(bool, TieredCompilation, false); 116 117 define_pd_global(intx, CompileThreshold, 0); 118 define_pd_global(intx, BackEdgeThreshold, 0); 119 120 define_pd_global(intx, OnStackReplacePercentage, 0); 121 define_pd_global(bool, ResizeTLAB, false); 122 define_pd_global(intx, FreqInlineSize, 0); 123 define_pd_global(intx, InlineSmallCode, 0); 124 define_pd_global(intx, NewSizeThreadIncrease, 4*K); 3746 #define MATERIALIZE_MANAGEABLE_FLAG(type, name, value, doc) type name = value; 3747 #define MATERIALIZE_PRODUCT_RW_FLAG(type, name, value, doc) type name = value; 3748 #ifdef PRODUCT 3749 #define MATERIALIZE_DEVELOPER_FLAG(type, name, value, doc) /* flag name is constant */ 3750 #define MATERIALIZE_PD_DEVELOPER_FLAG(type, name, doc) /* flag name is constant */ 3751 #define MATERIALIZE_NOTPRODUCT_FLAG(type, name, value, doc) 3752 #else 3753 #define MATERIALIZE_DEVELOPER_FLAG(type, name, value, doc) type name = value; 3754 #define MATERIALIZE_PD_DEVELOPER_FLAG(type, name, doc) type name = pd_##name; 3755 #define MATERIALIZE_NOTPRODUCT_FLAG(type, name, value, doc) type name = value; 3756 #endif 3757 #ifdef _LP64 3758 #define MATERIALIZE_LP64_PRODUCT_FLAG(type, name, value, doc) type name = value; 3759 #else 3760 #define MATERIALIZE_LP64_PRODUCT_FLAG(type, name, value, doc) /* flag is constant */ 3761 #endif // _LP64 3762 3763 RUNTIME_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG, DECLARE_LP64_PRODUCT_FLAG) 3764 3765 RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG) 3766 3767 #endif // SHARE_VM_RUNTIME_GLOBALS_HPP |