Path: blob/master/src/hotspot/cpu/s390/c2_globals_s390.hpp
40930 views
/*1* Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.2* Copyright (c) 2016, 2018 SAP SE. All rights reserved.3* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.4*5* This code is free software; you can redistribute it and/or modify it6* under the terms of the GNU General Public License version 2 only, as7* published by the Free Software Foundation.8*9* This code is distributed in the hope that it will be useful, but WITHOUT10* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or11* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License12* version 2 for more details (a copy is included in the LICENSE file that13* accompanied this code).14*15* You should have received a copy of the GNU General Public License version16* 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 USA20* or visit www.oracle.com if you need additional information or have any21* questions.22*23*/2425#ifndef CPU_S390_C2_GLOBALS_S390_HPP26#define CPU_S390_C2_GLOBALS_S390_HPP2728#include "utilities/globalDefinitions.hpp"29#include "utilities/macros.hpp"3031// Sets the default values for platform dependent flags used by the server compiler.32// (see c2_globals.hpp).3334define_pd_global(bool, BackgroundCompilation, true);35define_pd_global(bool, CICompileOSR, true);36define_pd_global(bool, InlineIntrinsics, true);37define_pd_global(bool, PreferInterpreterNativeStubs, false);38define_pd_global(bool, ProfileTraps, true);39define_pd_global(bool, UseOnStackReplacement, true);40define_pd_global(bool, ProfileInterpreter, true);41define_pd_global(bool, TieredCompilation, COMPILER1_PRESENT(true) NOT_COMPILER1(false));42define_pd_global(intx, CompileThreshold, 10000);4344define_pd_global(intx, OnStackReplacePercentage, 140);45define_pd_global(intx, ConditionalMoveLimit, 4);46define_pd_global(intx, FLOATPRESSURE, 15);47define_pd_global(intx, FreqInlineSize, 175);48// 10 prevents spill-split-recycle sanity check in JVM2008.xml.transform.49define_pd_global(intx, INTPRESSURE, 10); // Medium size register set, 6 special purpose regs, 3 SOE regs.50define_pd_global(intx, InteriorEntryAlignment, 2);51define_pd_global(size_t, NewSizeThreadIncrease, ScaleForWordSize(4*K));52define_pd_global(intx, RegisterCostAreaRatio, 12000);53define_pd_global(intx, LoopUnrollLimit, 60);54define_pd_global(intx, LoopPercentProfileLimit, 10);55define_pd_global(intx, MinJumpTableSize, 18);5657// Peephole and CISC spilling both break the graph, and so make the58// scheduler sick.59define_pd_global(bool, OptoPeephole, false);60define_pd_global(bool, UseCISCSpill, true);61define_pd_global(bool, OptoBundling, false);62define_pd_global(bool, OptoScheduling, false);63define_pd_global(bool, OptoRegScheduling, false);64define_pd_global(bool, SuperWordLoopUnrollAnalysis, false);65// On s390x, we can clear the array with a single instruction,66// so don't idealize it.67define_pd_global(bool, IdealizeClearArrayNode, false);6869// InitialCodeCacheSize derived from specjbb2000 run.70define_pd_global(uintx, InitialCodeCacheSize, 2048*K); // Integral multiple of CodeCacheExpansionSize71define_pd_global(uintx, ReservedCodeCacheSize, 48*M);72define_pd_global(uintx, NonProfiledCodeHeapSize, 21*M);73define_pd_global(uintx, ProfiledCodeHeapSize, 22*M);74define_pd_global(uintx, NonNMethodCodeHeapSize, 5*M);75define_pd_global(uintx, CodeCacheExpansionSize, 64*K);7677// Ergonomics related flags78define_pd_global(uint64_t, MaxRAM, 128ULL*G);79define_pd_global(uintx, CodeCacheMinBlockLength, 4);80define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K);8182define_pd_global(bool, TrapBasedRangeChecks, false); // Not needed on z/Architecture.8384// Ergonomics related flags85define_pd_global(bool, NeverActAsServerClassMachine, false);8687#endif // CPU_S390_C2_GLOBALS_S390_HPP888990