Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/hotspot/share/ci/ciClassList.hpp
40930 views
1
/*
2
* Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*
23
*/
24
25
#ifndef SHARE_CI_CICLASSLIST_HPP
26
#define SHARE_CI_CICLASSLIST_HPP
27
28
class ciEnv;
29
class ciObjectFactory;
30
class ciConstantPoolCache;
31
32
class ciField;
33
class ciConstant;
34
class ciFlags;
35
class ciExceptionHandler;
36
class ciCallProfile;
37
class ciSignature;
38
39
class ciBytecodeStream;
40
class ciSignatureStream;
41
class ciExceptionHandlerStream;
42
43
class ciTypeFlow;
44
45
class ciBaseObject;
46
class ciObject;
47
class ciNullObject;
48
class ciInstance;
49
class ciCallSite;
50
class ciMemberName;
51
class ciNativeEntryPoint;
52
class ciMethodHandle;
53
class ciMethodType;
54
class ciArray;
55
class ciObjArray;
56
class ciTypeArray;
57
class ciSymbol;
58
class ciMetadata;
59
class ciMethod;
60
class ciMethodData;
61
class ciReceiverTypeData; // part of ciMethodData
62
class ciType;
63
class ciReturnAddress;
64
class ciKlass;
65
class ciInstanceKlass;
66
class ciArrayKlass;
67
class ciObjArrayKlass;
68
class ciTypeArrayKlass;
69
70
// Simulate Java Language style package-private access with
71
// friend declarations.
72
// This is a great idea but gcc and other C++ compilers give an
73
// error for being friends with yourself, so this macro does not
74
// compile on some platforms.
75
76
// Everyone gives access to ciObjectFactory
77
#define CI_PACKAGE_ACCESS \
78
friend class ciObjectFactory; \
79
friend class VMStructs;
80
81
// These are the packages that have access to ciEnv
82
// Any more access must be given explicitly.
83
#define CI_PACKAGE_ACCESS_TO \
84
friend class ciObjectFactory; \
85
friend class VMStructs; \
86
friend class ciCallSite; \
87
friend class ciConstantPoolCache; \
88
friend class ciField; \
89
friend class ciConstant; \
90
friend class ciFlags; \
91
friend class ciExceptionHandler; \
92
friend class ciCallProfile; \
93
friend class ciSignature; \
94
friend class ciBytecodeStream; \
95
friend class ciSignatureStream; \
96
friend class ciExceptionHandlerStream; \
97
friend class ciObject; \
98
friend class ciNullObject; \
99
friend class ciInstance; \
100
friend class ciMemberName; \
101
friend class ciNativeEntryPoint; \
102
friend class ciMethod; \
103
friend class ciMethodData; \
104
friend class ciMethodHandle; \
105
friend class ciMethodType; \
106
friend class ciReceiverTypeData; \
107
friend class ciTypeEntries; \
108
friend class ciSpeculativeTrapData; \
109
friend class ciSymbol; \
110
friend class ciArray; \
111
friend class ciObjArray; \
112
friend class ciMetadata; \
113
friend class ciReplay; \
114
friend class ciTypeArray; \
115
friend class ciType; \
116
friend class ciReturnAddress; \
117
friend class ciKlass; \
118
friend class ciInstanceKlass; \
119
friend class ciArrayKlass; \
120
friend class ciObjArrayKlass; \
121
friend class ciTypeArrayKlass; \
122
123
#endif // SHARE_CI_CICLASSLIST_HPP
124
125