annotate src/cpu/sparc/vm/globals_sparc.hpp @ 9790:6b515c453646

CompilationTask: print exception of compilation also when we don't exit the VM for example, this is useful for CTW, in order to see on which methods the compiler bails out
author Bernhard Urban <bernhard.urban@jku.at>
date Wed, 22 May 2013 16:28:12 +0200
parents a5dd6e3ef9f3
children 12f651e29f6b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 /*
6633
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
2 * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 *
a61af66fc99e Initial load
duke
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 * published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 *
a61af66fc99e Initial load
duke
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 * accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 *
a61af66fc99e Initial load
duke
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 *
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1365
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1365
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1365
diff changeset
21 * questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
22 *
a61af66fc99e Initial load
duke
parents:
diff changeset
23 */
a61af66fc99e Initial load
duke
parents:
diff changeset
24
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1868
diff changeset
25 #ifndef CPU_SPARC_VM_GLOBALS_SPARC_HPP
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1868
diff changeset
26 #define CPU_SPARC_VM_GLOBALS_SPARC_HPP
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1868
diff changeset
27
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1868
diff changeset
28 #include "utilities/globalDefinitions.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1868
diff changeset
29 #include "utilities/macros.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1868
diff changeset
30
0
a61af66fc99e Initial load
duke
parents:
diff changeset
31 // Sets the default values for platform dependent flags used by the runtime system.
a61af66fc99e Initial load
duke
parents:
diff changeset
32 // (see globals.hpp)
a61af66fc99e Initial load
duke
parents:
diff changeset
33
a61af66fc99e Initial load
duke
parents:
diff changeset
34 // For sparc we do not do call backs when a thread is in the interpreter, because the
a61af66fc99e Initial load
duke
parents:
diff changeset
35 // interpreter dispatch needs at least two instructions - first to load the dispatch address
a61af66fc99e Initial load
duke
parents:
diff changeset
36 // in a register, and second to jmp. The swapping of the dispatch table may occur _after_
a61af66fc99e Initial load
duke
parents:
diff changeset
37 // the load of the dispatch address and hence the jmp would still go to the location
a61af66fc99e Initial load
duke
parents:
diff changeset
38 // according to the prior table. So, we let the thread continue and let it block by itself.
a61af66fc99e Initial load
duke
parents:
diff changeset
39 define_pd_global(bool, DontYieldALot, true); // yield no more than 100 times per second
a61af66fc99e Initial load
duke
parents:
diff changeset
40 define_pd_global(bool, ConvertSleepToYield, false); // do not convert sleep(0) to yield. Helps GUI
a61af66fc99e Initial load
duke
parents:
diff changeset
41 define_pd_global(bool, ShareVtableStubs, false); // improves performance markedly for mtrt and compress
a61af66fc99e Initial load
duke
parents:
diff changeset
42 define_pd_global(bool, CountInterpCalls, false); // not implemented in the interpreter
a61af66fc99e Initial load
duke
parents:
diff changeset
43 define_pd_global(bool, NeedsDeoptSuspend, true); // register window machines need this
a61af66fc99e Initial load
duke
parents:
diff changeset
44
a61af66fc99e Initial load
duke
parents:
diff changeset
45 define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks
a61af66fc99e Initial load
duke
parents:
diff changeset
46 define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs past to check cast
a61af66fc99e Initial load
duke
parents:
diff changeset
47
1064
473cce303f13 6887571: Increase default heap config sizes
phh
parents: 844
diff changeset
48 define_pd_global(intx, CodeEntryAlignment, 32);
1365
6476042f815c 6940701: Don't align loops in stubs for Niagara sparc
kvn
parents: 1064
diff changeset
49 // The default setting 16/16 seems to work best.
6476042f815c 6940701: Don't align loops in stubs for Niagara sparc
kvn
parents: 1064
diff changeset
50 // (For _228_jack 16/16 is 2% better than 4/4, 16/4, 32/32, 32/16, or 16/32.)
6476042f815c 6940701: Don't align loops in stubs for Niagara sparc
kvn
parents: 1064
diff changeset
51 define_pd_global(intx, OptoLoopAlignment, 16); // = 4*wordSize
1064
473cce303f13 6887571: Increase default heap config sizes
phh
parents: 844
diff changeset
52 define_pd_global(intx, InlineFrequencyCount, 50); // we can use more inlining on the SPARC
473cce303f13 6887571: Increase default heap config sizes
phh
parents: 844
diff changeset
53 define_pd_global(intx, InlineSmallCode, 1500);
2368
dde920245681 6896099: Integrate CMS heap ergo with default heap sizing ergo
ysr
parents: 1972
diff changeset
54
0
a61af66fc99e Initial load
duke
parents:
diff changeset
55 #ifdef _LP64
a61af66fc99e Initial load
duke
parents:
diff changeset
56 // Stack slots are 2X larger in LP64 than in the 32 bit VM.
1064
473cce303f13 6887571: Increase default heap config sizes
phh
parents: 844
diff changeset
57 define_pd_global(intx, ThreadStackSize, 1024);
473cce303f13 6887571: Increase default heap config sizes
phh
parents: 844
diff changeset
58 define_pd_global(intx, VMThreadStackSize, 1024);
4925
28d91e43ab6d 7145587: Stack overflows in Java code cause 64-bit JVMs to exit due to SIGSEGV (sparc version)
coleenp
parents: 2368
diff changeset
59 define_pd_global(intx, StackShadowPages, 10 DEBUG_ONLY(+1));
0
a61af66fc99e Initial load
duke
parents:
diff changeset
60 #else
1064
473cce303f13 6887571: Increase default heap config sizes
phh
parents: 844
diff changeset
61 define_pd_global(intx, ThreadStackSize, 512);
473cce303f13 6887571: Increase default heap config sizes
phh
parents: 844
diff changeset
62 define_pd_global(intx, VMThreadStackSize, 512);
4925
28d91e43ab6d 7145587: Stack overflows in Java code cause 64-bit JVMs to exit due to SIGSEGV (sparc version)
coleenp
parents: 2368
diff changeset
63 define_pd_global(intx, StackShadowPages, 3 DEBUG_ONLY(+1));
0
a61af66fc99e Initial load
duke
parents:
diff changeset
64 #endif
a61af66fc99e Initial load
duke
parents:
diff changeset
65
a61af66fc99e Initial load
duke
parents:
diff changeset
66 define_pd_global(intx, StackYellowPages, 2);
a61af66fc99e Initial load
duke
parents:
diff changeset
67 define_pd_global(intx, StackRedPages, 1);
a61af66fc99e Initial load
duke
parents:
diff changeset
68
1064
473cce303f13 6887571: Increase default heap config sizes
phh
parents: 844
diff changeset
69 define_pd_global(intx, PreInflateSpin, 40); // Determined by running design center
0
a61af66fc99e Initial load
duke
parents:
diff changeset
70
a61af66fc99e Initial load
duke
parents:
diff changeset
71 define_pd_global(bool, RewriteBytecodes, true);
a61af66fc99e Initial load
duke
parents:
diff changeset
72 define_pd_global(bool, RewriteFrequentPairs, true);
1868
3dc12ef8735e 6989297: Integrate additional portability improvements
bobv
parents: 1552
diff changeset
73
3dc12ef8735e 6989297: Integrate additional portability improvements
bobv
parents: 1552
diff changeset
74 define_pd_global(bool, UseMembar, false);
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1868
diff changeset
75
2368
dde920245681 6896099: Integrate CMS heap ergo with default heap sizing ergo
ysr
parents: 1972
diff changeset
76 // GC Ergo Flags
dde920245681 6896099: Integrate CMS heap ergo with default heap sizing ergo
ysr
parents: 1972
diff changeset
77 define_pd_global(intx, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread
6633
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
78
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
79 #define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct) \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
80 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
81 product(intx, UseVIS, 99, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
82 "Highest supported VIS instructions set on Sparc") \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
83 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
84 product(bool, UseCBCond, false, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
85 "Use compare and branch instruction on SPARC") \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
86 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
87 product(bool, UseBlockZeroing, false, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
88 "Use special cpu instructions for block zeroing") \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
89 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
90 product(intx, BlockZeroingLowLimit, 2048, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
91 "Minimum size in bytes when block zeroing will be used") \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
92 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
93 product(bool, UseBlockCopy, false, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
94 "Use special cpu instructions for block copy") \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
95 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
96 product(intx, BlockCopyLowLimit, 2048, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
97 "Minimum size in bytes when block copy will be used") \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
98 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
99 develop(bool, UseV8InstrsOnly, false, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
100 "Use SPARC-V8 Compliant instruction subset") \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
101 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
102 product(bool, UseNiagaraInstrs, false, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
103 "Use Niagara-efficient instruction subset") \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
104 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
105 develop(bool, UseCASForSwap, false, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
106 "Do not use swap instructions, but only CAS (in a loop) on SPARC")\
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
107 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
108 product(uintx, ArraycopySrcPrefetchDistance, 0, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
109 "Distance to prefetch source array in arracopy") \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
110 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
111 product(uintx, ArraycopyDstPrefetchDistance, 0, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
112 "Distance to prefetch destination array in arracopy") \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
113 \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
114 develop(intx, V8AtomicOperationUnderLockSpinCount, 50, \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
115 "Number of times to spin wait on a v8 atomic operation lock") \
a5dd6e3ef9f3 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
twisti
parents: 4925
diff changeset
116
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1868
diff changeset
117 #endif // CPU_SPARC_VM_GLOBALS_SPARC_HPP