Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/hotspot/cpu/aarch64/globals_aarch64.hpp
40930 views
1
/*
2
* Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
3
* Copyright (c) 2015, 2019, Red Hat Inc. 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_AARCH64_GLOBALS_AARCH64_HPP
27
#define CPU_AARCH64_GLOBALS_AARCH64_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, false);
37
define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs past to check cast
38
39
define_pd_global(uintx, CodeCacheSegmentSize, 64 COMPILER1_AND_COMPILER2_PRESENT(+64)); // Tiered compilation has large code-entry alignment.
40
define_pd_global(intx, CodeEntryAlignment, 64);
41
define_pd_global(intx, OptoLoopAlignment, 16);
42
define_pd_global(intx, InlineFrequencyCount, 100);
43
44
#define DEFAULT_STACK_YELLOW_PAGES (2)
45
#define DEFAULT_STACK_RED_PAGES (1)
46
// Java_java_net_SocketOutputStream_socketWrite0() uses a 64k buffer on the
47
// stack if compiled for unix and LP64. To pass stack overflow tests we need
48
// 20 shadow pages.
49
#define DEFAULT_STACK_SHADOW_PAGES (20 DEBUG_ONLY(+5))
50
#define DEFAULT_STACK_RESERVED_PAGES (1)
51
52
#define MIN_STACK_YELLOW_PAGES DEFAULT_STACK_YELLOW_PAGES
53
#define MIN_STACK_RED_PAGES DEFAULT_STACK_RED_PAGES
54
#define MIN_STACK_SHADOW_PAGES DEFAULT_STACK_SHADOW_PAGES
55
#define MIN_STACK_RESERVED_PAGES (0)
56
57
define_pd_global(intx, StackYellowPages, DEFAULT_STACK_YELLOW_PAGES);
58
define_pd_global(intx, StackRedPages, DEFAULT_STACK_RED_PAGES);
59
define_pd_global(intx, StackShadowPages, DEFAULT_STACK_SHADOW_PAGES);
60
define_pd_global(intx, StackReservedPages, DEFAULT_STACK_RESERVED_PAGES);
61
62
define_pd_global(bool, RewriteBytecodes, true);
63
define_pd_global(bool, RewriteFrequentPairs, true);
64
65
define_pd_global(bool, PreserveFramePointer, false);
66
67
define_pd_global(uintx, TypeProfileLevel, 111);
68
69
define_pd_global(bool, CompactStrings, true);
70
71
// Clear short arrays bigger than one word in an arch-specific way
72
define_pd_global(intx, InitArrayShortSize, BytesPerLong);
73
74
#if defined(COMPILER1) || defined(COMPILER2)
75
define_pd_global(intx, InlineSmallCode, 1000);
76
#endif
77
78
#define ARCH_FLAGS(develop, \
79
product, \
80
notproduct, \
81
range, \
82
constraint) \
83
\
84
product(bool, NearCpool, true, \
85
"constant pool is close to instructions") \
86
product(bool, UseNeon, false, \
87
"Use Neon for CRC32 computation") \
88
product(bool, UseCRC32, false, \
89
"Use CRC32 instructions for CRC32 computation") \
90
product(bool, UseSIMDForMemoryOps, false, \
91
"Use SIMD instructions in generated memory move code") \
92
product(bool, UseSIMDForArrayEquals, true, \
93
"Use SIMD instructions in generated array equals code") \
94
product(bool, UseSimpleArrayEquals, false, \
95
"Use simpliest and shortest implementation for array equals") \
96
product(bool, UseSIMDForBigIntegerShiftIntrinsics, true, \
97
"Use SIMD instructions for left/right shift of BigInteger") \
98
product(bool, AvoidUnalignedAccesses, false, \
99
"Avoid generating unaligned memory accesses") \
100
product(bool, UseLSE, false, \
101
"Use LSE instructions") \
102
product(uint, UseSVE, 0, \
103
"Highest supported SVE instruction set version") \
104
range(0, 2) \
105
product(bool, UseBlockZeroing, true, \
106
"Use DC ZVA for block zeroing") \
107
product(intx, BlockZeroingLowLimit, 256, \
108
"Minimum size in bytes when block zeroing will be used") \
109
range(1, max_jint) \
110
product(bool, TraceTraps, false, "Trace all traps the signal handler")\
111
product(int, SoftwarePrefetchHintDistance, -1, \
112
"Use prfm hint with specified distance in compiled code." \
113
"Value -1 means off.") \
114
range(-1, 4096)
115
116
// end of ARCH_FLAGS
117
118
#endif // CPU_AARCH64_GLOBALS_AARCH64_HPP
119
120