Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/src/cpu/aarch32/vm/globals_aarch32.hpp
32285 views
/*1* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.2* Copyright (c) 2014, Red Hat Inc. All rights reserved.3* Copyright (c) 2015, Linaro Ltd. All rights reserved.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 it7* under the terms of the GNU General Public License version 2 only, as8* published by the Free Software Foundation.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 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 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*24*/2526#ifndef CPU_AARCH32_VM_GLOBALS_AARCH32_HPP27#define CPU_AARCH32_VM_GLOBALS_AARCH32_HPP2829#include "utilities/globalDefinitions.hpp"30#include "utilities/macros.hpp"3132// Sets the default values for platform dependent flags used by the runtime system.33// (see globals.hpp)3435define_pd_global(bool, ConvertSleepToYield, true);36define_pd_global(bool, CountInterpCalls, true);37define_pd_global(bool, NeedsDeoptSuspend, false); // only register window machines need this3839define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks40define_pd_global(bool, TrapBasedNullChecks, false);41define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs past to check cast4243// See 4827828 for this change. There is no globals_core_i486.hpp. I can't44// assign a different value for C2 without touching a number of files. Use45// #ifdef to minimize the change as it's late in Mantis. -- FIXME.46// c1 doesn't have this problem because the fix to 4858033 assures us47// the the vep is aligned at CodeEntryAlignment whereas c2 only aligns48// the uep and the vep doesn't get real alignment but just slops on by49// only assured that the entry instruction meets the 5 byte size requirement.50//#ifdef COMPILER251//define_pd_global(intx, CodeEntryAlignment, 64);52//#else53define_pd_global(intx, CodeEntryAlignment, 32);54//#endif // COMPILER255define_pd_global(intx, OptoLoopAlignment, 32);56define_pd_global(intx, InlineFrequencyCount, 100);5758define_pd_global(intx, StackYellowPages, 2);59define_pd_global(intx, StackRedPages, 1);6061define_pd_global(intx, StackShadowPages, 4 DEBUG_ONLY(+5));6263define_pd_global(intx, PreInflateSpin, 10);6465define_pd_global(bool, RewriteBytecodes, true);66define_pd_global(bool, RewriteFrequentPairs, true);6768define_pd_global(bool, PreserveFramePointer, false);6970// GC Ergo Flags71define_pd_global(uintx, CMSYoungGenPerWorker, 64*M); // default max size of CMS young gen, per GC worker thread7273define_pd_global(uintx, TypeProfileLevel, 111);7475// FIXME this turned out to be needed for the core build too?76//#if defined(COMPILER1) || defined(COMPILER2)77define_pd_global(intx, InlineSmallCode, 1000);78//#endif7980// Define it instead providing as option, inlining the constant significantly81// improves perfromance. The option is disabled for AARCH32 in globals.hpp too.82#define UseMembar true8384#define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct) \85\86product(bool, NearCpool, true, \87"constant pool is close to instructions") \88\89product(bool, UseBarriersForVolatile, false, \90"Use memory barriers to implement volatile accesses") \91product(bool, TraceTraps, false, "Trace all traps the signal handler")\92product(bool, UseSIMDForMemoryOps, false, \93"Use SIMD instructions in generated memory move code") \94product(bool, UseNeon, false, \95"Use Neon for CRC32 computation") \96product(bool, UseCRC32, false, \97"Use CRC32 instructions for CRC32 computation") \98product(bool, UseFPU, true, "Enable FPU utilization at floating point ops." \99"Affects SoftFP mode only.")100101102#endif // CPU_AARCH32_VM_GLOBALS_AARCH32_HPP103104105