annotate src/cpu/ppc/vm/c2_globals_ppc.hpp @ 18408:2c3666f44855

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