Wed, 11 Dec 2013 00:06:11 +0100
8029940: PPC64 (part 122): C2 compiler port
Reviewed-by: kvn
goetz@6495 | 1 | /* |
goetz@6495 | 2 | * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. |
goetz@6495 | 3 | * Copyright 2012, 2013 SAP AG. All rights reserved. |
goetz@6495 | 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
goetz@6495 | 5 | * |
goetz@6495 | 6 | * This code is free software; you can redistribute it and/or modify it |
goetz@6495 | 7 | * under the terms of the GNU General Public License version 2 only, as |
goetz@6495 | 8 | * published by the Free Software Foundation. |
goetz@6495 | 9 | * |
goetz@6495 | 10 | * This code is distributed in the hope that it will be useful, but WITHOUT |
goetz@6495 | 11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
goetz@6495 | 12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
goetz@6495 | 13 | * version 2 for more details (a copy is included in the LICENSE file that |
goetz@6495 | 14 | * accompanied this code). |
goetz@6495 | 15 | * |
goetz@6495 | 16 | * You should have received a copy of the GNU General Public License version |
goetz@6495 | 17 | * 2 along with this work; if not, write to the Free Software Foundation, |
goetz@6495 | 18 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
goetz@6495 | 19 | * |
goetz@6495 | 20 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
goetz@6495 | 21 | * or visit www.oracle.com if you need additional information or have any |
goetz@6495 | 22 | * questions. |
goetz@6495 | 23 | * |
goetz@6495 | 24 | */ |
goetz@6495 | 25 | |
goetz@6495 | 26 | #ifndef CPU_PPC_VM_C2_GLOBALS_PPC_HPP |
goetz@6495 | 27 | #define CPU_PPC_VM_C2_GLOBALS_PPC_HPP |
goetz@6495 | 28 | |
goetz@6495 | 29 | #include "utilities/globalDefinitions.hpp" |
goetz@6495 | 30 | #include "utilities/macros.hpp" |
goetz@6495 | 31 | |
goetz@6495 | 32 | // Sets the default values for platform dependent flags used by the server compiler. |
goetz@6495 | 33 | // (see c2_globals.hpp). |
goetz@6495 | 34 | |
goetz@6495 | 35 | define_pd_global(bool, BackgroundCompilation, true); |
goetz@6495 | 36 | define_pd_global(bool, CICompileOSR, true); |
goetz@6495 | 37 | define_pd_global(bool, InlineIntrinsics, true); |
goetz@6495 | 38 | define_pd_global(bool, PreferInterpreterNativeStubs, false); |
goetz@6495 | 39 | define_pd_global(bool, ProfileTraps, true); |
goetz@6495 | 40 | define_pd_global(bool, UseOnStackReplacement, true); |
goetz@6495 | 41 | define_pd_global(bool, ProfileInterpreter, true); |
goetz@6495 | 42 | define_pd_global(bool, TieredCompilation, false); |
goetz@6495 | 43 | define_pd_global(intx, CompileThreshold, 10000); |
goetz@6495 | 44 | define_pd_global(intx, BackEdgeThreshold, 140000); |
goetz@6495 | 45 | |
goetz@6495 | 46 | define_pd_global(intx, OnStackReplacePercentage, 140); |
goetz@6495 | 47 | define_pd_global(intx, ConditionalMoveLimit, 3); |
goetz@6495 | 48 | define_pd_global(intx, FLOATPRESSURE, 28); |
goetz@6495 | 49 | define_pd_global(intx, FreqInlineSize, 175); |
goetz@6495 | 50 | define_pd_global(intx, MinJumpTableSize, 10); |
goetz@6495 | 51 | define_pd_global(intx, INTPRESSURE, 25); |
goetz@6495 | 52 | define_pd_global(intx, InteriorEntryAlignment, 16); |
goetz@6495 | 53 | define_pd_global(intx, NewSizeThreadIncrease, ScaleForWordSize(4*K)); |
goetz@6495 | 54 | define_pd_global(intx, RegisterCostAreaRatio, 16000); |
goetz@6495 | 55 | define_pd_global(bool, UseTLAB, true); |
goetz@6495 | 56 | define_pd_global(bool, ResizeTLAB, true); |
goetz@6495 | 57 | define_pd_global(intx, LoopUnrollLimit, 60); |
goetz@6495 | 58 | |
goetz@6495 | 59 | // Peephole and CISC spilling both break the graph, and so make the |
goetz@6495 | 60 | // scheduler sick. |
goetz@6495 | 61 | define_pd_global(bool, OptoPeephole, false); |
goetz@6495 | 62 | define_pd_global(bool, UseCISCSpill, false); |
goetz@6495 | 63 | define_pd_global(bool, OptoBundling, false); |
goetz@6495 | 64 | // GL: |
goetz@6495 | 65 | // Detected a problem with unscaled compressed oops and |
goetz@6495 | 66 | // narrow_oop_use_complex_address() == false. |
goetz@6495 | 67 | // -Djava.io.tmpdir=./tmp -jar SPECjvm2008.jar -ikv -wt 3 -it 3 |
goetz@6495 | 68 | // -bt 1 --base compiler.sunflow |
goetz@6495 | 69 | // fails in Lower.visitIf->translate->tranlate->translate and |
goetz@6495 | 70 | // throws an unexpected NPE. A load and a store seem to be |
goetz@6495 | 71 | // reordered. Java reads about: |
goetz@6495 | 72 | // loc = x.f |
goetz@6495 | 73 | // x.f = 0 |
goetz@6495 | 74 | // NullCheck loc |
goetz@6495 | 75 | // While assembler reads: |
goetz@6495 | 76 | // x.f = 0 |
goetz@6495 | 77 | // loc = x.f |
goetz@6495 | 78 | // NullCheck loc |
goetz@6495 | 79 | define_pd_global(bool, OptoScheduling, false); |
goetz@6495 | 80 | |
goetz@6495 | 81 | define_pd_global(intx, InitialCodeCacheSize, 2048*K); // Integral multiple of CodeCacheExpansionSize |
goetz@6495 | 82 | define_pd_global(intx, ReservedCodeCacheSize, 256*M); |
goetz@6495 | 83 | define_pd_global(intx, CodeCacheExpansionSize, 64*K); |
goetz@6495 | 84 | |
goetz@6495 | 85 | // Ergonomics related flags |
goetz@6495 | 86 | define_pd_global(uint64_t,MaxRAM, 4ULL*G); |
goetz@6495 | 87 | define_pd_global(uintx, CodeCacheMinBlockLength, 4); |
goetz@6495 | 88 | define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K); |
goetz@6495 | 89 | |
goetz@6495 | 90 | define_pd_global(bool, TrapBasedRangeChecks, false); |
goetz@6495 | 91 | |
goetz@6495 | 92 | // Heap related flags |
goetz@6495 | 93 | define_pd_global(uintx,MetaspaceSize, ScaleForWordSize(16*M)); |
goetz@6495 | 94 | |
goetz@6495 | 95 | // Ergonomics related flags |
goetz@6495 | 96 | define_pd_global(bool, NeverActAsServerClassMachine, false); |
goetz@6495 | 97 | |
goetz@6495 | 98 | #endif // CPU_PPC_VM_C2_GLOBALS_PPC_HPP |