Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/hotspot/cpu/s390/globals_s390.hpp
40930 views
1
/*
2
* Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
3
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
4
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5
*
6
* This code is free software; you can redistribute it and/or modify it
7
* under the terms of the GNU General Public License version 2 only, as
8
* published by the Free Software Foundation.
9
*
10
* This code is distributed in the hope that it will be useful, but WITHOUT
11
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13
* version 2 for more details (a copy is included in the LICENSE file that
14
* accompanied this code).
15
*
16
* You should have received a copy of the GNU General Public License version
17
* 2 along with this work; if not, write to the Free Software Foundation,
18
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19
*
20
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21
* or visit www.oracle.com if you need additional information or have any
22
* questions.
23
*
24
*/
25
26
#ifndef CPU_S390_GLOBALS_S390_HPP
27
#define CPU_S390_GLOBALS_S390_HPP
28
29
#include "utilities/globalDefinitions.hpp"
30
#include "utilities/macros.hpp"
31
32
// Sets the default values for platform dependent flags used by the runtime system.
33
// (see globals.hpp)
34
35
define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks.
36
define_pd_global(bool, TrapBasedNullChecks, true);
37
define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs passed to check cast.
38
39
define_pd_global(uintx, CodeCacheSegmentSize, 256);
40
// This shall be at least 32 for proper branch target alignment.
41
// Ideally, this is 256 (cache line size). This keeps code end data
42
// on separate lines. But we reduced it to 64 since 256 increased
43
// code size significantly by padding nops between IVC and second UEP.
44
define_pd_global(intx, CodeEntryAlignment, 64);
45
define_pd_global(intx, OptoLoopAlignment, 2);
46
define_pd_global(intx, InlineFrequencyCount, 100);
47
define_pd_global(intx, InlineSmallCode, 2000);
48
49
#define DEFAULT_STACK_YELLOW_PAGES (2)
50
#define DEFAULT_STACK_RED_PAGES (1)
51
// Java_java_net_SocketOutputStream_socketWrite0() uses a 64k buffer on the
52
// stack. To pass stack overflow tests we need 20 shadow pages.
53
#define DEFAULT_STACK_SHADOW_PAGES (20 DEBUG_ONLY(+4))
54
#define DEFAULT_STACK_RESERVED_PAGES (1)
55
56
#define MIN_STACK_YELLOW_PAGES DEFAULT_STACK_YELLOW_PAGES
57
#define MIN_STACK_RED_PAGES DEFAULT_STACK_RED_PAGES
58
#define MIN_STACK_SHADOW_PAGES DEFAULT_STACK_SHADOW_PAGES
59
#define MIN_STACK_RESERVED_PAGES (0)
60
61
define_pd_global(intx, StackYellowPages, DEFAULT_STACK_YELLOW_PAGES);
62
define_pd_global(intx, StackRedPages, DEFAULT_STACK_RED_PAGES);
63
define_pd_global(intx, StackShadowPages, DEFAULT_STACK_SHADOW_PAGES);
64
define_pd_global(intx, StackReservedPages, DEFAULT_STACK_RESERVED_PAGES);
65
66
define_pd_global(bool, RewriteBytecodes, true);
67
define_pd_global(bool, RewriteFrequentPairs, true);
68
69
define_pd_global(bool, PreserveFramePointer, false);
70
71
define_pd_global(uintx, TypeProfileLevel, 111);
72
73
define_pd_global(bool, CompactStrings, true);
74
75
// 8146801 (Short Array Allocation): No performance work done here yet.
76
define_pd_global(intx, InitArrayShortSize, 1*BytesPerLong);
77
78
#define ARCH_FLAGS(develop, \
79
product, \
80
notproduct, \
81
range, \
82
constraint) \
83
\
84
/* Reoptimize code-sequences of calls at runtime, e.g. replace an */ \
85
/* indirect call by a direct call. */ \
86
product(bool, ReoptimizeCallSequences, true, DIAGNOSTIC, \
87
"Reoptimize code-sequences of calls at runtime.") \
88
\
89
product(bool, UseByteReverseInstruction, true, DIAGNOSTIC, \
90
"Use byte reverse instruction.") \
91
\
92
product(bool, ExpandLoadingBaseDecode, true, DIAGNOSTIC, \
93
"Expand the assembler instruction required to load the base from " \
94
"DecodeN nodes during matching.") \
95
product(bool, ExpandLoadingBaseDecode_NN, true, DIAGNOSTIC, \
96
"Expand the assembler instruction required to load the base from " \
97
"DecodeN_NN nodes during matching.") \
98
product(bool, ExpandLoadingBaseEncode, true, DIAGNOSTIC, \
99
"Expand the assembler instruction required to load the base from " \
100
"EncodeP nodes during matching.") \
101
product(bool, ExpandLoadingBaseEncode_NN, true, DIAGNOSTIC, \
102
"Expand the assembler instruction required to load the base from " \
103
"EncodeP_NN nodes during matching.") \
104
\
105
/* Seems to pay off with 2 pages already. */ \
106
product(size_t, MVCLEThreshold, +2*(4*K), DIAGNOSTIC, \
107
"Threshold above which page-aligned MVCLE copy/init is used.") \
108
\
109
product(bool, PreferLAoverADD, false, DIAGNOSTIC, \
110
"Use LA/LAY instructions over ADD instructions (z/Architecture).") \
111
\
112
develop(bool, ZapEmptyStackFields, false, "Write 0x0101... to empty stack" \
113
" fields. Use this to ease stack debugging.") \
114
\
115
product(bool, TraceTraps, false, DIAGNOSTIC, \
116
"Trace all traps the signal handler handles.")
117
118
// end of ARCH_FLAGS
119
120
#endif // CPU_S390_GLOBALS_S390_HPP
121
122