c2_globals_aarch64.hpp revision 12485:48f374853a92
119304Speter/* 219304Speter * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. 319304Speter * Copyright (c) 2014, Red Hat Inc. All rights reserved. 419304Speter * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 519304Speter * 619304Speter * This code is free software; you can redistribute it and/or modify it 719304Speter * under the terms of the GNU General Public License version 2 only, as 819304Speter * published by the Free Software Foundation. 9254225Speter * 1019304Speter * This code is distributed in the hope that it will be useful, but WITHOUT 1119304Speter * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1219304Speter * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13254225Speter * version 2 for more details (a copy is included in the LICENSE file that 1419304Speter * accompanied this code). 1519304Speter * 1619304Speter * You should have received a copy of the GNU General Public License version 1719304Speter * 2 along with this work; if not, write to the Free Software Foundation, 1819304Speter * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1919304Speter * 2019304Speter * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2119304Speter * or visit www.oracle.com if you need additional information or have any 2219304Speter * questions. 2319304Speter * 2419304Speter */ 2519304Speter 2619304Speter#ifndef CPU_AARCH64_VM_C2_GLOBALS_AARCH64_HPP 2719304Speter#define CPU_AARCH64_VM_C2_GLOBALS_AARCH64_HPP 2819304Speter 2919304Speter#include "utilities/globalDefinitions.hpp" 3019304Speter#include "utilities/macros.hpp" 3119304Speter 3219304Speter// Sets the default values for platform dependent flags used by the server compiler. 3319304Speter// (see c2_globals.hpp). Alpha-sorted. 3419304Speter 3519304Speterdefine_pd_global(bool, BackgroundCompilation, true); 3619304Speterdefine_pd_global(bool, UseTLAB, true); 3719304Speterdefine_pd_global(bool, ResizeTLAB, true); 3819304Speterdefine_pd_global(bool, CICompileOSR, true); 3919304Speterdefine_pd_global(bool, InlineIntrinsics, true); 4019304Speterdefine_pd_global(bool, PreferInterpreterNativeStubs, false); 4119304Speterdefine_pd_global(bool, ProfileTraps, true); 4219304Speterdefine_pd_global(bool, UseOnStackReplacement, true); 4319304Speterdefine_pd_global(bool, ProfileInterpreter, true); 4419304Speterdefine_pd_global(bool, TieredCompilation, trueInTiered); 4519304Speterdefine_pd_global(intx, CompileThreshold, 10000); 4619304Speter 4719304Speterdefine_pd_global(intx, OnStackReplacePercentage, 140); 4819304Speterdefine_pd_global(intx, ConditionalMoveLimit, 3); 4919304Speterdefine_pd_global(intx, FLOATPRESSURE, 64); 5019304Speterdefine_pd_global(intx, FreqInlineSize, 325); 5119304Speterdefine_pd_global(intx, MinJumpTableSize, 10); 5219304Speterdefine_pd_global(intx, INTPRESSURE, 25); 5319304Speterdefine_pd_global(intx, InteriorEntryAlignment, 16); 5419304Speterdefine_pd_global(intx, NewSizeThreadIncrease, ScaleForWordSize(4*K)); 5519304Speterdefine_pd_global(intx, LoopUnrollLimit, 60); 5619304Speterdefine_pd_global(intx, LoopPercentProfileLimit, 10); 5719304Speterdefine_pd_global(intx, PostLoopMultiversioning, false); 5819304Speter// InitialCodeCacheSize derived from specjbb2000 run. 5919304Speterdefine_pd_global(intx, InitialCodeCacheSize, 2496*K); // Integral multiple of CodeCacheExpansionSize 6019304Speterdefine_pd_global(intx, CodeCacheExpansionSize, 64*K); 6119304Speter 6219304Speter// Ergonomics related flags 6319304Speterdefine_pd_global(uint64_t,MaxRAM, 128ULL*G); 6419304Speterdefine_pd_global(intx, RegisterCostAreaRatio, 16000); 6519304Speter 6619304Speter// Peephole and CISC spilling both break the graph, and so makes the 6719304Speter// scheduler sick. 6819304Speterdefine_pd_global(bool, OptoPeephole, false); 6919304Speterdefine_pd_global(bool, UseCISCSpill, true); 7019304Speterdefine_pd_global(bool, OptoScheduling, false); 7119304Speterdefine_pd_global(bool, OptoBundling, false); 7219304Speterdefine_pd_global(bool, OptoRegScheduling, false); 7319304Speterdefine_pd_global(bool, SuperWordLoopUnrollAnalysis, true); 7419304Speterdefine_pd_global(bool, IdealizeClearArrayNode, true); 7519304Speter 7619304Speterdefine_pd_global(intx, ReservedCodeCacheSize, 48*M); 7719304Speterdefine_pd_global(intx, NonProfiledCodeHeapSize, 21*M); 7819304Speterdefine_pd_global(intx, ProfiledCodeHeapSize, 22*M); 7919304Speterdefine_pd_global(intx, NonNMethodCodeHeapSize, 5*M ); 8019304Speterdefine_pd_global(uintx, CodeCacheMinBlockLength, 4); 8119304Speterdefine_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K); 8219304Speter 8319304Speter// Heap related flags 8419304Speterdefine_pd_global(uintx,MetaspaceSize, ScaleForWordSize(16*M)); 8519304Speter 8619304Speter// Ergonomics related flags 8719304Speterdefine_pd_global(bool, NeverActAsServerClassMachine, false); 8819304Speter 8919304Speterdefine_pd_global(bool, TrapBasedRangeChecks, false); // Not needed. 9019304Speter 9119304Speter#endif // CPU_AARCH64_VM_C2_GLOBALS_AARCH64_HPP 9219304Speter