Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/src/cpu/aarch64/vm/globals_aarch64.hpp
32285 views
/*1* Copyright (c) 2013, Red Hat Inc.2* Copyright (c) 2000, 2011, Oracle and/or its affiliates.3* 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_AARCH64_VM_GLOBALS_AARCH64_HPP27#define CPU_AARCH64_VM_GLOBALS_AARCH64_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, ShareVtableStubs, true);37define_pd_global(bool, CountInterpCalls, true);38define_pd_global(bool, NeedsDeoptSuspend, false); // only register window machines need this3940define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks41define_pd_global(bool, TrapBasedNullChecks, false);42define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs passed to check cast4344// See 4827828 for this change. There is no globals_core_i486.hpp. I can't45// assign a different value for C2 without touching a number of files. Use46// #ifdef to minimize the change as it's late in Mantis. -- FIXME.47// c1 doesn't have this problem because the fix to 4858033 assures us48// the the vep is aligned at CodeEntryAlignment whereas c2 only aligns49// the uep and the vep doesn't get real alignment but just slops on by50// only assured that the entry instruction meets the 5 byte size requirement.51define_pd_global(intx, CodeEntryAlignment, 64);52define_pd_global(intx, OptoLoopAlignment, 16);53define_pd_global(intx, InlineFrequencyCount, 100);5455define_pd_global(intx, StackYellowPages, 2);56define_pd_global(intx, StackRedPages, 1);5758define_pd_global(intx, StackShadowPages, 4 DEBUG_ONLY(+5));5960define_pd_global(intx, PreInflateSpin, 10);6162define_pd_global(bool, RewriteBytecodes, true);63define_pd_global(bool, RewriteFrequentPairs, true);6465define_pd_global(bool, UseMembar, true);6667define_pd_global(bool, PreserveFramePointer, false);6869// GC Ergo Flags70define_pd_global(uintx, CMSYoungGenPerWorker, 64*M); // default max size of CMS young gen, per GC worker thread7172define_pd_global(uintx, TypeProfileLevel, 111);7374#if defined(COMPILER1) || defined(COMPILER2)75define_pd_global(intx, InlineSmallCode, 1000);76#endif7778#define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct) \79\80product(bool, NearCpool, true, \81"constant pool is close to instructions") \82\83product(bool, UseBarriersForVolatile, false, \84"Use memory barriers to implement volatile accesses") \85product(bool, UseNeon, false, \86"Use Neon for CRC32 computation") \87product(bool, UseCRC32, false, \88"Use CRC32 instructions for CRC32 computation") \89product(bool, UseLSE, false, \90"Use LSE instructions") \91product(bool, UseSIMDForMemoryOps, false, \92"Use SIMD instructions in generated memory move code") \93product(bool, AvoidUnalignedAccesses, false, \94"Avoid generating unaligned memory accesses") \95product(bool, UseBlockZeroing, true, \96"Use DC ZVA for block zeroing") \97product(intx, BlockZeroingLowLimit, 256, \98"Minimum size in bytes when block zeroing will be used") \99product(bool, TraceTraps, false, "Trace all traps the signal handler")100101#endif // CPU_AARCH64_VM_GLOBALS_AARCH64_HPP102103104