annotate src/share/vm/runtime/vmStructs.cpp @ 13212:eb03a7335eb0

Use fixed instead of virtual register for target in far foreign call, since the register allocator does not support virtual registers to be used at call sites.
author Christian Wimmer <christian.wimmer@oracle.com>
date Mon, 02 Dec 2013 14:20:32 -0800
parents 599eaf3bc4b2
children 2b43fcc68add
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 /*
8031
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
2 * Copyright (c) 2000, 2013, 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: 1166
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1166
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: 1166
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: 1917
diff changeset
25 #include "precompiled.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
26 #include "classfile/dictionary.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
27 #include "classfile/javaClasses.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
28 #include "classfile/loaderConstraints.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
29 #include "classfile/placeholders.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
30 #include "classfile/systemDictionary.hpp"
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
31 #include "ci/ciField.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
32 #include "ci/ciInstance.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
33 #include "ci/ciObjArrayKlass.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
34 #include "ci/ciMethodData.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
35 #include "ci/ciSymbol.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
36 #include "code/codeBlob.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
37 #include "code/codeCache.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
38 #include "code/compressedStream.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
39 #include "code/location.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
40 #include "code/nmethod.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
41 #include "code/pcDesc.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
42 #include "code/stubs.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
43 #include "code/vmreg.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
44 #include "compiler/oopMap.hpp"
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
45 #include "compiler/compileBroker.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
46 #include "gc_implementation/shared/immutableSpace.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
47 #include "gc_implementation/shared/markSweep.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
48 #include "gc_implementation/shared/mutableSpace.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
49 #include "gc_interface/collectedHeap.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
50 #include "interpreter/bytecodeInterpreter.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
51 #include "interpreter/bytecodes.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
52 #include "interpreter/interpreter.hpp"
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
53 #include "memory/allocation.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
54 #include "memory/cardTableRS.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
55 #include "memory/defNewGeneration.hpp"
6026
9f059abe8cf2 7131629: Generalize the CMS free list code
jmasa
parents: 5998
diff changeset
56 #include "memory/freeBlockDictionary.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
57 #include "memory/genCollectedHeap.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
58 #include "memory/generation.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
59 #include "memory/generationSpec.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
60 #include "memory/heap.hpp"
12902
bdfbb1fb19ca 8026391: The Metachunk header wastes memory
stefank
parents: 12840
diff changeset
61 #include "memory/metachunk.hpp"
10405
f2110083203d 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 10343
diff changeset
62 #include "memory/referenceType.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
63 #include "memory/space.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
64 #include "memory/tenuredGeneration.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
65 #include "memory/universe.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
66 #include "memory/watermark.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
67 #include "oops/arrayKlass.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
68 #include "oops/arrayOop.hpp"
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
69 #include "oops/compiledICHolder.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
70 #include "oops/constMethod.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
71 #include "oops/constantPool.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
72 #include "oops/cpCache.hpp"
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
73 #include "oops/instanceClassLoaderKlass.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
74 #include "oops/instanceKlass.hpp"
2411
63997f575155 7031614: jmap -permstat fails with java.lang.InternalError in sun.jvm.hotspot.oops.OopField.getValue
never
parents: 2388
diff changeset
75 #include "oops/instanceMirrorKlass.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
76 #include "oops/instanceOop.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
77 #include "oops/klass.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
78 #include "oops/markOop.hpp"
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
79 #include "oops/methodData.hpp"
10105
aeaca88565e6 8010862: The Method counter fields used for profiling can be allocated lazily.
jiangli
parents: 8712
diff changeset
80 #include "oops/methodCounters.hpp"
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
81 #include "oops/method.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
82 #include "oops/objArrayKlass.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
83 #include "oops/objArrayOop.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
84 #include "oops/oop.inline.hpp"
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
85 #include "oops/symbol.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
86 #include "oops/typeArrayKlass.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
87 #include "oops/typeArrayOop.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
88 #include "prims/jvmtiAgentThread.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
89 #include "runtime/arguments.hpp"
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
90 #include "runtime/deoptimization.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
91 #include "runtime/vframeArray.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
92 #include "runtime/globals.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
93 #include "runtime/java.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
94 #include "runtime/javaCalls.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
95 #include "runtime/perfMemory.hpp"
2195
bf8517f4e4d0 6766644: Redefinition of compiled method fails with assertion "Can not load classes with the Compiler thread"
kamg
parents: 2192
diff changeset
96 #include "runtime/serviceThread.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
97 #include "runtime/sharedRuntime.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
98 #include "runtime/stubRoutines.hpp"
7180
f34d701e952e 8003935: Simplify the needed includes for using Thread::current()
stefank
parents: 6972
diff changeset
99 #include "runtime/thread.inline.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
100 #include "runtime/virtualspace.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
101 #include "runtime/vmStructs.hpp"
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
102 #include "utilities/array.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
103 #include "utilities/globalDefinitions.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
104 #include "utilities/hashtable.hpp"
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
105 #include "utilities/macros.hpp"
13098
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
106 #ifdef GRAAL
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
107 # include "graal/vmStructs_graal.hpp"
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
108 #endif
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
109 #ifdef TARGET_ARCH_x86
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
110 # include "vmStructs_x86.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
111 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
112 #ifdef TARGET_ARCH_sparc
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
113 # include "vmStructs_sparc.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
114 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
115 #ifdef TARGET_ARCH_zero
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
116 # include "vmStructs_zero.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
117 #endif
2192
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
118 #ifdef TARGET_ARCH_arm
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
119 # include "vmStructs_arm.hpp"
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
120 #endif
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
121 #ifdef TARGET_ARCH_ppc
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
122 # include "vmStructs_ppc.hpp"
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
123 #endif
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
124 #ifdef TARGET_OS_ARCH_linux_x86
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
125 # include "vmStructs_linux_x86.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
126 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
127 #ifdef TARGET_OS_ARCH_linux_sparc
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
128 # include "vmStructs_linux_sparc.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
129 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
130 #ifdef TARGET_OS_ARCH_linux_zero
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
131 # include "vmStructs_linux_zero.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
132 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
133 #ifdef TARGET_OS_ARCH_solaris_x86
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
134 # include "vmStructs_solaris_x86.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
135 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
136 #ifdef TARGET_OS_ARCH_solaris_sparc
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
137 # include "vmStructs_solaris_sparc.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
138 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
139 #ifdef TARGET_OS_ARCH_windows_x86
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
140 # include "vmStructs_windows_x86.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
141 #endif
2192
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
142 #ifdef TARGET_OS_ARCH_linux_arm
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
143 # include "vmStructs_linux_arm.hpp"
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
144 #endif
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
145 #ifdef TARGET_OS_ARCH_linux_ppc
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
146 # include "vmStructs_linux_ppc.hpp"
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
147 #endif
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 3940
diff changeset
148 #ifdef TARGET_OS_ARCH_bsd_x86
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 3940
diff changeset
149 # include "vmStructs_bsd_x86.hpp"
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 3940
diff changeset
150 #endif
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 3940
diff changeset
151 #ifdef TARGET_OS_ARCH_bsd_zero
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 3940
diff changeset
152 # include "vmStructs_bsd_zero.hpp"
f08d439fab8c 7089790: integrate bsd-port changes
never
parents: 3940
diff changeset
153 #endif
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
154 #if INCLUDE_ALL_GCS
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
155 #include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
156 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
157 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
158 #include "gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
159 #include "gc_implementation/parNew/parNewGeneration.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
160 #include "gc_implementation/parNew/vmStructs_parNew.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
161 #include "gc_implementation/parallelScavenge/asPSOldGen.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
162 #include "gc_implementation/parallelScavenge/asPSYoungGen.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
163 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
164 #include "gc_implementation/parallelScavenge/psOldGen.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
165 #include "gc_implementation/parallelScavenge/psVirtualspace.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
166 #include "gc_implementation/parallelScavenge/psYoungGen.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
167 #include "gc_implementation/parallelScavenge/vmStructs_parallelgc.hpp"
3972
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
168 #include "gc_implementation/g1/vmStructs_g1.hpp"
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
169 #endif // INCLUDE_ALL_GCS
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
170 #ifdef COMPILER2
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
171 #include "opto/addnode.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
172 #include "opto/block.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
173 #include "opto/callnode.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
174 #include "opto/cfgnode.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
175 #include "opto/chaitin.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
176 #include "opto/divnode.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
177 #include "opto/locknode.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
178 #include "opto/loopnode.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
179 #include "opto/machnode.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
180 #include "opto/matcher.hpp"
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents: 12322
diff changeset
181 #include "opto/mathexactnode.hpp"
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
182 #include "opto/mulnode.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
183 #include "opto/phaseX.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
184 #include "opto/parse.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
185 #include "opto/regalloc.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
186 #include "opto/rootnode.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
187 #include "opto/subnode.hpp"
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
188 #include "opto/vectornode.hpp"
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
189 #ifdef TARGET_ARCH_MODEL_x86_32
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
190 # include "adfiles/adGlobals_x86_32.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
191 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
192 #ifdef TARGET_ARCH_MODEL_x86_64
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
193 # include "adfiles/adGlobals_x86_64.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
194 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
195 #ifdef TARGET_ARCH_MODEL_sparc
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
196 # include "adfiles/adGlobals_sparc.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
197 #endif
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
198 #ifdef TARGET_ARCH_MODEL_zero
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
199 # include "adfiles/adGlobals_zero.hpp"
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
200 #endif
2192
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
201 #ifdef TARGET_ARCH_MODEL_arm
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
202 # include "adfiles/adGlobals_arm.hpp"
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
203 #endif
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
204 #ifdef TARGET_ARCH_MODEL_ppc
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
205 # include "adfiles/adGlobals_ppc.hpp"
b92c45f2bc75 7016023: Enable building ARM and PPC from src/closed repository
bobv
parents: 2177
diff changeset
206 #endif
1972
f95d63e2154a 6989984: Use standard include model for Hospot
stefank
parents: 1917
diff changeset
207 #endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
208
a61af66fc99e Initial load
duke
parents:
diff changeset
209 // Note: the cross-product of (c1, c2, product, nonproduct, ...),
a61af66fc99e Initial load
duke
parents:
diff changeset
210 // (nonstatic, static), and (unchecked, checked) has not been taken.
a61af66fc99e Initial load
duke
parents:
diff changeset
211 // Only the macros currently needed have been defined.
a61af66fc99e Initial load
duke
parents:
diff changeset
212
a61af66fc99e Initial load
duke
parents:
diff changeset
213 // A field whose type is not checked is given a null string as the
a61af66fc99e Initial load
duke
parents:
diff changeset
214 // type name, indicating an "opaque" type to the serviceability agent.
a61af66fc99e Initial load
duke
parents:
diff changeset
215
a61af66fc99e Initial load
duke
parents:
diff changeset
216 // NOTE: there is an interdependency between this file and
a61af66fc99e Initial load
duke
parents:
diff changeset
217 // HotSpotTypeDataBase.java, which parses the type strings.
a61af66fc99e Initial load
duke
parents:
diff changeset
218
a61af66fc99e Initial load
duke
parents:
diff changeset
219 #ifndef REG_COUNT
a61af66fc99e Initial load
duke
parents:
diff changeset
220 #define REG_COUNT 0
a61af66fc99e Initial load
duke
parents:
diff changeset
221 #endif
a61af66fc99e Initial load
duke
parents:
diff changeset
222 // whole purpose of this function is to work around bug c++/27724 in gcc 4.1.1
a61af66fc99e Initial load
duke
parents:
diff changeset
223 // with optimization turned on it doesn't affect produced code
a61af66fc99e Initial load
duke
parents:
diff changeset
224 static inline uint64_t cast_uint64_t(size_t x)
a61af66fc99e Initial load
duke
parents:
diff changeset
225 {
a61af66fc99e Initial load
duke
parents:
diff changeset
226 return x;
a61af66fc99e Initial load
duke
parents:
diff changeset
227 }
a61af66fc99e Initial load
duke
parents:
diff changeset
228
6854
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6818
diff changeset
229 #if INCLUDE_JVMTI
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6818
diff changeset
230 #define JVMTI_STRUCTS(static_field) \
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6818
diff changeset
231 static_field(JvmtiExport, _can_access_local_variables, bool) \
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6818
diff changeset
232 static_field(JvmtiExport, _can_hotswap_or_post_breakpoint, bool) \
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6818
diff changeset
233 static_field(JvmtiExport, _can_post_on_exceptions, bool) \
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6818
diff changeset
234 static_field(JvmtiExport, _can_walk_any_space, bool)
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6818
diff changeset
235 #else
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6818
diff changeset
236 #define JVMTI_STRUCTS(static_field)
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6818
diff changeset
237 #endif // INCLUDE_JVMTI
0
a61af66fc99e Initial load
duke
parents:
diff changeset
238
6197
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
239 typedef HashtableEntry<intptr_t, mtInternal> IntptrHashtableEntry;
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
240 typedef Hashtable<intptr_t, mtInternal> IntptrHashtable;
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
241 typedef Hashtable<Symbol*, mtSymbol> SymbolHashtable;
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
242 typedef HashtableEntry<Symbol*, mtClass> SymbolHashtableEntry;
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
243 typedef Hashtable<oop, mtSymbol> StringHashtable;
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
244 typedef TwoOopHashtable<Klass*, mtClass> KlassTwoOopHashtable;
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
245 typedef Hashtable<Klass*, mtClass> KlassHashtable;
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
246 typedef HashtableEntry<Klass*, mtClass> KlassHashtableEntry;
6197
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
247 typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable;
6885
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
248 typedef BinaryTreeDictionary<Metablock, FreeList> MetablockTreeDictionary;
6197
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
249
0
a61af66fc99e Initial load
duke
parents:
diff changeset
250 //--------------------------------------------------------------------------------
a61af66fc99e Initial load
duke
parents:
diff changeset
251 // VM_STRUCTS
a61af66fc99e Initial load
duke
parents:
diff changeset
252 //
a61af66fc99e Initial load
duke
parents:
diff changeset
253 // This list enumerates all of the fields the serviceability agent
a61af66fc99e Initial load
duke
parents:
diff changeset
254 // needs to know about. Be sure to see also the type table below this one.
a61af66fc99e Initial load
duke
parents:
diff changeset
255 // NOTE that there are platform-specific additions to this table in
a61af66fc99e Initial load
duke
parents:
diff changeset
256 // vmStructs_<os>_<cpu>.hpp.
a61af66fc99e Initial load
duke
parents:
diff changeset
257
a61af66fc99e Initial load
duke
parents:
diff changeset
258 #define VM_STRUCTS(nonstatic_field, \
a61af66fc99e Initial load
duke
parents:
diff changeset
259 static_field, \
a61af66fc99e Initial load
duke
parents:
diff changeset
260 unchecked_nonstatic_field, \
a61af66fc99e Initial load
duke
parents:
diff changeset
261 volatile_nonstatic_field, \
a61af66fc99e Initial load
duke
parents:
diff changeset
262 nonproduct_nonstatic_field, \
a61af66fc99e Initial load
duke
parents:
diff changeset
263 c1_nonstatic_field, \
a61af66fc99e Initial load
duke
parents:
diff changeset
264 c2_nonstatic_field, \
a61af66fc99e Initial load
duke
parents:
diff changeset
265 unchecked_c1_static_field, \
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
266 unchecked_c2_static_field) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
267 \
a61af66fc99e Initial load
duke
parents:
diff changeset
268 /******************************************************************/ \
11096
71180a6e5080 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful.
jiangli
parents: 11065
diff changeset
269 /* OopDesc and Klass hierarchies (NOTE: MethodData* incomplete) */ \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
270 /******************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
271 \
a61af66fc99e Initial load
duke
parents:
diff changeset
272 volatile_nonstatic_field(oopDesc, _mark, markOop) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
273 volatile_nonstatic_field(oopDesc, _metadata._klass, Klass*) \
113
ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 0
diff changeset
274 volatile_nonstatic_field(oopDesc, _metadata._compressed_klass, narrowOop) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
275 static_field(oopDesc, _bs, BarrierSet*) \
6831
d8ce2825b193 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 6802
diff changeset
276 nonstatic_field(ArrayKlass, _dimension, int) \
d8ce2825b193 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 6802
diff changeset
277 volatile_nonstatic_field(ArrayKlass, _higher_dimension, Klass*) \
d8ce2825b193 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 6802
diff changeset
278 volatile_nonstatic_field(ArrayKlass, _lower_dimension, Klass*) \
d8ce2825b193 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 6802
diff changeset
279 nonstatic_field(ArrayKlass, _vtable_len, int) \
d8ce2825b193 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 6802
diff changeset
280 nonstatic_field(ArrayKlass, _component_mirror, oop) \
11096
71180a6e5080 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful.
jiangli
parents: 11065
diff changeset
281 nonstatic_field(CompiledICHolder, _holder_method, Method*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
282 nonstatic_field(CompiledICHolder, _holder_klass, Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
283 nonstatic_field(ConstantPool, _tags, Array<u1>*) \
11096
71180a6e5080 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful.
jiangli
parents: 11065
diff changeset
284 nonstatic_field(ConstantPool, _cache, ConstantPoolCache*) \
6940
18fb7da42534 8000725: NPG: method_holder() and pool_holder() and pool_holder field should be InstanceKlass
coleenp
parents: 6926
diff changeset
285 nonstatic_field(ConstantPool, _pool_holder, InstanceKlass*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
286 nonstatic_field(ConstantPool, _operands, Array<u2>*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
287 nonstatic_field(ConstantPool, _length, int) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
288 nonstatic_field(ConstantPool, _resolved_references, jobject) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
289 nonstatic_field(ConstantPool, _reference_map, Array<u2>*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
290 nonstatic_field(ConstantPoolCache, _length, int) \
11096
71180a6e5080 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful.
jiangli
parents: 11065
diff changeset
291 nonstatic_field(ConstantPoolCache, _constant_pool, ConstantPool*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
292 nonstatic_field(InstanceKlass, _array_klasses, Klass*) \
11096
71180a6e5080 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful.
jiangli
parents: 11065
diff changeset
293 nonstatic_field(InstanceKlass, _methods, Array<Method*>*) \
12823
ac9cb1d5a202 8009130: Lambda: Fix access controls, loader constraints.
acorn
parents: 12324
diff changeset
294 nonstatic_field(InstanceKlass, _default_methods, Array<Method*>*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
295 nonstatic_field(InstanceKlass, _local_interfaces, Array<Klass*>*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
296 nonstatic_field(InstanceKlass, _transitive_interfaces, Array<Klass*>*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
297 nonstatic_field(InstanceKlass, _fields, Array<u2>*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
298 nonstatic_field(InstanceKlass, _java_fields_count, u2) \
10343
6bd680e9ea35 8003421: NPG: Move oops out of InstanceKlass into mirror
coleenp
parents: 10283
diff changeset
299 nonstatic_field(InstanceKlass, _constants, ConstantPool*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
300 nonstatic_field(InstanceKlass, _class_loader_data, ClassLoaderData*) \
12067
e22ee8e7ae62 8021948: Change InstanceKlass::_source_file_name and _generic_signature from Symbol* to constant pool indexes.
jiangli
parents: 12023
diff changeset
301 nonstatic_field(InstanceKlass, _source_file_name_index, u2) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
302 nonstatic_field(InstanceKlass, _source_debug_extension, char*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
303 nonstatic_field(InstanceKlass, _inner_classes, Array<jushort>*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
304 nonstatic_field(InstanceKlass, _nonstatic_field_size, int) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
305 nonstatic_field(InstanceKlass, _static_field_size, int) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
306 nonstatic_field(InstanceKlass, _static_oop_field_count, u2) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
307 nonstatic_field(InstanceKlass, _nonstatic_oop_map_size, int) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
308 nonstatic_field(InstanceKlass, _is_marked_dependent, bool) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
309 nonstatic_field(InstanceKlass, _minor_version, u2) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
310 nonstatic_field(InstanceKlass, _major_version, u2) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
311 nonstatic_field(InstanceKlass, _init_state, u1) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
312 nonstatic_field(InstanceKlass, _init_thread, Thread*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
313 nonstatic_field(InstanceKlass, _vtable_len, int) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
314 nonstatic_field(InstanceKlass, _itable_len, int) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
315 nonstatic_field(InstanceKlass, _reference_type, u1) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
316 volatile_nonstatic_field(InstanceKlass, _oop_map_cache, OopMapCache*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
317 nonstatic_field(InstanceKlass, _jni_ids, JNIid*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
318 nonstatic_field(InstanceKlass, _osr_nmethods_head, nmethod*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
319 nonstatic_field(InstanceKlass, _breakpoints, BreakpointInfo*) \
12067
e22ee8e7ae62 8021948: Change InstanceKlass::_source_file_name and _generic_signature from Symbol* to constant pool indexes.
jiangli
parents: 12023
diff changeset
320 nonstatic_field(InstanceKlass, _generic_signature_index, u2) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
321 nonstatic_field(InstanceKlass, _methods_jmethod_ids, jmethodID*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
322 volatile_nonstatic_field(InstanceKlass, _idnum_allocated_count, u2) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
323 nonstatic_field(InstanceKlass, _annotations, Annotations*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
324 nonstatic_field(InstanceKlass, _dependencies, nmethodBucket*) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
325 nonstatic_field(nmethodBucket, _nmethod, nmethod*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
326 nonstatic_field(nmethodBucket, _count, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
327 nonstatic_field(nmethodBucket, _next, nmethodBucket*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
328 nonstatic_field(InstanceKlass, _method_ordering, Array<int>*) \
12823
ac9cb1d5a202 8009130: Lambda: Fix access controls, loader constraints.
acorn
parents: 12324
diff changeset
329 nonstatic_field(InstanceKlass, _default_vtable_indices, Array<int>*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
330 nonstatic_field(Klass, _super_check_offset, juint) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
331 nonstatic_field(Klass, _secondary_super_cache, Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
332 nonstatic_field(Klass, _secondary_supers, Array<Klass*>*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
333 nonstatic_field(Klass, _primary_supers[0], Klass*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
334 nonstatic_field(Klass, _java_mirror, oop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
335 nonstatic_field(Klass, _modifier_flags, jint) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
336 nonstatic_field(Klass, _super, Klass*) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
337 nonstatic_field(Klass, _subklass, Klass*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
338 nonstatic_field(Klass, _layout_helper, jint) \
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
339 nonstatic_field(Klass, _name, Symbol*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
340 nonstatic_field(Klass, _access_flags, AccessFlags) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
341 nonstatic_field(Klass, _prototype_header, markOop) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
342 nonstatic_field(Klass, _next_sibling, Klass*) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
343 nonstatic_field(vtableEntry, _method, Method*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
344 nonstatic_field(MethodData, _size, int) \
11096
71180a6e5080 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful.
jiangli
parents: 11065
diff changeset
345 nonstatic_field(MethodData, _method, Method*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
346 nonstatic_field(MethodData, _data_size, int) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
347 nonstatic_field(MethodData, _data[0], intptr_t) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
348 nonstatic_field(MethodData, _nof_decompiles, uint) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
349 nonstatic_field(MethodData, _nof_overflow_recompiles, uint) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
350 nonstatic_field(MethodData, _nof_overflow_traps, uint) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
351 nonstatic_field(MethodData, _trap_hist._array[0], u1) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
352 nonstatic_field(MethodData, _eflags, intx) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
353 nonstatic_field(MethodData, _arg_local, intx) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
354 nonstatic_field(MethodData, _arg_stack, intx) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
355 nonstatic_field(MethodData, _arg_returned, intx) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
356 nonstatic_field(DataLayout, _header._struct._tag, u1) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
357 nonstatic_field(DataLayout, _header._struct._flags, u1) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
358 nonstatic_field(DataLayout, _header._struct._bci, u2) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
359 nonstatic_field(DataLayout, _cells[0], intptr_t) \
10105
aeaca88565e6 8010862: The Method counter fields used for profiling can be allocated lazily.
jiangli
parents: 8712
diff changeset
360 nonstatic_field(MethodCounters, _interpreter_invocation_count, int) \
aeaca88565e6 8010862: The Method counter fields used for profiling can be allocated lazily.
jiangli
parents: 8712
diff changeset
361 nonstatic_field(MethodCounters, _interpreter_throwout_count, u2) \
aeaca88565e6 8010862: The Method counter fields used for profiling can be allocated lazily.
jiangli
parents: 8712
diff changeset
362 nonstatic_field(MethodCounters, _number_of_breakpoints, u2) \
aeaca88565e6 8010862: The Method counter fields used for profiling can be allocated lazily.
jiangli
parents: 8712
diff changeset
363 nonstatic_field(MethodCounters, _invocation_counter, InvocationCounter) \
aeaca88565e6 8010862: The Method counter fields used for profiling can be allocated lazily.
jiangli
parents: 8712
diff changeset
364 nonstatic_field(MethodCounters, _backedge_counter, InvocationCounter) \
aeaca88565e6 8010862: The Method counter fields used for profiling can be allocated lazily.
jiangli
parents: 8712
diff changeset
365 nonstatic_field(Method, _constMethod, ConstMethod*) \
aeaca88565e6 8010862: The Method counter fields used for profiling can be allocated lazily.
jiangli
parents: 8712
diff changeset
366 nonstatic_field(Method, _method_data, MethodData*) \
aeaca88565e6 8010862: The Method counter fields used for profiling can be allocated lazily.
jiangli
parents: 8712
diff changeset
367 nonstatic_field(Method, _method_counters, MethodCounters*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
368 nonstatic_field(Method, _access_flags, AccessFlags) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
369 nonstatic_field(Method, _vtable_index, int) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
370 nonstatic_field(Method, _method_size, u2) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
371 nonstatic_field(Method, _intrinsic_id, u1) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
372 nonproduct_nonstatic_field(Method, _compiled_invocation_count, int) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
373 volatile_nonstatic_field(Method, _code, nmethod*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
374 nonstatic_field(Method, _i2i_entry, address) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
375 nonstatic_field(Method, _adapter, AdapterHandlerEntry*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
376 volatile_nonstatic_field(Method, _from_compiled_entry, address) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
377 volatile_nonstatic_field(Method, _from_interpreted_entry, address) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
378 volatile_nonstatic_field(ConstMethod, _fingerprint, uint64_t) \
8031
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
379 nonstatic_field(ConstMethod, _constants, ConstantPool*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
380 nonstatic_field(ConstMethod, _stackmap_data, Array<u1>*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
381 nonstatic_field(ConstMethod, _constMethod_size, int) \
8031
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
382 nonstatic_field(ConstMethod, _flags, u2) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
383 nonstatic_field(ConstMethod, _code_size, u2) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
384 nonstatic_field(ConstMethod, _name_index, u2) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
385 nonstatic_field(ConstMethod, _signature_index, u2) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
386 nonstatic_field(ConstMethod, _method_idnum, u2) \
7183
b2dbd323c668 8003848: Make ConstMethod::generic_signature_index optional and move Method::_max_stack to ConstMethod.
jiangli
parents: 6972
diff changeset
387 nonstatic_field(ConstMethod, _max_stack, u2) \
7402
fd74228fd5ca 8004076: Move _max_locals and _size_of_parameters to ConstMethod for better sharing.
jiangli
parents: 7184
diff changeset
388 nonstatic_field(ConstMethod, _max_locals, u2) \
fd74228fd5ca 8004076: Move _max_locals and _size_of_parameters to ConstMethod for better sharing.
jiangli
parents: 7184
diff changeset
389 nonstatic_field(ConstMethod, _size_of_parameters, u2) \
6831
d8ce2825b193 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 6802
diff changeset
390 nonstatic_field(ObjArrayKlass, _element_klass, Klass*) \
d8ce2825b193 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 6802
diff changeset
391 nonstatic_field(ObjArrayKlass, _bottom_klass, Klass*) \
11033
d9eed26d638a 8009575: Reduce Symbol::_refcount from 4 bytes to 2 bytes
iklam
parents: 10405
diff changeset
392 volatile_nonstatic_field(Symbol, _refcount, short) \
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
393 nonstatic_field(Symbol, _identity_hash, int) \
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
394 nonstatic_field(Symbol, _length, unsigned short) \
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
395 unchecked_nonstatic_field(Symbol, _body, sizeof(jbyte)) /* NOTE: no type */ \
6831
d8ce2825b193 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 6802
diff changeset
396 nonstatic_field(TypeArrayKlass, _max_length, int) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
397 \
a61af66fc99e Initial load
duke
parents:
diff changeset
398 /***********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
399 /* Constant Pool Cache */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
400 /***********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
401 \
a61af66fc99e Initial load
duke
parents:
diff changeset
402 volatile_nonstatic_field(ConstantPoolCacheEntry, _indices, intx) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
403 nonstatic_field(ConstantPoolCacheEntry, _f1, volatile Metadata*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
404 volatile_nonstatic_field(ConstantPoolCacheEntry, _f2, intx) \
a61af66fc99e Initial load
duke
parents:
diff changeset
405 volatile_nonstatic_field(ConstantPoolCacheEntry, _flags, intx) \
a61af66fc99e Initial load
duke
parents:
diff changeset
406 \
a61af66fc99e Initial load
duke
parents:
diff changeset
407 /********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
408 /* MethodOop-related structures */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
409 /********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
410 \
a61af66fc99e Initial load
duke
parents:
diff changeset
411 nonstatic_field(CheckedExceptionElement, class_cp_index, u2) \
a61af66fc99e Initial load
duke
parents:
diff changeset
412 nonstatic_field(LocalVariableTableElement, start_bci, u2) \
a61af66fc99e Initial load
duke
parents:
diff changeset
413 nonstatic_field(LocalVariableTableElement, length, u2) \
a61af66fc99e Initial load
duke
parents:
diff changeset
414 nonstatic_field(LocalVariableTableElement, name_cp_index, u2) \
a61af66fc99e Initial load
duke
parents:
diff changeset
415 nonstatic_field(LocalVariableTableElement, descriptor_cp_index, u2) \
a61af66fc99e Initial load
duke
parents:
diff changeset
416 nonstatic_field(LocalVariableTableElement, signature_cp_index, u2) \
a61af66fc99e Initial load
duke
parents:
diff changeset
417 nonstatic_field(LocalVariableTableElement, slot, u2) \
6213
8150fa46d2ed 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
jiangli
parents: 6146
diff changeset
418 nonstatic_field(ExceptionTableElement, start_pc, u2) \
8150fa46d2ed 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
jiangli
parents: 6146
diff changeset
419 nonstatic_field(ExceptionTableElement, end_pc, u2) \
8150fa46d2ed 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
jiangli
parents: 6146
diff changeset
420 nonstatic_field(ExceptionTableElement, handler_pc, u2) \
8150fa46d2ed 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
jiangli
parents: 6146
diff changeset
421 nonstatic_field(ExceptionTableElement, catch_type_index, u2) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
422 nonstatic_field(BreakpointInfo, _orig_bytecode, Bytecodes::Code) \
a61af66fc99e Initial load
duke
parents:
diff changeset
423 nonstatic_field(BreakpointInfo, _bci, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
424 nonstatic_field(BreakpointInfo, _name_index, u2) \
a61af66fc99e Initial load
duke
parents:
diff changeset
425 nonstatic_field(BreakpointInfo, _signature_index, u2) \
a61af66fc99e Initial load
duke
parents:
diff changeset
426 nonstatic_field(BreakpointInfo, _next, BreakpointInfo*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
427 /***********/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
428 /* JNI IDs */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
429 /***********/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
430 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
431 nonstatic_field(JNIid, _holder, Klass*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
432 nonstatic_field(JNIid, _next, JNIid*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
433 nonstatic_field(JNIid, _offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
434 /************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
435 /* Universe */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
436 /************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
437 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
438 static_field(Universe, _boolArrayKlassObj, Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
439 static_field(Universe, _byteArrayKlassObj, Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
440 static_field(Universe, _charArrayKlassObj, Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
441 static_field(Universe, _intArrayKlassObj, Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
442 static_field(Universe, _shortArrayKlassObj, Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
443 static_field(Universe, _longArrayKlassObj, Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
444 static_field(Universe, _singleArrayKlassObj, Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
445 static_field(Universe, _doubleArrayKlassObj, Klass*) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
446 static_field(Universe, _mirrors[0], oop) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
447 static_field(Universe, _main_thread_group, oop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
448 static_field(Universe, _system_thread_group, oop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
449 static_field(Universe, _the_empty_class_klass_array, objArrayOop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
450 static_field(Universe, _null_ptr_exception_instance, oop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
451 static_field(Universe, _arithmetic_exception_instance, oop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
452 static_field(Universe, _vm_exception, oop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
453 static_field(Universe, _collectedHeap, CollectedHeap*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
454 static_field(Universe, _base_vtable_size, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
455 static_field(Universe, _bootstrapping, bool) \
a61af66fc99e Initial load
duke
parents:
diff changeset
456 static_field(Universe, _fully_initialized, bool) \
a61af66fc99e Initial load
duke
parents:
diff changeset
457 static_field(Universe, _verify_count, int) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
458 static_field(Universe, _non_oop_bits, intptr_t) \
642
660978a2a31a 6791178: Specialize for zero as the compressed oop vm heap base
kvn
parents: 365
diff changeset
459 static_field(Universe, _narrow_oop._base, address) \
660978a2a31a 6791178: Specialize for zero as the compressed oop vm heap base
kvn
parents: 365
diff changeset
460 static_field(Universe, _narrow_oop._shift, int) \
660978a2a31a 6791178: Specialize for zero as the compressed oop vm heap base
kvn
parents: 365
diff changeset
461 static_field(Universe, _narrow_oop._use_implicit_null_checks, bool) \
6848
8e47bac5643a 7054512: Compress class pointers after perm gen removal
roland
parents: 6818
diff changeset
462 static_field(Universe, _narrow_klass._base, address) \
8e47bac5643a 7054512: Compress class pointers after perm gen removal
roland
parents: 6818
diff changeset
463 static_field(Universe, _narrow_klass._shift, int) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
464 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
465 /******/ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
466 /* os */ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
467 /******/ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
468 \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
469 static_field(os, _polling_page, address) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
470 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
471 /**********************************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
472 /* Generation and Space hierarchies */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
473 /**********************************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
474 \
a61af66fc99e Initial load
duke
parents:
diff changeset
475 unchecked_nonstatic_field(ageTable, sizes, sizeof(ageTable::sizes)) \
a61af66fc99e Initial load
duke
parents:
diff changeset
476 \
a61af66fc99e Initial load
duke
parents:
diff changeset
477 nonstatic_field(BarrierSet, _max_covered_regions, int) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
478 nonstatic_field(BarrierSet, _kind, BarrierSet::Name) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
479 nonstatic_field(BlockOffsetTable, _bottom, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
480 nonstatic_field(BlockOffsetTable, _end, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
481 \
a61af66fc99e Initial load
duke
parents:
diff changeset
482 nonstatic_field(BlockOffsetSharedArray, _reserved, MemRegion) \
a61af66fc99e Initial load
duke
parents:
diff changeset
483 nonstatic_field(BlockOffsetSharedArray, _end, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
484 nonstatic_field(BlockOffsetSharedArray, _vs, VirtualSpace) \
a61af66fc99e Initial load
duke
parents:
diff changeset
485 nonstatic_field(BlockOffsetSharedArray, _offset_array, u_char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
486 \
a61af66fc99e Initial load
duke
parents:
diff changeset
487 nonstatic_field(BlockOffsetArray, _array, BlockOffsetSharedArray*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
488 nonstatic_field(BlockOffsetArray, _sp, Space*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
489 nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_threshold, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
490 nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_index, size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
491 \
a61af66fc99e Initial load
duke
parents:
diff changeset
492 nonstatic_field(BlockOffsetArrayNonContigSpace, _unallocated_block, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
493 \
a61af66fc99e Initial load
duke
parents:
diff changeset
494 nonstatic_field(CardGeneration, _rs, GenRemSet*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
495 nonstatic_field(CardGeneration, _bts, BlockOffsetSharedArray*) \
9072
8617e38bb4cb 8008508: CMS does not correctly reduce heap size after a Full GC
jmasa
parents: 8712
diff changeset
496 nonstatic_field(CardGeneration, _shrink_factor, size_t) \
8617e38bb4cb 8008508: CMS does not correctly reduce heap size after a Full GC
jmasa
parents: 8712
diff changeset
497 nonstatic_field(CardGeneration, _capacity_at_prologue, size_t) \
8617e38bb4cb 8008508: CMS does not correctly reduce heap size after a Full GC
jmasa
parents: 8712
diff changeset
498 nonstatic_field(CardGeneration, _used_at_prologue, size_t) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
499 \
a61af66fc99e Initial load
duke
parents:
diff changeset
500 nonstatic_field(CardTableModRefBS, _whole_heap, const MemRegion) \
a61af66fc99e Initial load
duke
parents:
diff changeset
501 nonstatic_field(CardTableModRefBS, _guard_index, const size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
502 nonstatic_field(CardTableModRefBS, _last_valid_index, const size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
503 nonstatic_field(CardTableModRefBS, _page_size, const size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
504 nonstatic_field(CardTableModRefBS, _byte_map_size, const size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
505 nonstatic_field(CardTableModRefBS, _byte_map, jbyte*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
506 nonstatic_field(CardTableModRefBS, _cur_covered_regions, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
507 nonstatic_field(CardTableModRefBS, _covered, MemRegion*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
508 nonstatic_field(CardTableModRefBS, _committed, MemRegion*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
509 nonstatic_field(CardTableModRefBS, _guard_region, MemRegion) \
a61af66fc99e Initial load
duke
parents:
diff changeset
510 nonstatic_field(CardTableModRefBS, byte_map_base, jbyte*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
511 \
342
37f87013dfd8 6711316: Open source the Garbage-First garbage collector
ysr
parents: 147
diff changeset
512 nonstatic_field(CardTableRS, _ct_bs, CardTableModRefBSForCTRS*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
513 \
a61af66fc99e Initial load
duke
parents:
diff changeset
514 nonstatic_field(CollectedHeap, _reserved, MemRegion) \
a61af66fc99e Initial load
duke
parents:
diff changeset
515 nonstatic_field(CollectedHeap, _barrier_set, BarrierSet*) \
1166
7b0e9cba0307 6896647: card marks can be deferred too long
ysr
parents: 1144
diff changeset
516 nonstatic_field(CollectedHeap, _defer_initial_card_mark, bool) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
517 nonstatic_field(CollectedHeap, _is_gc_active, bool) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
518 nonstatic_field(CollectedHeap, _total_collections, unsigned int) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
519 nonstatic_field(CompactibleSpace, _compaction_top, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
520 nonstatic_field(CompactibleSpace, _first_dead, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
521 nonstatic_field(CompactibleSpace, _end_of_live, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
522 \
a61af66fc99e Initial load
duke
parents:
diff changeset
523 \
a61af66fc99e Initial load
duke
parents:
diff changeset
524 nonstatic_field(ContiguousSpace, _top, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
525 nonstatic_field(ContiguousSpace, _concurrent_iteration_safe_limit, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
526 nonstatic_field(ContiguousSpace, _saved_mark_word, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
527 \
a61af66fc99e Initial load
duke
parents:
diff changeset
528 nonstatic_field(DefNewGeneration, _next_gen, Generation*) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
529 nonstatic_field(DefNewGeneration, _tenuring_threshold, uint) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
530 nonstatic_field(DefNewGeneration, _age_table, ageTable) \
a61af66fc99e Initial load
duke
parents:
diff changeset
531 nonstatic_field(DefNewGeneration, _eden_space, EdenSpace*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
532 nonstatic_field(DefNewGeneration, _from_space, ContiguousSpace*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
533 nonstatic_field(DefNewGeneration, _to_space, ContiguousSpace*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
534 \
a61af66fc99e Initial load
duke
parents:
diff changeset
535 nonstatic_field(EdenSpace, _gen, DefNewGeneration*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
536 \
a61af66fc99e Initial load
duke
parents:
diff changeset
537 nonstatic_field(Generation, _reserved, MemRegion) \
a61af66fc99e Initial load
duke
parents:
diff changeset
538 nonstatic_field(Generation, _virtual_space, VirtualSpace) \
a61af66fc99e Initial load
duke
parents:
diff changeset
539 nonstatic_field(Generation, _level, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
540 nonstatic_field(Generation, _stat_record, Generation::StatRecord) \
a61af66fc99e Initial load
duke
parents:
diff changeset
541 \
a61af66fc99e Initial load
duke
parents:
diff changeset
542 nonstatic_field(Generation::StatRecord, invocations, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
543 nonstatic_field(Generation::StatRecord, accumulated_time, elapsedTimer) \
a61af66fc99e Initial load
duke
parents:
diff changeset
544 \
a61af66fc99e Initial load
duke
parents:
diff changeset
545 nonstatic_field(GenerationSpec, _name, Generation::Name) \
a61af66fc99e Initial load
duke
parents:
diff changeset
546 nonstatic_field(GenerationSpec, _init_size, size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
547 nonstatic_field(GenerationSpec, _max_size, size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
548 \
a61af66fc99e Initial load
duke
parents:
diff changeset
549 static_field(GenCollectedHeap, _gch, GenCollectedHeap*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
550 nonstatic_field(GenCollectedHeap, _n_gens, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
551 unchecked_nonstatic_field(GenCollectedHeap, _gens, sizeof(GenCollectedHeap::_gens)) /* NOTE: no type */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
552 nonstatic_field(GenCollectedHeap, _gen_specs, GenerationSpec**) \
a61af66fc99e Initial load
duke
parents:
diff changeset
553 \
a61af66fc99e Initial load
duke
parents:
diff changeset
554 nonstatic_field(HeapWord, i, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
555 \
a61af66fc99e Initial load
duke
parents:
diff changeset
556 nonstatic_field(MemRegion, _start, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
557 nonstatic_field(MemRegion, _word_size, size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
558 \
a61af66fc99e Initial load
duke
parents:
diff changeset
559 nonstatic_field(OffsetTableContigSpace, _offsets, BlockOffsetArray) \
a61af66fc99e Initial load
duke
parents:
diff changeset
560 \
a61af66fc99e Initial load
duke
parents:
diff changeset
561 nonstatic_field(OneContigSpaceCardGeneration, _min_heap_delta_bytes, size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
562 nonstatic_field(OneContigSpaceCardGeneration, _the_space, ContiguousSpace*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
563 nonstatic_field(OneContigSpaceCardGeneration, _last_gc, WaterMark) \
a61af66fc99e Initial load
duke
parents:
diff changeset
564 \
a61af66fc99e Initial load
duke
parents:
diff changeset
565 \
a61af66fc99e Initial load
duke
parents:
diff changeset
566 \
a61af66fc99e Initial load
duke
parents:
diff changeset
567 nonstatic_field(Space, _bottom, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
568 nonstatic_field(Space, _end, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
569 \
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents: 12355
diff changeset
570 static_field(HeapRegion, LogOfHRGrainBytes, int) \
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents: 12355
diff changeset
571 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
572 nonstatic_field(ThreadLocalAllocBuffer, _start, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
573 nonstatic_field(ThreadLocalAllocBuffer, _top, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
574 nonstatic_field(ThreadLocalAllocBuffer, _end, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
575 nonstatic_field(ThreadLocalAllocBuffer, _desired_size, size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
576 nonstatic_field(ThreadLocalAllocBuffer, _refill_waste_limit, size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
577 static_field(ThreadLocalAllocBuffer, _target_refills, unsigned) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
578 nonstatic_field(ThreadLocalAllocBuffer, _number_of_refills, unsigned) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
579 nonstatic_field(ThreadLocalAllocBuffer, _fast_refill_waste, unsigned) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
580 nonstatic_field(ThreadLocalAllocBuffer, _slow_refill_waste, unsigned) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
581 nonstatic_field(ThreadLocalAllocBuffer, _gc_waste, unsigned) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
582 nonstatic_field(ThreadLocalAllocBuffer, _slow_allocations, unsigned) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
583 nonstatic_field(VirtualSpace, _low_boundary, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
584 nonstatic_field(VirtualSpace, _high_boundary, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
585 nonstatic_field(VirtualSpace, _low, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
586 nonstatic_field(VirtualSpace, _high, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
587 nonstatic_field(VirtualSpace, _lower_high, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
588 nonstatic_field(VirtualSpace, _middle_high, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
589 nonstatic_field(VirtualSpace, _upper_high, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
590 nonstatic_field(WaterMark, _point, HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
591 nonstatic_field(WaterMark, _space, Space*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
592 \
a61af66fc99e Initial load
duke
parents:
diff changeset
593 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
594 /* PerfMemory - jvmstat */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
595 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
596 \
a61af66fc99e Initial load
duke
parents:
diff changeset
597 nonstatic_field(PerfDataPrologue, magic, jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
598 nonstatic_field(PerfDataPrologue, byte_order, jbyte) \
a61af66fc99e Initial load
duke
parents:
diff changeset
599 nonstatic_field(PerfDataPrologue, major_version, jbyte) \
a61af66fc99e Initial load
duke
parents:
diff changeset
600 nonstatic_field(PerfDataPrologue, minor_version, jbyte) \
a61af66fc99e Initial load
duke
parents:
diff changeset
601 nonstatic_field(PerfDataPrologue, accessible, jbyte) \
a61af66fc99e Initial load
duke
parents:
diff changeset
602 nonstatic_field(PerfDataPrologue, used, jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
603 nonstatic_field(PerfDataPrologue, overflow, jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
604 nonstatic_field(PerfDataPrologue, mod_time_stamp, jlong) \
a61af66fc99e Initial load
duke
parents:
diff changeset
605 nonstatic_field(PerfDataPrologue, entry_offset, jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
606 nonstatic_field(PerfDataPrologue, num_entries, jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
607 \
a61af66fc99e Initial load
duke
parents:
diff changeset
608 nonstatic_field(PerfDataEntry, entry_length, jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
609 nonstatic_field(PerfDataEntry, name_offset, jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
610 nonstatic_field(PerfDataEntry, vector_length, jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
611 nonstatic_field(PerfDataEntry, data_type, jbyte) \
a61af66fc99e Initial load
duke
parents:
diff changeset
612 nonstatic_field(PerfDataEntry, flags, jbyte) \
a61af66fc99e Initial load
duke
parents:
diff changeset
613 nonstatic_field(PerfDataEntry, data_units, jbyte) \
a61af66fc99e Initial load
duke
parents:
diff changeset
614 nonstatic_field(PerfDataEntry, data_variability, jbyte) \
a61af66fc99e Initial load
duke
parents:
diff changeset
615 nonstatic_field(PerfDataEntry, data_offset, jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
616 \
a61af66fc99e Initial load
duke
parents:
diff changeset
617 static_field(PerfMemory, _start, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
618 static_field(PerfMemory, _end, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
619 static_field(PerfMemory, _top, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
620 static_field(PerfMemory, _capacity, size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
621 static_field(PerfMemory, _prologue, PerfDataPrologue*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
622 static_field(PerfMemory, _initialized, jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
623 \
a61af66fc99e Initial load
duke
parents:
diff changeset
624 /***************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
625 /* SymbolTable */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
626 /***************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
627 \
a61af66fc99e Initial load
duke
parents:
diff changeset
628 static_field(SymbolTable, _the_table, SymbolTable*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
629 \
a61af66fc99e Initial load
duke
parents:
diff changeset
630 /***************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
631 /* StringTable */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
632 /***************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
633 \
a61af66fc99e Initial load
duke
parents:
diff changeset
634 static_field(StringTable, _the_table, StringTable*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
635 \
a61af66fc99e Initial load
duke
parents:
diff changeset
636 /********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
637 /* SystemDictionary */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
638 /********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
639 \
a61af66fc99e Initial load
duke
parents:
diff changeset
640 static_field(SystemDictionary, _dictionary, Dictionary*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
641 static_field(SystemDictionary, _placeholders, PlaceholderTable*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
642 static_field(SystemDictionary, _shared_dictionary, Dictionary*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
643 static_field(SystemDictionary, _system_loader_lock_obj, oop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
644 static_field(SystemDictionary, _loader_constraints, LoaderConstraintTable*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
645 static_field(SystemDictionary, WK_KLASS(Object_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
646 static_field(SystemDictionary, WK_KLASS(String_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
647 static_field(SystemDictionary, WK_KLASS(Class_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
648 static_field(SystemDictionary, WK_KLASS(Cloneable_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
649 static_field(SystemDictionary, WK_KLASS(ClassLoader_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
650 static_field(SystemDictionary, WK_KLASS(Serializable_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
651 static_field(SystemDictionary, WK_KLASS(System_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
652 static_field(SystemDictionary, WK_KLASS(Throwable_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
653 static_field(SystemDictionary, WK_KLASS(ThreadDeath_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
654 static_field(SystemDictionary, WK_KLASS(Error_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
655 static_field(SystemDictionary, WK_KLASS(Exception_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
656 static_field(SystemDictionary, WK_KLASS(RuntimeException_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
657 static_field(SystemDictionary, WK_KLASS(ClassNotFoundException_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
658 static_field(SystemDictionary, WK_KLASS(NoClassDefFoundError_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
659 static_field(SystemDictionary, WK_KLASS(LinkageError_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
660 static_field(SystemDictionary, WK_KLASS(ClassCastException_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
661 static_field(SystemDictionary, WK_KLASS(ArrayStoreException_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
662 static_field(SystemDictionary, WK_KLASS(VirtualMachineError_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
663 static_field(SystemDictionary, WK_KLASS(OutOfMemoryError_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
664 static_field(SystemDictionary, WK_KLASS(StackOverflowError_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
665 static_field(SystemDictionary, WK_KLASS(ProtectionDomain_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
666 static_field(SystemDictionary, WK_KLASS(AccessControlContext_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
667 static_field(SystemDictionary, WK_KLASS(Reference_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
668 static_field(SystemDictionary, WK_KLASS(SoftReference_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
669 static_field(SystemDictionary, WK_KLASS(WeakReference_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
670 static_field(SystemDictionary, WK_KLASS(FinalReference_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
671 static_field(SystemDictionary, WK_KLASS(PhantomReference_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
672 static_field(SystemDictionary, WK_KLASS(Finalizer_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
673 static_field(SystemDictionary, WK_KLASS(Thread_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
674 static_field(SystemDictionary, WK_KLASS(ThreadGroup_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
675 static_field(SystemDictionary, WK_KLASS(Properties_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
676 static_field(SystemDictionary, WK_KLASS(StringBuffer_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
677 static_field(SystemDictionary, WK_KLASS(MethodHandle_klass), Klass*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
678 static_field(SystemDictionary, _box_klasses[0], Klass*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
679 static_field(SystemDictionary, _java_system_loader, oop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
680 \
3962
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
681 /*************/ \
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
682 /* vmSymbols */ \
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
683 /*************/ \
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
684 \
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
685 static_field(vmSymbols, _symbols[0], Symbol*) \
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
686 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
687 /*******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
688 /* HashtableBucket */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
689 /*******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
690 \
6197
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
691 nonstatic_field(HashtableBucket<mtInternal>, _entry, BasicHashtableEntry<mtInternal>*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
692 \
a61af66fc99e Initial load
duke
parents:
diff changeset
693 /******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
694 /* HashtableEntry */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
695 /******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
696 \
6197
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
697 nonstatic_field(BasicHashtableEntry<mtInternal>, _next, BasicHashtableEntry<mtInternal>*) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
698 nonstatic_field(BasicHashtableEntry<mtInternal>, _hash, unsigned int) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
699 nonstatic_field(IntptrHashtableEntry, _literal, intptr_t) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
700 \
a61af66fc99e Initial load
duke
parents:
diff changeset
701 /*************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
702 /* Hashtable */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
703 /*************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
704 \
6197
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
705 nonstatic_field(BasicHashtable<mtInternal>, _table_size, int) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
706 nonstatic_field(BasicHashtable<mtInternal>, _buckets, HashtableBucket<mtInternal>*) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
707 nonstatic_field(BasicHashtable<mtInternal>, _free_list, BasicHashtableEntry<mtInternal>*) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
708 nonstatic_field(BasicHashtable<mtInternal>, _first_free_entry, char*) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
709 nonstatic_field(BasicHashtable<mtInternal>, _end_block, char*) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
710 nonstatic_field(BasicHashtable<mtInternal>, _entry_size, int) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
711 \
a61af66fc99e Initial load
duke
parents:
diff changeset
712 /*******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
713 /* DictionaryEntry */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
714 /*******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
715 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
716 nonstatic_field(DictionaryEntry, _loader_data, ClassLoaderData*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
717 nonstatic_field(DictionaryEntry, _pd_set, ProtectionDomainEntry*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
718 \
a61af66fc99e Initial load
duke
parents:
diff changeset
719 /********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
720 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
721 nonstatic_field(PlaceholderEntry, _loader_data, ClassLoaderData*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
722 \
a61af66fc99e Initial load
duke
parents:
diff changeset
723 /**************************/ \
12837
82af7d7a0128 8003420: NPG: make new GC root for pd_set
tschatzl
parents: 12264
diff changeset
724 /* ProtectionDomainEntry */ \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
725 /**************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
726 \
a61af66fc99e Initial load
duke
parents:
diff changeset
727 nonstatic_field(ProtectionDomainEntry, _next, ProtectionDomainEntry*) \
12837
82af7d7a0128 8003420: NPG: make new GC root for pd_set
tschatzl
parents: 12264
diff changeset
728 nonstatic_field(ProtectionDomainEntry, _pd_cache, ProtectionDomainCacheEntry*) \
82af7d7a0128 8003420: NPG: make new GC root for pd_set
tschatzl
parents: 12264
diff changeset
729 \
82af7d7a0128 8003420: NPG: make new GC root for pd_set
tschatzl
parents: 12264
diff changeset
730 /*******************************/ \
82af7d7a0128 8003420: NPG: make new GC root for pd_set
tschatzl
parents: 12264
diff changeset
731 /* ProtectionDomainCacheEntry */ \
82af7d7a0128 8003420: NPG: make new GC root for pd_set
tschatzl
parents: 12264
diff changeset
732 /*******************************/ \
82af7d7a0128 8003420: NPG: make new GC root for pd_set
tschatzl
parents: 12264
diff changeset
733 \
82af7d7a0128 8003420: NPG: make new GC root for pd_set
tschatzl
parents: 12264
diff changeset
734 nonstatic_field(ProtectionDomainCacheEntry, _literal, oop) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
735 \
a61af66fc99e Initial load
duke
parents:
diff changeset
736 /*************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
737 /* LoaderConstraintEntry */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
738 /*************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
739 \
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
740 nonstatic_field(LoaderConstraintEntry, _name, Symbol*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
741 nonstatic_field(LoaderConstraintEntry, _num_loaders, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
742 nonstatic_field(LoaderConstraintEntry, _max_loaders, int) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
743 nonstatic_field(LoaderConstraintEntry, _loaders, ClassLoaderData**) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
744 \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
745 nonstatic_field(ClassLoaderData, _class_loader, oop) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
746 nonstatic_field(ClassLoaderData, _next, ClassLoaderData*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
747 \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
748 static_field(ClassLoaderDataGraph, _head, ClassLoaderData*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
749 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
750 /**********/ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
751 /* Arrays */ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
752 /**********/ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
753 \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
754 nonstatic_field(Array<Klass*>, _length, int) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
755 nonstatic_field(Array<Klass*>, _data[0], Klass*) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
756 \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
757 /*******************/ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
758 /* GrowableArrays */ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
759 /*******************/ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
760 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
761 nonstatic_field(GenericGrowableArray, _len, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
762 nonstatic_field(GenericGrowableArray, _max, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
763 nonstatic_field(GenericGrowableArray, _arena, Arena*) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
764 nonstatic_field(GrowableArray<int>, _data, int*) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
765 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
766 /********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
767 /* CodeCache (NOTE: incomplete) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
768 /********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
769 \
a61af66fc99e Initial load
duke
parents:
diff changeset
770 static_field(CodeCache, _heap, CodeHeap*) \
989
148e5441d916 6863023: need non-perm oops in code cache for JSR 292
jrose
parents: 931
diff changeset
771 static_field(CodeCache, _scavenge_root_nmethods, nmethod*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
772 \
a61af66fc99e Initial load
duke
parents:
diff changeset
773 /*******************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
774 /* CodeHeap (NOTE: incomplete) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
775 /*******************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
776 \
a61af66fc99e Initial load
duke
parents:
diff changeset
777 nonstatic_field(CodeHeap, _memory, VirtualSpace) \
a61af66fc99e Initial load
duke
parents:
diff changeset
778 nonstatic_field(CodeHeap, _segmap, VirtualSpace) \
a61af66fc99e Initial load
duke
parents:
diff changeset
779 nonstatic_field(CodeHeap, _log2_segment_size, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
780 nonstatic_field(HeapBlock, _header, HeapBlock::Header) \
a61af66fc99e Initial load
duke
parents:
diff changeset
781 nonstatic_field(HeapBlock::Header, _length, size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
782 nonstatic_field(HeapBlock::Header, _used, bool) \
a61af66fc99e Initial load
duke
parents:
diff changeset
783 \
a61af66fc99e Initial load
duke
parents:
diff changeset
784 /**********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
785 /* Interpreter (NOTE: incomplete) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
786 /**********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
787 \
a61af66fc99e Initial load
duke
parents:
diff changeset
788 static_field(AbstractInterpreter, _code, StubQueue*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
789 \
a61af66fc99e Initial load
duke
parents:
diff changeset
790 /****************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
791 /* Stubs (NOTE: incomplete) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
792 /****************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
793 \
a61af66fc99e Initial load
duke
parents:
diff changeset
794 nonstatic_field(StubQueue, _stub_buffer, address) \
a61af66fc99e Initial load
duke
parents:
diff changeset
795 nonstatic_field(StubQueue, _buffer_limit, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
796 nonstatic_field(StubQueue, _queue_begin, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
797 nonstatic_field(StubQueue, _queue_end, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
798 nonstatic_field(StubQueue, _number_of_stubs, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
799 nonstatic_field(InterpreterCodelet, _size, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
800 nonstatic_field(InterpreterCodelet, _description, const char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
801 nonstatic_field(InterpreterCodelet, _bytecode, Bytecodes::Code) \
a61af66fc99e Initial load
duke
parents:
diff changeset
802 \
a61af66fc99e Initial load
duke
parents:
diff changeset
803 /***********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
804 /* StubRoutines (NOTE: incomplete) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
805 /***********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
806 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
807 static_field(StubRoutines, _verify_oop_count, jint) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
808 static_field(StubRoutines, _call_stub_return_address, address) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
809 static_field(StubRoutines, _aescrypt_encryptBlock, address) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
810 static_field(StubRoutines, _aescrypt_decryptBlock, address) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
811 static_field(StubRoutines, _cipherBlockChaining_encryptAESCrypt, address) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
812 static_field(StubRoutines, _cipherBlockChaining_decryptAESCrypt, address) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
813 static_field(StubRoutines, _updateBytesCRC32, address) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
814 static_field(StubRoutines, _crc_table_adr, address) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
815 \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
816 /*****************/ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
817 /* SharedRuntime */ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
818 /*****************/ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
819 \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
820 static_field(SharedRuntime, _ic_miss_blob, RuntimeStub*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
821 \
a61af66fc99e Initial load
duke
parents:
diff changeset
822 /***************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
823 /* PcDesc and other compiled code info */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
824 /***************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
825 \
a61af66fc99e Initial load
duke
parents:
diff changeset
826 nonstatic_field(PcDesc, _pc_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
827 nonstatic_field(PcDesc, _scope_decode_offset, int) \
1040
873ec3787992 6892186: SA does not dump debug info for scalar replaced objects
kvn
parents: 993
diff changeset
828 nonstatic_field(PcDesc, _obj_decode_offset, int) \
3908
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
829 nonstatic_field(PcDesc, _flags, int) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
830 \
a61af66fc99e Initial load
duke
parents:
diff changeset
831 /***************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
832 /* CodeBlobs (NOTE: incomplete, but only a little) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
833 /***************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
834 \
a61af66fc99e Initial load
duke
parents:
diff changeset
835 nonstatic_field(CodeBlob, _name, const char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
836 nonstatic_field(CodeBlob, _size, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
837 nonstatic_field(CodeBlob, _header_size, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
838 nonstatic_field(CodeBlob, _relocation_size, int) \
1748
3e8fbc61cee8 6978355: renaming for 6961697
twisti
parents: 1644
diff changeset
839 nonstatic_field(CodeBlob, _content_offset, int) \
3e8fbc61cee8 6978355: renaming for 6961697
twisti
parents: 1644
diff changeset
840 nonstatic_field(CodeBlob, _code_offset, int) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
841 nonstatic_field(CodeBlob, _frame_complete_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
842 nonstatic_field(CodeBlob, _data_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
843 nonstatic_field(CodeBlob, _frame_size, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
844 nonstatic_field(CodeBlob, _oop_maps, OopMapSet*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
845 \
3908
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
846 nonstatic_field(RuntimeStub, _caller_must_gc_arguments, bool) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
847 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
848 /**************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
849 /* NMethods (NOTE: incomplete, but only a little) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
850 /**************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
851 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
852 nonstatic_field(nmethod, _method, Method*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
853 nonstatic_field(nmethod, _entry_bci, int) \
989
148e5441d916 6863023: need non-perm oops in code cache for JSR 292
jrose
parents: 931
diff changeset
854 nonstatic_field(nmethod, _osr_link, nmethod*) \
148e5441d916 6863023: need non-perm oops in code cache for JSR 292
jrose
parents: 931
diff changeset
855 nonstatic_field(nmethod, _scavenge_root_link, nmethod*) \
148e5441d916 6863023: need non-perm oops in code cache for JSR 292
jrose
parents: 931
diff changeset
856 nonstatic_field(nmethod, _scavenge_root_state, jbyte) \
12324
510fbd28919c 8020151: PSR:PERF Large performance regressions when code cache is filled
anoll
parents: 12323
diff changeset
857 nonstatic_field(nmethod, _state, volatile unsigned char) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
858 nonstatic_field(nmethod, _exception_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
859 nonstatic_field(nmethod, _deoptimize_offset, int) \
3908
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
860 nonstatic_field(nmethod, _deoptimize_mh_offset, int) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
861 nonstatic_field(nmethod, _orig_pc_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
862 nonstatic_field(nmethod, _stub_offset, int) \
1563
1a5913bf5e19 6951083: oops and relocations should part of nmethod not CodeBlob
twisti
parents: 1166
diff changeset
863 nonstatic_field(nmethod, _consts_offset, int) \
1a5913bf5e19 6951083: oops and relocations should part of nmethod not CodeBlob
twisti
parents: 1166
diff changeset
864 nonstatic_field(nmethod, _oops_offset, int) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
865 nonstatic_field(nmethod, _metadata_offset, int) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
866 nonstatic_field(nmethod, _scopes_data_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
867 nonstatic_field(nmethod, _scopes_pcs_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
868 nonstatic_field(nmethod, _dependencies_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
869 nonstatic_field(nmethod, _handler_table_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
870 nonstatic_field(nmethod, _nul_chk_table_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
871 nonstatic_field(nmethod, _nmethod_end_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
872 nonstatic_field(nmethod, _entry_point, address) \
a61af66fc99e Initial load
duke
parents:
diff changeset
873 nonstatic_field(nmethod, _verified_entry_point, address) \
a61af66fc99e Initial load
duke
parents:
diff changeset
874 nonstatic_field(nmethod, _osr_entry_point, address) \
a61af66fc99e Initial load
duke
parents:
diff changeset
875 nonstatic_field(nmethod, _lock_count, jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
876 nonstatic_field(nmethod, _stack_traversal_mark, long) \
3388
a80577f854f9 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp
never
parents: 2411
diff changeset
877 nonstatic_field(nmethod, _compile_id, int) \
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents: 10116
diff changeset
878 nonstatic_field(nmethod, _comp_level, int) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
879 nonstatic_field(nmethod, _exception_cache, ExceptionCache*) \
3388
a80577f854f9 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp
never
parents: 2411
diff changeset
880 nonstatic_field(nmethod, _marked_for_deoptimization, bool) \
6266
1d7922586cf6 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 6217
diff changeset
881 \
13098
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
882 unchecked_c2_static_field(Deoptimization, _trap_reason_name, void*) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
883 \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
884 nonstatic_field(Deoptimization::UnrollBlock, _size_of_deoptimized_frame, int) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
885 nonstatic_field(Deoptimization::UnrollBlock, _caller_adjustment, int) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
886 nonstatic_field(Deoptimization::UnrollBlock, _number_of_frames, int) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
887 nonstatic_field(Deoptimization::UnrollBlock, _total_frame_sizes, int) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
888 nonstatic_field(Deoptimization::UnrollBlock, _frame_sizes, intptr_t*) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
889 nonstatic_field(Deoptimization::UnrollBlock, _frame_pcs, address*) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
890 nonstatic_field(Deoptimization::UnrollBlock, _register_block, intptr_t*) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
891 nonstatic_field(Deoptimization::UnrollBlock, _return_type, BasicType) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
892 nonstatic_field(Deoptimization::UnrollBlock, _initial_info, intptr_t) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
893 nonstatic_field(Deoptimization::UnrollBlock, _caller_actual_parameters, int) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
894 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
895 /********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
896 /* JavaCalls (NOTE: incomplete) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
897 /********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
898 \
a61af66fc99e Initial load
duke
parents:
diff changeset
899 nonstatic_field(JavaCallWrapper, _anchor, JavaFrameAnchor) \
a61af66fc99e Initial load
duke
parents:
diff changeset
900 /********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
901 /* JavaFrameAnchor (NOTE: incomplete) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
902 /********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
903 volatile_nonstatic_field(JavaFrameAnchor, _last_Java_sp, intptr_t*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
904 volatile_nonstatic_field(JavaFrameAnchor, _last_Java_pc, address) \
a61af66fc99e Initial load
duke
parents:
diff changeset
905 \
a61af66fc99e Initial load
duke
parents:
diff changeset
906 /******************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
907 /* Threads (NOTE: incomplete) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
908 /******************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
909 \
a61af66fc99e Initial load
duke
parents:
diff changeset
910 static_field(Threads, _thread_list, JavaThread*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
911 static_field(Threads, _number_of_threads, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
912 static_field(Threads, _number_of_non_daemon_threads, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
913 static_field(Threads, _return_code, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
914 \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
915 nonstatic_field(ThreadShadow, _pending_exception, oop) \
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents: 12355
diff changeset
916 nonstatic_field(ThreadShadow, _pending_deoptimization, int) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
917 nonstatic_field(ThreadShadow, _exception_file, const char*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
918 nonstatic_field(ThreadShadow, _exception_line, int) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
919 volatile_nonstatic_field(Thread, _suspend_flags, uint32_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
920 nonstatic_field(Thread, _active_handles, JNIHandleBlock*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
921 nonstatic_field(Thread, _tlab, ThreadLocalAllocBuffer) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
922 nonstatic_field(Thread, _allocated_bytes, jlong) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
923 nonstatic_field(Thread, _current_pending_monitor, ObjectMonitor*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
924 nonstatic_field(Thread, _current_pending_monitor_is_from_java, bool) \
a61af66fc99e Initial load
duke
parents:
diff changeset
925 nonstatic_field(Thread, _current_waiting_monitor, ObjectMonitor*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
926 nonstatic_field(NamedThread, _name, char*) \
1119
547f81740344 6361589: Print out stack trace for target thread of GC crash
minqi
parents: 1040
diff changeset
927 nonstatic_field(NamedThread, _processed_thread, JavaThread*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
928 nonstatic_field(JavaThread, _next, JavaThread*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
929 nonstatic_field(JavaThread, _threadObj, oop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
930 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
931 nonstatic_field(JavaThread, _vm_result, oop) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
932 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
933 nonstatic_field(JavaThread, _pending_async_exception, oop) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
934 volatile_nonstatic_field(JavaThread, _exception_oop, oop) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
935 volatile_nonstatic_field(JavaThread, _exception_pc, address) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
936 volatile_nonstatic_field(JavaThread, _is_method_handle_return, int) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
937 nonstatic_field(JavaThread, _special_runtime_exit_condition, JavaThread::AsyncRequests) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
938 nonstatic_field(JavaThread, _saved_exception_pc, address) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
939 volatile_nonstatic_field(JavaThread, _thread_state, JavaThreadState) \
a61af66fc99e Initial load
duke
parents:
diff changeset
940 nonstatic_field(JavaThread, _osthread, OSThread*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
941 nonstatic_field(JavaThread, _stack_base, address) \
a61af66fc99e Initial load
duke
parents:
diff changeset
942 nonstatic_field(JavaThread, _stack_size, size_t) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
943 nonstatic_field(JavaThread, _vframe_array_head, vframeArray*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
944 nonstatic_field(JavaThread, _vframe_array_last, vframeArray*) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
945 nonstatic_field(JavaThread, _satb_mark_queue, ObjPtrQueue) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
946 nonstatic_field(JavaThread, _dirty_card_queue, DirtyCardQueue) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
947 nonstatic_field(Thread, _resource_area, ResourceArea*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
948 nonstatic_field(CompilerThread, _env, ciEnv*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
949 \
a61af66fc99e Initial load
duke
parents:
diff changeset
950 /************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
951 /* OSThread */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
952 /************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
953 \
2386
083f13976b51 6535709: interrupt of wait()ing thread isn't triggerring InterruptedException - test intwait3
dholmes
parents: 2260
diff changeset
954 volatile_nonstatic_field(OSThread, _interrupted, jint) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
955 \
a61af66fc99e Initial load
duke
parents:
diff changeset
956 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
957 /* OopMap and OopMapSet */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
958 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
959 \
a61af66fc99e Initial load
duke
parents:
diff changeset
960 nonstatic_field(OopMap, _pc_offset, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
961 nonstatic_field(OopMap, _omv_count, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
962 nonstatic_field(OopMap, _omv_data_size, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
963 nonstatic_field(OopMap, _omv_data, unsigned char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
964 nonstatic_field(OopMap, _write_stream, CompressedWriteStream*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
965 nonstatic_field(OopMapSet, _om_count, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
966 nonstatic_field(OopMapSet, _om_size, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
967 nonstatic_field(OopMapSet, _om_data, OopMap**) \
a61af66fc99e Initial load
duke
parents:
diff changeset
968 \
a61af66fc99e Initial load
duke
parents:
diff changeset
969 /*********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
970 /* JNIHandles and JNIHandleBlock */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
971 /*********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
972 static_field(JNIHandles, _global_handles, JNIHandleBlock*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
973 static_field(JNIHandles, _weak_global_handles, JNIHandleBlock*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
974 static_field(JNIHandles, _deleted_handle, oop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
975 \
a61af66fc99e Initial load
duke
parents:
diff changeset
976 unchecked_nonstatic_field(JNIHandleBlock, _handles, JNIHandleBlock::block_size_in_oops * sizeof(Oop)) /* Note: no type */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
977 nonstatic_field(JNIHandleBlock, _top, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
978 nonstatic_field(JNIHandleBlock, _next, JNIHandleBlock*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
979 \
a61af66fc99e Initial load
duke
parents:
diff changeset
980 /********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
981 /* CompressedStream */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
982 /********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
983 \
a61af66fc99e Initial load
duke
parents:
diff changeset
984 nonstatic_field(CompressedStream, _buffer, u_char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
985 nonstatic_field(CompressedStream, _position, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
986 \
a61af66fc99e Initial load
duke
parents:
diff changeset
987 /*********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
988 /* VMRegImpl (NOTE: incomplete) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
989 /*********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
990 \
a61af66fc99e Initial load
duke
parents:
diff changeset
991 static_field(VMRegImpl, regName[0], const char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
992 static_field(VMRegImpl, stack0, VMReg) \
a61af66fc99e Initial load
duke
parents:
diff changeset
993 \
a61af66fc99e Initial load
duke
parents:
diff changeset
994 /*******************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
995 /* Runtime1 (NOTE: incomplete) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
996 /*******************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
997 \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
998 unchecked_c1_static_field(Runtime1, _blobs, sizeof(Runtime1::_blobs)) /* NOTE: no type */ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
999 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1000 /**************/ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1001 /* allocation */ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1002 /**************/ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1003 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1004 nonstatic_field(Chunk, _next, Chunk*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1005 nonstatic_field(Chunk, _len, const size_t) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1006 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1007 nonstatic_field(Arena, _first, Chunk*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1008 nonstatic_field(Arena, _chunk, Chunk*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1009 nonstatic_field(Arena, _hwm, char*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1010 nonstatic_field(Arena, _max, char*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1011 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1012 /************/ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1013 /* CI */ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1014 /************/ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1015 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1016 nonstatic_field(ciEnv, _system_dictionary_modification_counter, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1017 nonstatic_field(ciEnv, _compiler_data, void*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1018 nonstatic_field(ciEnv, _failure_reason, const char*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1019 nonstatic_field(ciEnv, _factory, ciObjectFactory*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1020 nonstatic_field(ciEnv, _dependencies, Dependencies*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1021 nonstatic_field(ciEnv, _task, CompileTask*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1022 nonstatic_field(ciEnv, _arena, Arena*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1023 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1024 nonstatic_field(ciBaseObject, _ident, uint) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1025 \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1026 nonstatic_field(ciObject, _handle, jobject) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1027 nonstatic_field(ciObject, _klass, ciKlass*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1028 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1029 nonstatic_field(ciMetadata, _metadata, Metadata*) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1030 \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1031 nonstatic_field(ciSymbol, _symbol, Symbol*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1032 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1033 nonstatic_field(ciType, _basic_type, BasicType) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1034 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1035 nonstatic_field(ciKlass, _name, ciSymbol*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1036 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1037 nonstatic_field(ciArrayKlass, _dimension, jint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1038 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1039 nonstatic_field(ciObjArrayKlass, _element_klass, ciKlass*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1040 nonstatic_field(ciObjArrayKlass, _base_element_klass, ciKlass*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1041 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1042 nonstatic_field(ciInstanceKlass, _init_state, InstanceKlass::ClassState) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1043 nonstatic_field(ciInstanceKlass, _is_shared, bool) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1044 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1045 nonstatic_field(ciMethod, _interpreter_invocation_count, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1046 nonstatic_field(ciMethod, _interpreter_throwout_count, int) \
6972
bd7a7ce2e264 6830717: replay of compilations would help with debugging
minqi
parents: 6940
diff changeset
1047 nonstatic_field(ciMethod, _instructions_size, int) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1048 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1049 nonstatic_field(ciMethodData, _data_size, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1050 nonstatic_field(ciMethodData, _state, u_char) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1051 nonstatic_field(ciMethodData, _extra_data_size, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1052 nonstatic_field(ciMethodData, _data, intptr_t*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1053 nonstatic_field(ciMethodData, _hint_di, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1054 nonstatic_field(ciMethodData, _eflags, intx) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1055 nonstatic_field(ciMethodData, _arg_local, intx) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1056 nonstatic_field(ciMethodData, _arg_stack, intx) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1057 nonstatic_field(ciMethodData, _arg_returned, intx) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1058 nonstatic_field(ciMethodData, _current_mileage, int) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1059 nonstatic_field(ciMethodData, _orig, MethodData) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1060 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1061 nonstatic_field(ciField, _holder, ciInstanceKlass*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1062 nonstatic_field(ciField, _name, ciSymbol*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1063 nonstatic_field(ciField, _signature, ciSymbol*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1064 nonstatic_field(ciField, _offset, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1065 nonstatic_field(ciField, _is_constant, bool) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1066 nonstatic_field(ciField, _constant_value, ciConstant) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1067 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1068 nonstatic_field(ciObjectFactory, _ci_metadata, GrowableArray<ciMetadata*>*) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1069 nonstatic_field(ciObjectFactory, _symbols, GrowableArray<ciSymbol*>*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1070 nonstatic_field(ciObjectFactory, _unloaded_methods, GrowableArray<ciMethod*>*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1071 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1072 nonstatic_field(ciConstant, _type, BasicType) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1073 nonstatic_field(ciConstant, _value._int, jint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1074 nonstatic_field(ciConstant, _value._long, jlong) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1075 nonstatic_field(ciConstant, _value._float, jfloat) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1076 nonstatic_field(ciConstant, _value._double, jdouble) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1077 nonstatic_field(ciConstant, _value._object, ciObject*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1078 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1079 /************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1080 /* Monitors */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1081 /************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1082 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1083 volatile_nonstatic_field(ObjectMonitor, _header, markOop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1084 unchecked_nonstatic_field(ObjectMonitor, _object, sizeof(void *)) /* NOTE: no type */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1085 unchecked_nonstatic_field(ObjectMonitor, _owner, sizeof(void *)) /* NOTE: no type */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1086 volatile_nonstatic_field(ObjectMonitor, _count, intptr_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1087 volatile_nonstatic_field(ObjectMonitor, _waiters, intptr_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1088 volatile_nonstatic_field(ObjectMonitor, _recursions, intptr_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1089 nonstatic_field(ObjectMonitor, FreeNext, ObjectMonitor*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1090 volatile_nonstatic_field(BasicLock, _displaced_header, markOop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1091 nonstatic_field(BasicObjectLock, _lock, BasicLock) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1092 nonstatic_field(BasicObjectLock, _obj, oop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1093 static_field(ObjectSynchronizer, gBlockList, ObjectMonitor*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1094 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1095 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1096 /* Matcher (C2 only) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1097 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1098 \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1099 unchecked_c2_static_field(Matcher, _regEncode, sizeof(Matcher::_regEncode)) /* NOTE: no type */ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1100 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1101 c2_nonstatic_field(Node, _in, Node**) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1102 c2_nonstatic_field(Node, _out, Node**) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1103 c2_nonstatic_field(Node, _cnt, node_idx_t) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1104 c2_nonstatic_field(Node, _max, node_idx_t) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1105 c2_nonstatic_field(Node, _outcnt, node_idx_t) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1106 c2_nonstatic_field(Node, _outmax, node_idx_t) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1107 c2_nonstatic_field(Node, _idx, const node_idx_t) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1108 c2_nonstatic_field(Node, _class_id, jushort) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1109 c2_nonstatic_field(Node, _flags, jushort) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1110 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1111 c2_nonstatic_field(Compile, _root, RootNode*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1112 c2_nonstatic_field(Compile, _unique, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1113 c2_nonstatic_field(Compile, _entry_bci, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1114 c2_nonstatic_field(Compile, _top, Node*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1115 c2_nonstatic_field(Compile, _cfg, PhaseCFG*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1116 c2_nonstatic_field(Compile, _regalloc, PhaseRegAlloc*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1117 c2_nonstatic_field(Compile, _method, ciMethod*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1118 c2_nonstatic_field(Compile, _compile_id, const int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1119 c2_nonstatic_field(Compile, _save_argument_registers, const bool) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1120 c2_nonstatic_field(Compile, _subsume_loads, const bool) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1121 c2_nonstatic_field(Compile, _do_escape_analysis, const bool) \
10278
6f3fd5150b67 6934604: enable parts of EliminateAutoBox by default
kvn
parents: 10202
diff changeset
1122 c2_nonstatic_field(Compile, _eliminate_boxing, const bool) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1123 c2_nonstatic_field(Compile, _ilt, InlineTree*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1124 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1125 c2_nonstatic_field(InlineTree, _caller_jvms, JVMState*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1126 c2_nonstatic_field(InlineTree, _method, ciMethod*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1127 c2_nonstatic_field(InlineTree, _caller_tree, InlineTree*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1128 c2_nonstatic_field(InlineTree, _subtrees, GrowableArray<InlineTree*>) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1129 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1130 c2_nonstatic_field(OptoRegPair, _first, short) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1131 c2_nonstatic_field(OptoRegPair, _second, short) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1132 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1133 c2_nonstatic_field(JVMState, _caller, JVMState*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1134 c2_nonstatic_field(JVMState, _depth, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1135 c2_nonstatic_field(JVMState, _locoff, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1136 c2_nonstatic_field(JVMState, _stkoff, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1137 c2_nonstatic_field(JVMState, _monoff, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1138 c2_nonstatic_field(JVMState, _scloff, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1139 c2_nonstatic_field(JVMState, _endoff, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1140 c2_nonstatic_field(JVMState, _sp, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1141 c2_nonstatic_field(JVMState, _bci, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1142 c2_nonstatic_field(JVMState, _method, ciMethod*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1143 c2_nonstatic_field(JVMState, _map, SafePointNode*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1144 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1145 c2_nonstatic_field(SafePointNode, _jvms, JVMState* const) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1146 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1147 c2_nonstatic_field(MachSafePointNode, _jvms, JVMState*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1148 c2_nonstatic_field(MachSafePointNode, _jvmadj, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1149 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1150 c2_nonstatic_field(MachIfNode, _prob, jfloat) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1151 c2_nonstatic_field(MachIfNode, _fcnt, jfloat) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1152 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1153 c2_nonstatic_field(CallNode, _entry_point, address) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1154 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1155 c2_nonstatic_field(CallJavaNode, _method, ciMethod*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1156 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1157 c2_nonstatic_field(CallRuntimeNode, _name, const char*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1158 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1159 c2_nonstatic_field(CallStaticJavaNode, _name, const char*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1160 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1161 c2_nonstatic_field(MachCallJavaNode, _method, ciMethod*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1162 c2_nonstatic_field(MachCallJavaNode, _bci, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1163 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1164 c2_nonstatic_field(MachCallStaticJavaNode, _name, const char*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1165 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1166 c2_nonstatic_field(MachCallRuntimeNode, _name, const char*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1167 \
12071
adb9a7d94cb5 8023003: Cleanup the public interface to PhaseCFG
adlertz
parents: 12023
diff changeset
1168 c2_nonstatic_field(PhaseCFG, _number_of_blocks, uint) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1169 c2_nonstatic_field(PhaseCFG, _blocks, Block_List) \
12023
d1034bd8cefc 8022284: Hide internal data structure in PhaseCFG
adlertz
parents: 11096
diff changeset
1170 c2_nonstatic_field(PhaseCFG, _node_to_block_mapping, Block_Array) \
12071
adb9a7d94cb5 8023003: Cleanup the public interface to PhaseCFG
adlertz
parents: 12023
diff changeset
1171 c2_nonstatic_field(PhaseCFG, _root_block, Block*) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1172 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1173 c2_nonstatic_field(PhaseRegAlloc, _node_regs, OptoRegPair*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1174 c2_nonstatic_field(PhaseRegAlloc, _node_regs_max_index, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1175 c2_nonstatic_field(PhaseRegAlloc, _framesize, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1176 c2_nonstatic_field(PhaseRegAlloc, _max_reg, OptoReg::Name) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1177 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1178 c2_nonstatic_field(PhaseChaitin, _trip_cnt, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1179 c2_nonstatic_field(PhaseChaitin, _alternate, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1180 c2_nonstatic_field(PhaseChaitin, _lo_degree, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1181 c2_nonstatic_field(PhaseChaitin, _lo_stk_degree, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1182 c2_nonstatic_field(PhaseChaitin, _hi_degree, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1183 c2_nonstatic_field(PhaseChaitin, _simplified, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1184 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1185 c2_nonstatic_field(Block, _nodes, Node_List) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1186 c2_nonstatic_field(Block, _succs, Block_Array) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1187 c2_nonstatic_field(Block, _num_succs, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1188 c2_nonstatic_field(Block, _pre_order, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1189 c2_nonstatic_field(Block, _dom_depth, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1190 c2_nonstatic_field(Block, _idom, Block*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1191 c2_nonstatic_field(Block, _freq, jfloat) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1192 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1193 c2_nonstatic_field(CFGElement, _freq, jfloat) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1194 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1195 c2_nonstatic_field(Block_List, _cnt, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1196 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1197 c2_nonstatic_field(Block_Array, _size, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1198 c2_nonstatic_field(Block_Array, _blocks, Block**) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1199 c2_nonstatic_field(Block_Array, _arena, Arena*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1200 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1201 c2_nonstatic_field(Node_List, _cnt, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1202 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1203 c2_nonstatic_field(Node_Array, _max, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1204 c2_nonstatic_field(Node_Array, _nodes, Node**) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1205 c2_nonstatic_field(Node_Array, _a, Arena*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1206 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1207 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1208 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1209 /* -XX flags */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1210 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1211 \
12322
72b7e96c1922 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 12264
diff changeset
1212 nonstatic_field(Flag, _type, const char*) \
72b7e96c1922 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 12264
diff changeset
1213 nonstatic_field(Flag, _name, const char*) \
72b7e96c1922 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 12264
diff changeset
1214 unchecked_nonstatic_field(Flag, _addr, sizeof(void*)) /* NOTE: no type */ \
72b7e96c1922 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 12264
diff changeset
1215 nonstatic_field(Flag, _flags, Flag::Flags) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1216 static_field(Flag, flags, Flag*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1217 static_field(Flag, numFlags, size_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1218 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1219 /*************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1220 /* JDK / VM version info */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1221 /*************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1222 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1223 static_field(Abstract_VM_Version, _s_vm_release, const char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1224 static_field(Abstract_VM_Version, _s_internal_vm_info_string, const char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1225 static_field(Abstract_VM_Version, _vm_major_version, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1226 static_field(Abstract_VM_Version, _vm_minor_version, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1227 static_field(Abstract_VM_Version, _vm_build_number, int) \
8005
ec0c4951286c 8004710: NPG: jmap could throw sun.jvm.hotspot.types.WrongTypeException after PermGen removal
stefank
parents: 7947
diff changeset
1228 static_field(Abstract_VM_Version, _reserve_for_allocation_prefetch, int) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1229 \
242
d95b224e9f17 6721093: -XX:AppendRatio=N not supported
kamg
parents: 196
diff changeset
1230 static_field(JDK_Version, _current, JDK_Version) \
d95b224e9f17 6721093: -XX:AppendRatio=N not supported
kamg
parents: 196
diff changeset
1231 nonstatic_field(JDK_Version, _partially_initialized, bool) \
d95b224e9f17 6721093: -XX:AppendRatio=N not supported
kamg
parents: 196
diff changeset
1232 nonstatic_field(JDK_Version, _major, unsigned char) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1233 \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1234 /*************************/ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1235 /* JVMTI */ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1236 /*************************/ \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1237 \
6854
fb19af007ffc 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 6818
diff changeset
1238 JVMTI_STRUCTS(static_field) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1239 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1240 /*************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1241 /* Arguments */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1242 /*************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1243 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1244 static_field(Arguments, _jvm_flags_array, char**) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1245 static_field(Arguments, _num_jvm_flags, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1246 static_field(Arguments, _jvm_args_array, char**) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1247 static_field(Arguments, _num_jvm_args, int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1248 static_field(Arguments, _java_command, char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1249 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1250 /************/ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1251 /* Array<T> */ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1252 /************/ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1253 \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1254 nonstatic_field(Array<int>, _length, int) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1255 unchecked_nonstatic_field(Array<int>, _data, sizeof(int)) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1256 unchecked_nonstatic_field(Array<u1>, _data, sizeof(u1)) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1257 unchecked_nonstatic_field(Array<u2>, _data, sizeof(u2)) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1258 unchecked_nonstatic_field(Array<Method*>, _data, sizeof(Method*)) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1259 unchecked_nonstatic_field(Array<Klass*>, _data, sizeof(Klass*)) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1260 \
2376
c7f3d0b4570f 7017732: move static fields into Class to prepare for perm gen removal
never
parents: 2260
diff changeset
1261 /*********************************/ \
c7f3d0b4570f 7017732: move static fields into Class to prepare for perm gen removal
never
parents: 2260
diff changeset
1262 /* java_lang_Class fields */ \
c7f3d0b4570f 7017732: move static fields into Class to prepare for perm gen removal
never
parents: 2260
diff changeset
1263 /*********************************/ \
c7f3d0b4570f 7017732: move static fields into Class to prepare for perm gen removal
never
parents: 2260
diff changeset
1264 \
3938
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
1265 static_field(java_lang_Class, _klass_offset, int) \
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
1266 static_field(java_lang_Class, _array_klass_offset, int) \
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
1267 static_field(java_lang_Class, _oop_size_offset, int) \
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
1268 static_field(java_lang_Class, _static_oop_field_count_offset, int) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1269 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1270 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1271 /* Miscellaneous fields */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1272 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1273 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1274 nonstatic_field(CompileTask, _method, Method*) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1275 nonstatic_field(CompileTask, _osr_bci, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1276 nonstatic_field(CompileTask, _comp_level, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1277 nonstatic_field(CompileTask, _compile_id, uint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1278 nonstatic_field(CompileTask, _next, CompileTask*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1279 nonstatic_field(CompileTask, _prev, CompileTask*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1280 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1281 nonstatic_field(vframeArray, _next, vframeArray*) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1282 nonstatic_field(vframeArray, _original, frame) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1283 nonstatic_field(vframeArray, _caller, frame) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1284 nonstatic_field(vframeArray, _frames, int) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1285 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1286 nonstatic_field(vframeArrayElement, _frame, frame) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1287 nonstatic_field(vframeArrayElement, _bci, int) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1288 nonstatic_field(vframeArrayElement, _method, Method*) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1289 \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1290 nonstatic_field(PtrQueue, _active, bool) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1291 nonstatic_field(PtrQueue, _buf, void**) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1292 nonstatic_field(PtrQueue, _index, size_t) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1293 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1294 nonstatic_field(AccessFlags, _flags, jint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1295 nonstatic_field(elapsedTimer, _counter, jlong) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1296 nonstatic_field(elapsedTimer, _active, bool) \
6885
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
1297 nonstatic_field(InvocationCounter, _counter, unsigned int) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
1298 volatile_nonstatic_field(FreeChunk, _size, size_t) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
1299 nonstatic_field(FreeChunk, _next, FreeChunk*) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
1300 nonstatic_field(FreeChunk, _prev, FreeChunk*) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
1301 nonstatic_field(FreeList<FreeChunk>, _size, size_t) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
1302 nonstatic_field(FreeList<Metablock>, _size, size_t) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
1303 nonstatic_field(FreeList<FreeChunk>, _count, ssize_t) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
1304 nonstatic_field(FreeList<Metablock>, _count, ssize_t) \
13098
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
1305 nonstatic_field(MetablockTreeDictionary, _total_size, size_t)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1306
a61af66fc99e Initial load
duke
parents:
diff changeset
1307 //--------------------------------------------------------------------------------
a61af66fc99e Initial load
duke
parents:
diff changeset
1308 // VM_TYPES
a61af66fc99e Initial load
duke
parents:
diff changeset
1309 //
a61af66fc99e Initial load
duke
parents:
diff changeset
1310 // This list must enumerate at least all of the types in the above
a61af66fc99e Initial load
duke
parents:
diff changeset
1311 // list. For the types in the above list, the entry below must have
a61af66fc99e Initial load
duke
parents:
diff changeset
1312 // exactly the same spacing since string comparisons are done in the
a61af66fc99e Initial load
duke
parents:
diff changeset
1313 // code which verifies the consistency of these tables (in the debug
a61af66fc99e Initial load
duke
parents:
diff changeset
1314 // build).
a61af66fc99e Initial load
duke
parents:
diff changeset
1315 //
a61af66fc99e Initial load
duke
parents:
diff changeset
1316 // In addition to the above types, this list is required to enumerate
a61af66fc99e Initial load
duke
parents:
diff changeset
1317 // the JNI's java types, which are used to indicate the size of Java
a61af66fc99e Initial load
duke
parents:
diff changeset
1318 // fields in this VM to the SA. Further, oop types are currently
a61af66fc99e Initial load
duke
parents:
diff changeset
1319 // distinguished by name (i.e., ends with "oop") over in the SA.
a61af66fc99e Initial load
duke
parents:
diff changeset
1320 //
a61af66fc99e Initial load
duke
parents:
diff changeset
1321 // The declare_toplevel_type macro should be used to declare types
a61af66fc99e Initial load
duke
parents:
diff changeset
1322 // which do not have a superclass.
a61af66fc99e Initial load
duke
parents:
diff changeset
1323 //
a61af66fc99e Initial load
duke
parents:
diff changeset
1324 // The declare_integer_type and declare_unsigned_integer_type macros
a61af66fc99e Initial load
duke
parents:
diff changeset
1325 // are required in order to properly identify C integer types over in
a61af66fc99e Initial load
duke
parents:
diff changeset
1326 // the SA. They should be used for any type which is otherwise opaque
a61af66fc99e Initial load
duke
parents:
diff changeset
1327 // and which it is necessary to coerce into an integer value. This
a61af66fc99e Initial load
duke
parents:
diff changeset
1328 // includes, for example, the type uintptr_t. Note that while they
a61af66fc99e Initial load
duke
parents:
diff changeset
1329 // will properly identify the type's size regardless of the platform,
a61af66fc99e Initial load
duke
parents:
diff changeset
1330 // since it is does not seem possible to deduce or check signedness at
a61af66fc99e Initial load
duke
parents:
diff changeset
1331 // compile time using the pointer comparison tricks, it is currently
a61af66fc99e Initial load
duke
parents:
diff changeset
1332 // required that the given types have the same signedness across all
a61af66fc99e Initial load
duke
parents:
diff changeset
1333 // platforms.
a61af66fc99e Initial load
duke
parents:
diff changeset
1334 //
a61af66fc99e Initial load
duke
parents:
diff changeset
1335 // NOTE that there are platform-specific additions to this table in
a61af66fc99e Initial load
duke
parents:
diff changeset
1336 // vmStructs_<os>_<cpu>.hpp.
a61af66fc99e Initial load
duke
parents:
diff changeset
1337
a61af66fc99e Initial load
duke
parents:
diff changeset
1338 #define VM_TYPES(declare_type, \
a61af66fc99e Initial load
duke
parents:
diff changeset
1339 declare_toplevel_type, \
a61af66fc99e Initial load
duke
parents:
diff changeset
1340 declare_oop_type, \
a61af66fc99e Initial load
duke
parents:
diff changeset
1341 declare_integer_type, \
a61af66fc99e Initial load
duke
parents:
diff changeset
1342 declare_unsigned_integer_type, \
a61af66fc99e Initial load
duke
parents:
diff changeset
1343 declare_c1_toplevel_type, \
a61af66fc99e Initial load
duke
parents:
diff changeset
1344 declare_c2_type, \
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
1345 declare_c2_toplevel_type) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1346 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1347 /*************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1348 /* Java primitive types -- required by the SA implementation */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1349 /* in order to determine the size of Java fields in this VM */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1350 /* (the implementation looks up these names specifically) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1351 /* NOTE: since we fetch these sizes from the remote VM, we */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1352 /* have a bootstrapping sequence during which it is not */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1353 /* valid to fetch Java values from the remote process, only */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1354 /* C integer values (of known size). NOTE also that we do */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1355 /* NOT include "Java unsigned" types like juint here; since */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1356 /* Java does not have unsigned primitive types, those can */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1357 /* not be mapped directly and are considered to be C integer */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1358 /* types in this system (see the "other types" section, */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1359 /* below.) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1360 /*************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1361 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1362 declare_toplevel_type(jboolean) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1363 declare_toplevel_type(jbyte) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1364 declare_toplevel_type(jchar) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1365 declare_toplevel_type(jdouble) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1366 declare_toplevel_type(jfloat) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1367 declare_toplevel_type(jint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1368 declare_toplevel_type(jlong) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1369 declare_toplevel_type(jshort) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1370 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1371 /*********************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1372 /* C integer types. User-defined typedefs (like "size_t" or */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1373 /* "intptr_t") are guaranteed to be present with the same names over */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1374 /* in the SA's type database. Names like "unsigned short" are not */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1375 /* guaranteed to be visible through the SA's type database lookup */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1376 /* mechanism, though they will have a Type object created for them */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1377 /* and are valid types for Fields. */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1378 /*********************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1379 declare_integer_type(bool) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1380 declare_integer_type(short) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1381 declare_integer_type(int) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1382 declare_integer_type(long) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1383 declare_integer_type(char) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1384 declare_unsigned_integer_type(unsigned char) \
12324
510fbd28919c 8020151: PSR:PERF Large performance regressions when code cache is filled
anoll
parents: 12323
diff changeset
1385 declare_unsigned_integer_type(volatile unsigned char) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1386 declare_unsigned_integer_type(u_char) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1387 declare_unsigned_integer_type(unsigned int) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1388 declare_unsigned_integer_type(uint) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1389 declare_unsigned_integer_type(unsigned short) \
3940
ab577c97a5f3 7089709: type "jushort" not found
never
parents: 3939
diff changeset
1390 declare_unsigned_integer_type(jushort) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1391 declare_unsigned_integer_type(unsigned long) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1392 /* The compiler thinks this is a different type than */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1393 /* unsigned short on Win32 */ \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1394 declare_unsigned_integer_type(u1) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1395 declare_unsigned_integer_type(u2) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1396 declare_unsigned_integer_type(unsigned) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1397 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1398 /*****************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1399 /* C primitive pointer types */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1400 /*****************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1401 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1402 declare_toplevel_type(void*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1403 declare_toplevel_type(int*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1404 declare_toplevel_type(char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1405 declare_toplevel_type(char**) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1406 declare_toplevel_type(u_char*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1407 declare_toplevel_type(unsigned char*) \
12324
510fbd28919c 8020151: PSR:PERF Large performance regressions when code cache is filled
anoll
parents: 12323
diff changeset
1408 declare_toplevel_type(volatile unsigned char*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1409 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1410 /*******************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1411 /* Types which it will be handy to have available over in the SA */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1412 /* in order to do platform-independent address -> integer coercion */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1413 /* (note: these will be looked up by name) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1414 /*******************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1415 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1416 declare_unsigned_integer_type(size_t) \
152
c70a245cad3a 6670684: 4/5 SA command universe did not print out CMS space information
dcubed
parents: 0
diff changeset
1417 declare_integer_type(ssize_t) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1418 declare_integer_type(intx) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1419 declare_integer_type(intptr_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1420 declare_unsigned_integer_type(uintx) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1421 declare_unsigned_integer_type(uintptr_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1422 declare_unsigned_integer_type(uint32_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1423 declare_unsigned_integer_type(uint64_t) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1424 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1425 /******************************************/ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1426 /* OopDesc hierarchy (NOTE: some missing) */ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1427 /******************************************/ \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1428 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1429 declare_toplevel_type(oopDesc) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1430 declare_type(arrayOopDesc, oopDesc) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1431 declare_type(objArrayOopDesc, arrayOopDesc) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1432 declare_type(instanceOopDesc, oopDesc) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1433 declare_type(markOopDesc, oopDesc) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1434 \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1435 /**************************************************/ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1436 /* MetadataOopDesc hierarchy (NOTE: some missing) */ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1437 /**************************************************/ \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1438 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1439 declare_toplevel_type(CompiledICHolder) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1440 declare_toplevel_type(MetaspaceObj) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1441 declare_type(Metadata, MetaspaceObj) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1442 declare_type(Klass, Metadata) \
6831
d8ce2825b193 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 6802
diff changeset
1443 declare_type(ArrayKlass, Klass) \
d8ce2825b193 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 6802
diff changeset
1444 declare_type(ObjArrayKlass, ArrayKlass) \
d8ce2825b193 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 6802
diff changeset
1445 declare_type(TypeArrayKlass, ArrayKlass) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1446 declare_type(InstanceKlass, Klass) \
6735
aed758eda82a 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 6725
diff changeset
1447 declare_type(InstanceClassLoaderKlass, InstanceKlass) \
aed758eda82a 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 6725
diff changeset
1448 declare_type(InstanceMirrorKlass, InstanceKlass) \
aed758eda82a 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 6725
diff changeset
1449 declare_type(InstanceRefKlass, InstanceKlass) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1450 declare_type(ConstantPool, Metadata) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1451 declare_type(ConstantPoolCache, MetaspaceObj) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1452 declare_type(MethodData, Metadata) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1453 declare_type(Method, Metadata) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1454 declare_type(MethodCounters, MetaspaceObj) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1455 declare_type(ConstMethod, MetaspaceObj) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1456 \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1457 declare_toplevel_type(vtableEntry) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1458 \
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
1459 declare_toplevel_type(Symbol) \
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
1460 declare_toplevel_type(Symbol*) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1461 declare_toplevel_type(volatile Metadata*) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1462 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1463 declare_toplevel_type(DataLayout) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1464 declare_toplevel_type(nmethodBucket) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1465 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1466 /********/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1467 /* Oops */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1468 /********/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1469 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1470 declare_oop_type(markOop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1471 declare_oop_type(objArrayOop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1472 declare_oop_type(oop) \
113
ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 0
diff changeset
1473 declare_oop_type(narrowOop) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1474 declare_oop_type(typeArrayOop) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1475 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1476 /*************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1477 /* MethodOop-related data structures */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1478 /*************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1479 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1480 declare_toplevel_type(CheckedExceptionElement) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1481 declare_toplevel_type(LocalVariableTableElement) \
6213
8150fa46d2ed 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
jiangli
parents: 6146
diff changeset
1482 declare_toplevel_type(ExceptionTableElement) \
12939
d2db09f281ca 8005810: Update Hotspot Serviceability Agent for Method Parameter Reflection and Generic Type Signature Data
dsamersoff
parents: 12840
diff changeset
1483 declare_toplevel_type(MethodParametersElement) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1484 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1485 declare_toplevel_type(ClassLoaderData) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1486 declare_toplevel_type(ClassLoaderDataGraph) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1487 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1488 /******************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1489 /* Generation and space hierarchies */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1490 /* (needed for run-time type information) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1491 /******************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1492 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1493 declare_toplevel_type(CollectedHeap) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1494 declare_type(SharedHeap, CollectedHeap) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1495 declare_type(GenCollectedHeap, SharedHeap) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1496 declare_toplevel_type(Generation) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1497 declare_type(DefNewGeneration, Generation) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1498 declare_type(CardGeneration, Generation) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1499 declare_type(OneContigSpaceCardGeneration, CardGeneration) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1500 declare_type(TenuredGeneration, OneContigSpaceCardGeneration) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1501 declare_toplevel_type(Space) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1502 declare_toplevel_type(BitMap) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1503 declare_type(CompactibleSpace, Space) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1504 declare_type(ContiguousSpace, CompactibleSpace) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1505 declare_type(EdenSpace, ContiguousSpace) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1506 declare_type(OffsetTableContigSpace, ContiguousSpace) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1507 declare_type(TenuredSpace, OffsetTableContigSpace) \
12559
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents: 12355
diff changeset
1508 declare_type(G1OffsetTableContigSpace, ContiguousSpace) \
ae412befde21 read HotSpotVMConfig fields from HotSpot's vmStructs via annotations
twisti
parents: 12355
diff changeset
1509 declare_type(HeapRegion, G1OffsetTableContigSpace) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1510 declare_toplevel_type(BarrierSet) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1511 declare_type(ModRefBarrierSet, BarrierSet) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1512 declare_type(CardTableModRefBS, ModRefBarrierSet) \
342
37f87013dfd8 6711316: Open source the Garbage-First garbage collector
ysr
parents: 147
diff changeset
1513 declare_type(CardTableModRefBSForCTRS, CardTableModRefBS) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1514 declare_toplevel_type(BarrierSet::Name) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1515 declare_toplevel_type(GenRemSet) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1516 declare_type(CardTableRS, GenRemSet) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1517 declare_toplevel_type(BlockOffsetSharedArray) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1518 declare_toplevel_type(BlockOffsetTable) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1519 declare_type(BlockOffsetArray, BlockOffsetTable) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1520 declare_type(BlockOffsetArrayContigSpace, BlockOffsetArray) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1521 declare_type(BlockOffsetArrayNonContigSpace, BlockOffsetArray) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1522 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1523 /* Miscellaneous other GC types */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1524 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1525 declare_toplevel_type(ageTable) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1526 declare_toplevel_type(Generation::StatRecord) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1527 declare_toplevel_type(GenerationSpec) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1528 declare_toplevel_type(HeapWord) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1529 declare_toplevel_type(MemRegion) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1530 declare_toplevel_type(ThreadLocalAllocBuffer) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1531 declare_toplevel_type(VirtualSpace) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1532 declare_toplevel_type(WaterMark) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1533 declare_toplevel_type(ObjPtrQueue) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
1534 declare_toplevel_type(DirtyCardQueue) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1535 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1536 /* Pointers to Garbage Collection types */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1537 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1538 declare_toplevel_type(BarrierSet*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1539 declare_toplevel_type(BlockOffsetSharedArray*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1540 declare_toplevel_type(GenRemSet*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1541 declare_toplevel_type(CardTableRS*) \
342
37f87013dfd8 6711316: Open source the Garbage-First garbage collector
ysr
parents: 147
diff changeset
1542 declare_toplevel_type(CardTableModRefBS*) \
37f87013dfd8 6711316: Open source the Garbage-First garbage collector
ysr
parents: 147
diff changeset
1543 declare_toplevel_type(CardTableModRefBS**) \
37f87013dfd8 6711316: Open source the Garbage-First garbage collector
ysr
parents: 147
diff changeset
1544 declare_toplevel_type(CardTableModRefBSForCTRS*) \
37f87013dfd8 6711316: Open source the Garbage-First garbage collector
ysr
parents: 147
diff changeset
1545 declare_toplevel_type(CardTableModRefBSForCTRS**) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1546 declare_toplevel_type(CollectedHeap*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1547 declare_toplevel_type(ContiguousSpace*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1548 declare_toplevel_type(DefNewGeneration*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1549 declare_toplevel_type(EdenSpace*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1550 declare_toplevel_type(GenCollectedHeap*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1551 declare_toplevel_type(Generation*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1552 declare_toplevel_type(GenerationSpec**) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1553 declare_toplevel_type(HeapWord*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1554 declare_toplevel_type(MemRegion*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1555 declare_toplevel_type(OffsetTableContigSpace*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1556 declare_toplevel_type(OneContigSpaceCardGeneration*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1557 declare_toplevel_type(Space*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1558 declare_toplevel_type(ThreadLocalAllocBuffer*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1559 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1560 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1561 /* PerfMemory - jvmstat */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1562 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1563 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1564 declare_toplevel_type(PerfDataPrologue) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1565 declare_toplevel_type(PerfDataPrologue*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1566 declare_toplevel_type(PerfDataEntry) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1567 declare_toplevel_type(PerfMemory) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1568 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1569 /*********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1570 /* SymbolTable, SystemDictionary */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1571 /*********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1572 \
6197
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
1573 declare_toplevel_type(BasicHashtable<mtInternal>) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
1574 declare_type(IntptrHashtable, BasicHashtable<mtInternal>) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
1575 declare_type(SymbolTable, SymbolHashtable) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
1576 declare_type(StringTable, StringHashtable) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1577 declare_type(LoaderConstraintTable, KlassHashtable) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1578 declare_type(KlassTwoOopHashtable, KlassHashtable) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1579 declare_type(Dictionary, KlassTwoOopHashtable) \
6197
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
1580 declare_type(PlaceholderTable, SymbolTwoOopHashtable) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
1581 declare_toplevel_type(BasicHashtableEntry<mtInternal>) \
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
1582 declare_type(IntptrHashtableEntry, BasicHashtableEntry<mtInternal>) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1583 declare_type(DictionaryEntry, KlassHashtableEntry) \
6197
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
1584 declare_type(PlaceholderEntry, SymbolHashtableEntry) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
1585 declare_type(LoaderConstraintEntry, KlassHashtableEntry) \
6197
d2a62e0f25eb 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 6146
diff changeset
1586 declare_toplevel_type(HashtableBucket<mtInternal>) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1587 declare_toplevel_type(SystemDictionary) \
3962
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
1588 declare_toplevel_type(vmSymbols) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1589 declare_toplevel_type(ProtectionDomainEntry) \
12837
82af7d7a0128 8003420: NPG: make new GC root for pd_set
tschatzl
parents: 12264
diff changeset
1590 declare_toplevel_type(ProtectionDomainCacheEntry) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1591 \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1592 declare_toplevel_type(GenericGrowableArray) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1593 declare_toplevel_type(GrowableArray<int>) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1594 declare_toplevel_type(Arena) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1595 declare_type(ResourceArea, Arena) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1596 declare_toplevel_type(Chunk) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1597 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1598 /***********************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1599 /* Thread hierarchy (needed for run-time type information) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1600 /***********************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1601 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1602 declare_toplevel_type(Threads) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1603 declare_toplevel_type(ThreadShadow) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1604 declare_type(Thread, ThreadShadow) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1605 declare_type(NamedThread, Thread) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1606 declare_type(WatcherThread, Thread) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1607 declare_type(JavaThread, Thread) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1608 declare_type(JvmtiAgentThread, JavaThread) \
2195
bf8517f4e4d0 6766644: Redefinition of compiled method fails with assertion "Can not load classes with the Compiler thread"
kamg
parents: 2192
diff changeset
1609 declare_type(ServiceThread, JavaThread) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1610 declare_type(CompilerThread, JavaThread) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1611 declare_toplevel_type(OSThread) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1612 declare_toplevel_type(JavaFrameAnchor) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1613 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1614 /***************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1615 /* Interpreter */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1616 /***************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1617 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1618 declare_toplevel_type(AbstractInterpreter) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1619 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1620 /*********/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1621 /* Stubs */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1622 /*********/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1623 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1624 declare_toplevel_type(StubQueue) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1625 declare_toplevel_type(StubRoutines) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1626 declare_toplevel_type(Stub) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1627 declare_type(InterpreterCodelet, Stub) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1628 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1629 /*************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1630 /* JavaCalls */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1631 /*************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1632 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1633 declare_toplevel_type(JavaCallWrapper) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1634 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1635 /*************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1636 /* CodeCache */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1637 /*************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1638 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1639 declare_toplevel_type(CodeCache) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1640 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1641 /************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1642 /* CodeHeap */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1643 /************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1644 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1645 declare_toplevel_type(CodeHeap) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1646 declare_toplevel_type(CodeHeap*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1647 declare_toplevel_type(HeapBlock) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1648 declare_toplevel_type(HeapBlock::Header) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1649 declare_type(FreeBlock, HeapBlock) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1650 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1651 /*************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1652 /* CodeBlob hierarchy (needed for run-time type information) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1653 /*************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1654 \
3908
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1655 declare_toplevel_type(SharedRuntime) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1656 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1657 declare_toplevel_type(CodeBlob) \
3908
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1658 declare_type(BufferBlob, CodeBlob) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1659 declare_type(AdapterBlob, BufferBlob) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1660 declare_type(MethodHandlesAdapterBlob, BufferBlob) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1661 declare_type(nmethod, CodeBlob) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1662 declare_type(RuntimeStub, CodeBlob) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1663 declare_type(SingletonBlob, CodeBlob) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1664 declare_type(SafepointBlob, SingletonBlob) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1665 declare_type(DeoptimizationBlob, SingletonBlob) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1666 declare_c2_type(ExceptionBlob, SingletonBlob) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
1667 declare_c2_type(UncommonTrapBlob, CodeBlob) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1668 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1669 /***************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1670 /* PcDesc and other compiled code info */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1671 /***************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1672 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1673 declare_toplevel_type(PcDesc) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1674 declare_toplevel_type(ExceptionCache) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1675 declare_toplevel_type(PcDescCache) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1676 declare_toplevel_type(Dependencies) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1677 declare_toplevel_type(CompileTask) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1678 declare_toplevel_type(Deoptimization) \
13098
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
1679 declare_toplevel_type(Deoptimization::UnrollBlock) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1680 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1681 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1682 /* OopMap and OopMapSet */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1683 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1684 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1685 declare_toplevel_type(OopMap) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1686 declare_toplevel_type(OopMapSet) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1687 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1688 /********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1689 /* CompressedStream */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1690 /********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1691 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1692 declare_toplevel_type(CompressedStream) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1693 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1694 /**************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1695 /* VMRegImpl */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1696 /**************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1697 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1698 declare_toplevel_type(VMRegImpl) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1699 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1700 /*********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1701 /* JNIHandles and JNIHandleBlock */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1702 /*********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1703 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1704 declare_toplevel_type(JNIHandles) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1705 declare_toplevel_type(JNIHandleBlock) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1706 declare_toplevel_type(jobject) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1707 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1708 /**********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1709 /* Runtime1 (C1 only) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1710 /**********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1711 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1712 declare_c1_toplevel_type(Runtime1) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1713 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1714 /************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1715 /* Monitors */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1716 /************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1717 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1718 declare_toplevel_type(ObjectMonitor) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1719 declare_toplevel_type(ObjectSynchronizer) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1720 declare_toplevel_type(BasicLock) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1721 declare_toplevel_type(BasicObjectLock) \
a61af66fc99e Initial load
duke
parents:
diff changeset
1722 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1723 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1724 /* Matcher (C2 only) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1725 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
1726 \
a61af66fc99e Initial load
duke
parents:
diff changeset
1727 declare_c2_toplevel_type(Matcher) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1728 declare_c2_toplevel_type(Compile) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1729 declare_c2_toplevel_type(InlineTree) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1730 declare_c2_toplevel_type(OptoRegPair) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1731 declare_c2_toplevel_type(JVMState) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1732 declare_c2_toplevel_type(Phase) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1733 declare_c2_type(PhaseCFG, Phase) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1734 declare_c2_type(PhaseRegAlloc, Phase) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1735 declare_c2_type(PhaseChaitin, PhaseRegAlloc) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1736 declare_c2_toplevel_type(CFGElement) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1737 declare_c2_type(Block, CFGElement) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1738 declare_c2_toplevel_type(Block_Array) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1739 declare_c2_type(Block_List, Block_Array) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1740 declare_c2_toplevel_type(Node_Array) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1741 declare_c2_type(Node_List, Node_Array) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1742 declare_c2_type(Unique_Node_List, Node_List) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1743 declare_c2_toplevel_type(Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1744 declare_c2_type(AddNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1745 declare_c2_type(AddINode, AddNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1746 declare_c2_type(AddLNode, AddNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1747 declare_c2_type(AddFNode, AddNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1748 declare_c2_type(AddDNode, AddNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1749 declare_c2_type(AddPNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1750 declare_c2_type(OrINode, AddNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1751 declare_c2_type(OrLNode, AddNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1752 declare_c2_type(XorINode, AddNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1753 declare_c2_type(XorLNode, AddNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1754 declare_c2_type(MaxNode, AddNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1755 declare_c2_type(MaxINode, MaxNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1756 declare_c2_type(MinINode, MaxNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1757 declare_c2_type(StartNode, MultiNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1758 declare_c2_type(StartOSRNode, StartNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1759 declare_c2_type(ParmNode, ProjNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1760 declare_c2_type(ReturnNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1761 declare_c2_type(RethrowNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1762 declare_c2_type(TailCallNode, ReturnNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1763 declare_c2_type(TailJumpNode, ReturnNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1764 declare_c2_type(SafePointNode, MultiNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1765 declare_c2_type(CallNode, SafePointNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1766 declare_c2_type(CallJavaNode, CallNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1767 declare_c2_type(CallStaticJavaNode, CallJavaNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1768 declare_c2_type(CallDynamicJavaNode, CallJavaNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1769 declare_c2_type(CallRuntimeNode, CallNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1770 declare_c2_type(CallLeafNode, CallRuntimeNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1771 declare_c2_type(CallLeafNoFPNode, CallLeafNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1772 declare_c2_type(AllocateNode, CallNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1773 declare_c2_type(AllocateArrayNode, AllocateNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1774 declare_c2_type(LockNode, AbstractLockNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1775 declare_c2_type(UnlockNode, AbstractLockNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1776 declare_c2_type(FastLockNode, CmpNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1777 declare_c2_type(FastUnlockNode, CmpNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1778 declare_c2_type(RegionNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1779 declare_c2_type(JProjNode, ProjNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1780 declare_c2_type(PhiNode, TypeNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1781 declare_c2_type(GotoNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1782 declare_c2_type(CProjNode, ProjNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1783 declare_c2_type(MultiBranchNode, MultiNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1784 declare_c2_type(IfNode, MultiBranchNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1785 declare_c2_type(IfTrueNode, CProjNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1786 declare_c2_type(IfFalseNode, CProjNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1787 declare_c2_type(PCTableNode, MultiBranchNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1788 declare_c2_type(JumpNode, PCTableNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1789 declare_c2_type(JumpProjNode, JProjNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1790 declare_c2_type(CatchNode, PCTableNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1791 declare_c2_type(CatchProjNode, CProjNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1792 declare_c2_type(CreateExNode, TypeNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1793 declare_c2_type(ClearArrayNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1794 declare_c2_type(NeverBranchNode, MultiBranchNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1795 declare_c2_type(ConNode, TypeNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1796 declare_c2_type(ConINode, ConNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1797 declare_c2_type(ConPNode, ConNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1798 declare_c2_type(ConNNode, ConNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1799 declare_c2_type(ConLNode, ConNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1800 declare_c2_type(ConFNode, ConNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1801 declare_c2_type(ConDNode, ConNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1802 declare_c2_type(BinaryNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1803 declare_c2_type(CMoveNode, TypeNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1804 declare_c2_type(CMoveDNode, CMoveNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1805 declare_c2_type(CMoveFNode, CMoveNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1806 declare_c2_type(CMoveINode, CMoveNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1807 declare_c2_type(CMoveLNode, CMoveNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1808 declare_c2_type(CMovePNode, CMoveNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1809 declare_c2_type(CMoveNNode, CMoveNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1810 declare_c2_type(EncodePNode, TypeNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1811 declare_c2_type(DecodeNNode, TypeNode) \
6848
8e47bac5643a 7054512: Compress class pointers after perm gen removal
roland
parents: 6818
diff changeset
1812 declare_c2_type(EncodePKlassNode, TypeNode) \
8e47bac5643a 7054512: Compress class pointers after perm gen removal
roland
parents: 6818
diff changeset
1813 declare_c2_type(DecodeNKlassNode, TypeNode) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1814 declare_c2_type(ConstraintCastNode, TypeNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1815 declare_c2_type(CastIINode, ConstraintCastNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1816 declare_c2_type(CastPPNode, ConstraintCastNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1817 declare_c2_type(CheckCastPPNode, TypeNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1818 declare_c2_type(Conv2BNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1819 declare_c2_type(ConvD2FNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1820 declare_c2_type(ConvD2INode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1821 declare_c2_type(ConvD2LNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1822 declare_c2_type(ConvF2DNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1823 declare_c2_type(ConvF2INode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1824 declare_c2_type(ConvF2LNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1825 declare_c2_type(ConvI2DNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1826 declare_c2_type(ConvI2FNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1827 declare_c2_type(ConvI2LNode, TypeNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1828 declare_c2_type(ConvL2DNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1829 declare_c2_type(ConvL2FNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1830 declare_c2_type(ConvL2INode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1831 declare_c2_type(CastX2PNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1832 declare_c2_type(CastP2XNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1833 declare_c2_type(MemBarNode, MultiNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1834 declare_c2_type(MemBarAcquireNode, MemBarNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1835 declare_c2_type(MemBarReleaseNode, MemBarNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1836 declare_c2_type(MemBarVolatileNode, MemBarNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1837 declare_c2_type(MemBarCPUOrderNode, MemBarNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1838 declare_c2_type(InitializeNode, MemBarNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1839 declare_c2_type(ThreadLocalNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1840 declare_c2_type(Opaque1Node, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1841 declare_c2_type(Opaque2Node, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1842 declare_c2_type(PartialSubtypeCheckNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1843 declare_c2_type(MoveI2FNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1844 declare_c2_type(MoveL2DNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1845 declare_c2_type(MoveF2INode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1846 declare_c2_type(MoveD2LNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1847 declare_c2_type(DivINode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1848 declare_c2_type(DivLNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1849 declare_c2_type(DivFNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1850 declare_c2_type(DivDNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1851 declare_c2_type(ModINode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1852 declare_c2_type(ModLNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1853 declare_c2_type(ModFNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1854 declare_c2_type(ModDNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1855 declare_c2_type(DivModNode, MultiNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1856 declare_c2_type(DivModINode, DivModNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1857 declare_c2_type(DivModLNode, DivModNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1858 declare_c2_type(BoxLockNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1859 declare_c2_type(LoopNode, RegionNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1860 declare_c2_type(CountedLoopNode, LoopNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1861 declare_c2_type(CountedLoopEndNode, IfNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1862 declare_c2_type(MachNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1863 declare_c2_type(MachIdealNode, MachNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1864 declare_c2_type(MachTypeNode, MachNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1865 declare_c2_type(MachBreakpointNode, MachIdealNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1866 declare_c2_type(MachUEPNode, MachIdealNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1867 declare_c2_type(MachPrologNode, MachIdealNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1868 declare_c2_type(MachEpilogNode, MachIdealNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1869 declare_c2_type(MachNopNode, MachIdealNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1870 declare_c2_type(MachSpillCopyNode, MachIdealNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1871 declare_c2_type(MachNullCheckNode, MachIdealNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1872 declare_c2_type(MachProjNode, ProjNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1873 declare_c2_type(MachIfNode, MachNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1874 declare_c2_type(MachFastLockNode, MachNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1875 declare_c2_type(MachReturnNode, MachNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1876 declare_c2_type(MachSafePointNode, MachReturnNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1877 declare_c2_type(MachCallNode, MachSafePointNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1878 declare_c2_type(MachCallJavaNode, MachCallNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1879 declare_c2_type(MachCallStaticJavaNode, MachCallJavaNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1880 declare_c2_type(MachCallDynamicJavaNode, MachCallJavaNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1881 declare_c2_type(MachCallRuntimeNode, MachCallNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1882 declare_c2_type(MachHaltNode, MachReturnNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1883 declare_c2_type(MachTempNode, MachNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1884 declare_c2_type(MemNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1885 declare_c2_type(MergeMemNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1886 declare_c2_type(LoadNode, MemNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1887 declare_c2_type(LoadBNode, LoadNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1888 declare_c2_type(LoadUSNode, LoadNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1889 declare_c2_type(LoadINode, LoadNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1890 declare_c2_type(LoadRangeNode, LoadINode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1891 declare_c2_type(LoadLNode, LoadNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1892 declare_c2_type(LoadL_unalignedNode, LoadLNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1893 declare_c2_type(LoadFNode, LoadNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1894 declare_c2_type(LoadDNode, LoadNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1895 declare_c2_type(LoadD_unalignedNode, LoadDNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1896 declare_c2_type(LoadPNode, LoadNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1897 declare_c2_type(LoadNNode, LoadNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1898 declare_c2_type(LoadKlassNode, LoadPNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1899 declare_c2_type(LoadNKlassNode, LoadNNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1900 declare_c2_type(LoadSNode, LoadNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1901 declare_c2_type(StoreNode, MemNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1902 declare_c2_type(StoreBNode, StoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1903 declare_c2_type(StoreCNode, StoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1904 declare_c2_type(StoreINode, StoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1905 declare_c2_type(StoreLNode, StoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1906 declare_c2_type(StoreFNode, StoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1907 declare_c2_type(StoreDNode, StoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1908 declare_c2_type(StorePNode, StoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1909 declare_c2_type(StoreNNode, StoreNode) \
6848
8e47bac5643a 7054512: Compress class pointers after perm gen removal
roland
parents: 6818
diff changeset
1910 declare_c2_type(StoreNKlassNode, StoreNode) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1911 declare_c2_type(StoreCMNode, StoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1912 declare_c2_type(LoadPLockedNode, LoadPNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1913 declare_c2_type(SCMemProjNode, ProjNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1914 declare_c2_type(LoadStoreNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1915 declare_c2_type(StorePConditionalNode, LoadStoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1916 declare_c2_type(StoreLConditionalNode, LoadStoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1917 declare_c2_type(CompareAndSwapLNode, LoadStoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1918 declare_c2_type(CompareAndSwapINode, LoadStoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1919 declare_c2_type(CompareAndSwapPNode, LoadStoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1920 declare_c2_type(CompareAndSwapNNode, LoadStoreNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1921 declare_c2_type(PrefetchReadNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1922 declare_c2_type(PrefetchWriteNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1923 declare_c2_type(MulNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1924 declare_c2_type(MulINode, MulNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1925 declare_c2_type(MulLNode, MulNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1926 declare_c2_type(MulFNode, MulNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1927 declare_c2_type(MulDNode, MulNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1928 declare_c2_type(MulHiLNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1929 declare_c2_type(AndINode, MulINode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1930 declare_c2_type(AndLNode, MulLNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1931 declare_c2_type(LShiftINode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1932 declare_c2_type(LShiftLNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1933 declare_c2_type(RShiftINode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1934 declare_c2_type(RShiftLNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1935 declare_c2_type(URShiftINode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1936 declare_c2_type(URShiftLNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1937 declare_c2_type(MultiNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1938 declare_c2_type(ProjNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1939 declare_c2_type(TypeNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1940 declare_c2_type(NodeHash, StackObj) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1941 declare_c2_type(RootNode, LoopNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1942 declare_c2_type(HaltNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1943 declare_c2_type(SubNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1944 declare_c2_type(SubINode, SubNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1945 declare_c2_type(SubLNode, SubNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1946 declare_c2_type(SubFPNode, SubNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1947 declare_c2_type(SubFNode, SubFPNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1948 declare_c2_type(SubDNode, SubFPNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1949 declare_c2_type(CmpNode, SubNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1950 declare_c2_type(CmpINode, CmpNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1951 declare_c2_type(CmpUNode, CmpNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1952 declare_c2_type(CmpPNode, CmpNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1953 declare_c2_type(CmpNNode, CmpNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1954 declare_c2_type(CmpLNode, CmpNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1955 declare_c2_type(CmpL3Node, CmpLNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1956 declare_c2_type(CmpFNode, CmpNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1957 declare_c2_type(CmpF3Node, CmpFNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1958 declare_c2_type(CmpDNode, CmpNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1959 declare_c2_type(CmpD3Node, CmpDNode) \
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents: 12322
diff changeset
1960 declare_c2_type(MathExactNode, MultiNode) \
12972
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12908
diff changeset
1961 declare_c2_type(MathExactINode, MathExactNode) \
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12908
diff changeset
1962 declare_c2_type(AddExactINode, MathExactINode) \
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12908
diff changeset
1963 declare_c2_type(AddExactLNode, MathExactLNode) \
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12908
diff changeset
1964 declare_c2_type(SubExactINode, MathExactINode) \
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12908
diff changeset
1965 declare_c2_type(SubExactLNode, MathExactLNode) \
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12908
diff changeset
1966 declare_c2_type(NegExactINode, MathExactINode) \
59e8ad757e19 8026844: Various Math functions needs intrinsification
rbackman
parents: 12908
diff changeset
1967 declare_c2_type(MulExactINode, MathExactINode) \
12323
c9ccd7b85f20 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents: 12322
diff changeset
1968 declare_c2_type(FlagsProjNode, ProjNode) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1969 declare_c2_type(BoolNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1970 declare_c2_type(AbsNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1971 declare_c2_type(AbsINode, AbsNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1972 declare_c2_type(AbsFNode, AbsNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1973 declare_c2_type(AbsDNode, AbsNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1974 declare_c2_type(CmpLTMaskNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1975 declare_c2_type(NegNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1976 declare_c2_type(NegFNode, NegNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1977 declare_c2_type(NegDNode, NegNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1978 declare_c2_type(CosDNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1979 declare_c2_type(SinDNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1980 declare_c2_type(TanDNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1981 declare_c2_type(AtanDNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1982 declare_c2_type(SqrtDNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1983 declare_c2_type(ExpDNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1984 declare_c2_type(LogDNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1985 declare_c2_type(Log10DNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1986 declare_c2_type(PowDNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1987 declare_c2_type(ReverseBytesINode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1988 declare_c2_type(ReverseBytesLNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1989 declare_c2_type(VectorNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1990 declare_c2_type(AddVBNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1991 declare_c2_type(AddVSNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1992 declare_c2_type(AddVINode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1993 declare_c2_type(AddVLNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1994 declare_c2_type(AddVFNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1995 declare_c2_type(AddVDNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1996 declare_c2_type(SubVBNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1997 declare_c2_type(SubVSNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1998 declare_c2_type(SubVINode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
1999 declare_c2_type(SubVLNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2000 declare_c2_type(SubVFNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2001 declare_c2_type(SubVDNode, VectorNode) \
6802
0702f188baeb 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 6800
diff changeset
2002 declare_c2_type(MulVSNode, VectorNode) \
0702f188baeb 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 6800
diff changeset
2003 declare_c2_type(MulVINode, VectorNode) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2004 declare_c2_type(MulVFNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2005 declare_c2_type(MulVDNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2006 declare_c2_type(DivVFNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2007 declare_c2_type(DivVDNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2008 declare_c2_type(LShiftVBNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2009 declare_c2_type(LShiftVSNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2010 declare_c2_type(LShiftVINode, VectorNode) \
6802
0702f188baeb 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 6800
diff changeset
2011 declare_c2_type(LShiftVLNode, VectorNode) \
6179
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2012 declare_c2_type(RShiftVBNode, VectorNode) \
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2013 declare_c2_type(RShiftVSNode, VectorNode) \
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2014 declare_c2_type(RShiftVINode, VectorNode) \
6802
0702f188baeb 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 6800
diff changeset
2015 declare_c2_type(RShiftVLNode, VectorNode) \
0702f188baeb 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 6800
diff changeset
2016 declare_c2_type(URShiftVBNode, VectorNode) \
0702f188baeb 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 6800
diff changeset
2017 declare_c2_type(URShiftVSNode, VectorNode) \
0702f188baeb 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 6800
diff changeset
2018 declare_c2_type(URShiftVINode, VectorNode) \
0702f188baeb 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 6800
diff changeset
2019 declare_c2_type(URShiftVLNode, VectorNode) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2020 declare_c2_type(AndVNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2021 declare_c2_type(OrVNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2022 declare_c2_type(XorVNode, VectorNode) \
6179
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2023 declare_c2_type(LoadVectorNode, LoadNode) \
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2024 declare_c2_type(StoreVectorNode, StoreNode) \
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2025 declare_c2_type(ReplicateBNode, VectorNode) \
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2026 declare_c2_type(ReplicateSNode, VectorNode) \
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2027 declare_c2_type(ReplicateINode, VectorNode) \
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2028 declare_c2_type(ReplicateLNode, VectorNode) \
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2029 declare_c2_type(ReplicateFNode, VectorNode) \
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2030 declare_c2_type(ReplicateDNode, VectorNode) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2031 declare_c2_type(PackNode, VectorNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2032 declare_c2_type(PackBNode, PackNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2033 declare_c2_type(PackSNode, PackNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2034 declare_c2_type(PackINode, PackNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2035 declare_c2_type(PackLNode, PackNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2036 declare_c2_type(PackFNode, PackNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2037 declare_c2_type(PackDNode, PackNode) \
6179
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2038 declare_c2_type(Pack2LNode, PackNode) \
8c92982cbbc4 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 6146
diff changeset
2039 declare_c2_type(Pack2DNode, PackNode) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2040 declare_c2_type(ExtractNode, Node) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2041 declare_c2_type(ExtractBNode, ExtractNode) \
6802
0702f188baeb 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 6800
diff changeset
2042 declare_c2_type(ExtractUBNode, ExtractNode) \
0702f188baeb 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 6800
diff changeset
2043 declare_c2_type(ExtractCNode, ExtractNode) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2044 declare_c2_type(ExtractSNode, ExtractNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2045 declare_c2_type(ExtractINode, ExtractNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2046 declare_c2_type(ExtractLNode, ExtractNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2047 declare_c2_type(ExtractFNode, ExtractNode) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2048 declare_c2_type(ExtractDNode, ExtractNode) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2049 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2050 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2051 /* Adapter Blob Entries */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2052 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2053 declare_toplevel_type(AdapterHandlerEntry) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2054 declare_toplevel_type(AdapterHandlerEntry*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2055 \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2056 /*********************/ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2057 /* CI */ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2058 /*********************/ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2059 declare_toplevel_type(ciEnv) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2060 declare_toplevel_type(ciObjectFactory) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2061 declare_toplevel_type(ciConstant) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2062 declare_toplevel_type(ciField) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2063 declare_toplevel_type(ciSymbol) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2064 declare_toplevel_type(ciBaseObject) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2065 declare_type(ciObject, ciBaseObject) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2066 declare_type(ciInstance, ciObject) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2067 declare_type(ciMetadata, ciBaseObject) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2068 declare_type(ciMethod, ciMetadata) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2069 declare_type(ciMethodData, ciMetadata) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2070 declare_type(ciType, ciMetadata) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2071 declare_type(ciKlass, ciType) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2072 declare_type(ciInstanceKlass, ciKlass) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2073 declare_type(ciArrayKlass, ciKlass) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2074 declare_type(ciTypeArrayKlass, ciArrayKlass) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2075 declare_type(ciObjArrayKlass, ciArrayKlass) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2076 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2077 /********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2078 /* -XX flags */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2079 /********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2080 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2081 declare_toplevel_type(Flag) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2082 declare_toplevel_type(Flag*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2083 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2084 /********************/ \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2085 /* JVMTI */ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2086 /********************/ \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2087 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2088 declare_toplevel_type(JvmtiExport) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2089 \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2090 /********************/ \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2091 /* JDK/VM version */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2092 /********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2093 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2094 declare_toplevel_type(Abstract_VM_Version) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2095 declare_toplevel_type(JDK_Version) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2096 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2097 /*************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2098 /* Arguments */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2099 /*************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2100 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2101 declare_toplevel_type(Arguments) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2102 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2103 /***************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2104 /* Other types */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2105 /***************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2106 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2107 /* all enum types */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2108 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2109 declare_integer_type(Bytecodes::Code) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2110 declare_integer_type(Generation::Name) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2111 declare_integer_type(InstanceKlass::ClassState) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2112 declare_integer_type(JavaThreadState) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2113 declare_integer_type(Location::Type) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2114 declare_integer_type(Location::Where) \
12322
72b7e96c1922 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 12264
diff changeset
2115 declare_integer_type(Flag::Flags) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2116 COMPILER2_PRESENT(declare_integer_type(OptoReg::Name)) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2117 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2118 declare_toplevel_type(CHeapObj<mtInternal>) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2119 declare_type(Array<int>, MetaspaceObj) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2120 declare_type(Array<u1>, MetaspaceObj) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2121 declare_type(Array<u2>, MetaspaceObj) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2122 declare_type(Array<Klass*>, MetaspaceObj) \
12322
72b7e96c1922 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 12264
diff changeset
2123 declare_type(Array<Method*>, MetaspaceObj) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2124 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2125 declare_integer_type(AccessFlags) /* FIXME: wrong type (not integer) */\
a61af66fc99e Initial load
duke
parents:
diff changeset
2126 declare_toplevel_type(address) /* FIXME: should this be an integer type? */\
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2127 declare_integer_type(BasicType) /* FIXME: wrong type (not integer) */\
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2128 declare_toplevel_type(BreakpointInfo) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2129 declare_toplevel_type(BreakpointInfo*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2130 declare_toplevel_type(CodeBlob*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2131 declare_toplevel_type(CompressedWriteStream*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2132 declare_toplevel_type(ConstantPoolCacheEntry) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2133 declare_toplevel_type(elapsedTimer) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2134 declare_toplevel_type(frame) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2135 declare_toplevel_type(intptr_t*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2136 declare_unsigned_integer_type(InvocationCounter) /* FIXME: wrong type (not integer) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2137 declare_toplevel_type(JavaThread*) \
2376
c7f3d0b4570f 7017732: move static fields into Class to prepare for perm gen removal
never
parents: 2260
diff changeset
2138 declare_toplevel_type(java_lang_Class) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2139 declare_integer_type(JavaThread::AsyncRequests) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2140 declare_toplevel_type(jbyte*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2141 declare_toplevel_type(jbyte**) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2142 declare_toplevel_type(jint*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2143 declare_toplevel_type(jniIdMapBase*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2144 declare_unsigned_integer_type(juint) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2145 declare_unsigned_integer_type(julong) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2146 declare_toplevel_type(JNIHandleBlock*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2147 declare_toplevel_type(JNIid) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2148 declare_toplevel_type(JNIid*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2149 declare_toplevel_type(jmethodID*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2150 declare_toplevel_type(Mutex*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2151 declare_toplevel_type(nmethod*) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2152 COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t)) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2153 declare_toplevel_type(ObjectMonitor*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2154 declare_toplevel_type(oop*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2155 declare_toplevel_type(OopMap**) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2156 declare_toplevel_type(OopMapCache*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2157 declare_toplevel_type(OopMapSet*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2158 declare_toplevel_type(VMReg) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2159 declare_toplevel_type(OSThread*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2160 declare_integer_type(ReferenceType) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2161 declare_toplevel_type(StubQueue*) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2162 declare_toplevel_type(Thread*) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2163 declare_toplevel_type(Universe) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2164 declare_toplevel_type(os) \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2165 declare_toplevel_type(vframeArray) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2166 declare_toplevel_type(vframeArrayElement) \
6885
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2167 declare_toplevel_type(Annotations*) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2168 \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2169 /***************/ \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2170 /* Miscellaneous types */ \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2171 /***************/ \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2172 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2173 declare_toplevel_type(PtrQueue) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2174 \
6885
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2175 /* freelist */ \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2176 declare_toplevel_type(FreeChunk*) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2177 declare_toplevel_type(Metablock*) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2178 declare_toplevel_type(FreeBlockDictionary<FreeChunk>*) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2179 declare_toplevel_type(FreeList<FreeChunk>*) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2180 declare_toplevel_type(FreeList<FreeChunk>) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2181 declare_toplevel_type(FreeBlockDictionary<Metablock>*) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2182 declare_toplevel_type(FreeList<Metablock>*) \
685df3c6f84b 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 6857
diff changeset
2183 declare_toplevel_type(FreeList<Metablock>) \
7947
3c327c2b6782 8004895: NPG: JMapPermCore test failure caused by warnings about missing field
jmasa
parents: 7615
diff changeset
2184 declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>)
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2185
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2186
a61af66fc99e Initial load
duke
parents:
diff changeset
2187 //--------------------------------------------------------------------------------
a61af66fc99e Initial load
duke
parents:
diff changeset
2188 // VM_INT_CONSTANTS
a61af66fc99e Initial load
duke
parents:
diff changeset
2189 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2190 // This table contains integer constants required over in the
a61af66fc99e Initial load
duke
parents:
diff changeset
2191 // serviceability agent. The "declare_constant" macro is used for all
a61af66fc99e Initial load
duke
parents:
diff changeset
2192 // enums, etc., while "declare_preprocessor_constant" must be used for
a61af66fc99e Initial load
duke
parents:
diff changeset
2193 // all #defined constants.
a61af66fc99e Initial load
duke
parents:
diff changeset
2194
a61af66fc99e Initial load
duke
parents:
diff changeset
2195 #define VM_INT_CONSTANTS(declare_constant, \
a61af66fc99e Initial load
duke
parents:
diff changeset
2196 declare_preprocessor_constant, \
a61af66fc99e Initial load
duke
parents:
diff changeset
2197 declare_c1_constant, \
a61af66fc99e Initial load
duke
parents:
diff changeset
2198 declare_c2_constant, \
13170
f294b4ee2d47 make CodeInstallResult enum independent of the actual values in C++ code
twisti
parents: 13155
diff changeset
2199 declare_c2_preprocessor_constant) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2200 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2201 /******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2202 /* Useful globals */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2203 /******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2204 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2205 declare_preprocessor_constant("ASSERT", DEBUG_ONLY(1) NOT_DEBUG(0)) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2206 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2207 /**************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2208 /* Stack bias */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2209 /**************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2210 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2211 declare_preprocessor_constant("STACK_BIAS", STACK_BIAS) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2212 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2213 /****************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2214 /* Object sizes */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2215 /****************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2216 \
113
ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 0
diff changeset
2217 declare_constant(oopSize) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2218 declare_constant(LogBytesPerWord) \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2219 declare_constant(BytesPerWord) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2220 declare_constant(BytesPerLong) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2221 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2222 declare_constant(LogKlassAlignmentInBytes) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2223 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2224 /********************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2225 /* Generation and Space Hierarchy Constants */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2226 /********************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2227 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2228 declare_constant(ageTable::table_size) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2229 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2230 declare_constant(BarrierSet::ModRef) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2231 declare_constant(BarrierSet::CardTableModRef) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2232 declare_constant(BarrierSet::CardTableExtension) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2233 declare_constant(BarrierSet::G1SATBCT) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2234 declare_constant(BarrierSet::G1SATBCTLogging) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2235 declare_constant(BarrierSet::Other) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2236 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2237 declare_constant(BlockOffsetSharedArray::LogN) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2238 declare_constant(BlockOffsetSharedArray::LogN_words) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2239 declare_constant(BlockOffsetSharedArray::N_bytes) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2240 declare_constant(BlockOffsetSharedArray::N_words) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2241 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2242 declare_constant(BlockOffsetArray::N_words) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2243 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2244 declare_constant(CardTableModRefBS::clean_card) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2245 declare_constant(CardTableModRefBS::last_card) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2246 declare_constant(CardTableModRefBS::dirty_card) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2247 declare_constant(CardTableModRefBS::Precise) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2248 declare_constant(CardTableModRefBS::ObjHeadPreciseArray) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2249 declare_constant(CardTableModRefBS::card_shift) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2250 declare_constant(CardTableModRefBS::card_size) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2251 declare_constant(CardTableModRefBS::card_size_in_words) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2252 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2253 declare_constant(CardTableRS::youngergen_card) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2254 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2255 declare_constant(CollectedHeap::Abstract) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2256 declare_constant(CollectedHeap::SharedHeap) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2257 declare_constant(CollectedHeap::GenCollectedHeap) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2258 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2259 declare_constant(GenCollectedHeap::max_gens) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2260 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2261 /* constants from Generation::Name enum */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2262 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2263 declare_constant(Generation::DefNew) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2264 declare_constant(Generation::MarkSweepCompact) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2265 declare_constant(Generation::Other) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2266 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2267 declare_constant(Generation::LogOfGenGrain) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2268 declare_constant(Generation::GenGrain) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2269 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2270 declare_constant(HeapWordSize) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2271 declare_constant(LogHeapWordSize) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2272 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2273 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2274 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2275 /* PerfMemory - jvmstat */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2276 /************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2277 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2278 declare_preprocessor_constant("PERFDATA_MAJOR_VERSION", PERFDATA_MAJOR_VERSION) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2279 declare_preprocessor_constant("PERFDATA_MINOR_VERSION", PERFDATA_MINOR_VERSION) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2280 declare_preprocessor_constant("PERFDATA_BIG_ENDIAN", PERFDATA_BIG_ENDIAN) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2281 declare_preprocessor_constant("PERFDATA_LITTLE_ENDIAN", PERFDATA_LITTLE_ENDIAN) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2282 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2283 /***********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2284 /* LoaderConstraintTable constants */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2285 /***********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2286 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2287 declare_constant(LoaderConstraintTable::_loader_constraint_size) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2288 declare_constant(LoaderConstraintTable::_nof_buckets) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2289 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2290 /************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2291 /* HotSpot specific JVM_ACC constants from global anon enum */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2292 /************************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2293 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2294 declare_constant(JVM_ACC_WRITTEN_FLAGS) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2295 declare_constant(JVM_ACC_MONITOR_MATCH) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2296 declare_constant(JVM_ACC_HAS_MONITOR_BYTECODES) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2297 declare_constant(JVM_ACC_HAS_LOOPS) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2298 declare_constant(JVM_ACC_LOOPS_FLAG_INIT) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2299 declare_constant(JVM_ACC_QUEUED) \
6800
9191895df19d 7200001: failed C1 OSR compile doesn't get recompiled with C2
twisti
parents: 6735
diff changeset
2300 declare_constant(JVM_ACC_NOT_C2_OSR_COMPILABLE) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2301 declare_constant(JVM_ACC_HAS_LINE_NUMBER_TABLE) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2302 declare_constant(JVM_ACC_HAS_CHECKED_EXCEPTIONS) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2303 declare_constant(JVM_ACC_HAS_JSRS) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2304 declare_constant(JVM_ACC_IS_OLD) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2305 declare_constant(JVM_ACC_IS_OBSOLETE) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2306 declare_constant(JVM_ACC_IS_PREFIXED_NATIVE) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2307 declare_constant(JVM_ACC_HAS_MIRANDA_METHODS) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2308 declare_constant(JVM_ACC_HAS_VANILLA_CONSTRUCTOR) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2309 declare_constant(JVM_ACC_HAS_FINALIZER) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2310 declare_constant(JVM_ACC_IS_CLONEABLE) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2311 declare_constant(JVM_ACC_HAS_LOCAL_VARIABLE_TABLE) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2312 declare_constant(JVM_ACC_PROMOTED_FLAGS) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2313 declare_constant(JVM_ACC_FIELD_ACCESS_WATCHED) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2314 declare_constant(JVM_ACC_FIELD_MODIFICATION_WATCHED) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2315 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2316 /*****************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2317 /* Thread::SuspendFlags enum */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2318 /*****************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2319 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2320 declare_constant(Thread::_external_suspend) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2321 declare_constant(Thread::_ext_suspended) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2322 declare_constant(Thread::_has_async_exception) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2323 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2324 /*******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2325 /* JavaThreadState */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2326 /*******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2327 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2328 declare_constant(_thread_uninitialized) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2329 declare_constant(_thread_new) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2330 declare_constant(_thread_new_trans) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2331 declare_constant(_thread_in_native) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2332 declare_constant(_thread_in_native_trans) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2333 declare_constant(_thread_in_vm) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2334 declare_constant(_thread_in_vm_trans) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2335 declare_constant(_thread_in_Java) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2336 declare_constant(_thread_in_Java_trans) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2337 declare_constant(_thread_blocked) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2338 declare_constant(_thread_blocked_trans) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2339 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2340 /******************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2341 /* Klass misc. enum constants */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2342 /******************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2343 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2344 declare_constant(Klass::_primary_super_limit) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2345 declare_constant(Klass::_lh_instance_slow_path_bit) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2346 declare_constant(Klass::_lh_log2_element_size_shift) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2347 declare_constant(Klass::_lh_log2_element_size_mask) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2348 declare_constant(Klass::_lh_element_type_shift) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2349 declare_constant(Klass::_lh_element_type_mask) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2350 declare_constant(Klass::_lh_header_size_shift) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2351 declare_constant(Klass::_lh_header_size_mask) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2352 declare_constant(Klass::_lh_array_tag_shift) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2353 declare_constant(Klass::_lh_array_tag_type_value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2354 declare_constant(Klass::_lh_array_tag_obj_value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2355 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2356 /********************************/ \
8031
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
2357 /* ConstMethod anon-enum */ \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2358 /********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2359 \
8031
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
2360 declare_constant(ConstMethod::_has_linenumber_table) \
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
2361 declare_constant(ConstMethod::_has_checked_exceptions) \
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
2362 declare_constant(ConstMethod::_has_localvariable_table) \
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
2363 declare_constant(ConstMethod::_has_exception_table) \
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
2364 declare_constant(ConstMethod::_has_generic_signature) \
12939
d2db09f281ca 8005810: Update Hotspot Serviceability Agent for Method Parameter Reflection and Generic Type Signature Data
dsamersoff
parents: 12840
diff changeset
2365 declare_constant(ConstMethod::_has_method_parameters) \
8031
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
2366 declare_constant(ConstMethod::_has_method_annotations) \
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
2367 declare_constant(ConstMethod::_has_parameter_annotations) \
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
2368 declare_constant(ConstMethod::_has_default_annotations) \
927a311d00f9 8007320: NPG: move method annotations
coleenp
parents: 8016
diff changeset
2369 declare_constant(ConstMethod::_has_type_annotations) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2370 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2371 /**************/ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2372 /* DataLayout */ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2373 /**************/ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2374 \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2375 declare_constant(DataLayout::cell_size) \
13182
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2376 declare_constant(DataLayout::no_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2377 declare_constant(DataLayout::bit_data_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2378 declare_constant(DataLayout::counter_data_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2379 declare_constant(DataLayout::jump_data_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2380 declare_constant(DataLayout::receiver_type_data_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2381 declare_constant(DataLayout::virtual_call_data_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2382 declare_constant(DataLayout::ret_data_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2383 declare_constant(DataLayout::branch_data_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2384 declare_constant(DataLayout::multi_branch_data_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2385 declare_constant(DataLayout::arg_info_data_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2386 declare_constant(DataLayout::call_type_data_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2387 declare_constant(DataLayout::virtual_call_type_data_tag) \
599eaf3bc4b2 get DataLayout tags from VM
twisti
parents: 13170
diff changeset
2388 declare_constant(DataLayout::parameters_type_data_tag) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2389 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2390 /*************************************/ \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2391 /* InstanceKlass enum */ \
3938
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
2392 /*************************************/ \
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
2393 \
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
2394 \
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
2395 /*************************************/ \
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
2396 /* FieldInfo FieldOffset enum */ \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2397 /*************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2398 \
3938
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
2399 declare_constant(FieldInfo::access_flags_offset) \
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
2400 declare_constant(FieldInfo::name_index_offset) \
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
2401 declare_constant(FieldInfo::signature_index_offset) \
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
2402 declare_constant(FieldInfo::initval_index_offset) \
7587
4a916f2ce331 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 7584
diff changeset
2403 declare_constant(FieldInfo::low_packed_offset) \
4a916f2ce331 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 7584
diff changeset
2404 declare_constant(FieldInfo::high_packed_offset) \
3938
e6b1331a51d2 7086585: make Java field injection more flexible
never
parents: 3908
diff changeset
2405 declare_constant(FieldInfo::field_slots) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2406 \
7587
4a916f2ce331 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 7584
diff changeset
2407 /*************************************/ \
4a916f2ce331 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 7584
diff changeset
2408 /* FieldInfo tag constants */ \
4a916f2ce331 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 7584
diff changeset
2409 /*************************************/ \
4a916f2ce331 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 7584
diff changeset
2410 \
4a916f2ce331 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 7584
diff changeset
2411 declare_preprocessor_constant("FIELDINFO_TAG_SIZE", FIELDINFO_TAG_SIZE) \
7620
e94ed1591b42 8006403: Regression: jstack failed due to the FieldInfo regression in SA
sla
parents: 7590
diff changeset
2412 declare_preprocessor_constant("FIELDINFO_TAG_MASK", FIELDINFO_TAG_MASK) \
7587
4a916f2ce331 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 7584
diff changeset
2413 declare_preprocessor_constant("FIELDINFO_TAG_OFFSET", FIELDINFO_TAG_OFFSET) \
4a916f2ce331 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 7584
diff changeset
2414 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2415 /************************************************/ \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2416 /* InstanceKlass InnerClassAttributeOffset enum */ \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2417 /************************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2418 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2419 declare_constant(InstanceKlass::inner_class_inner_class_info_offset) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2420 declare_constant(InstanceKlass::inner_class_outer_class_info_offset) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2421 declare_constant(InstanceKlass::inner_class_inner_name_offset) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2422 declare_constant(InstanceKlass::inner_class_access_flags_offset) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2423 declare_constant(InstanceKlass::inner_class_next_offset) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2424 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2425 /*********************************/ \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2426 /* InstanceKlass ClassState enum */ \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2427 /*********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2428 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2429 declare_constant(InstanceKlass::allocated) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2430 declare_constant(InstanceKlass::loaded) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2431 declare_constant(InstanceKlass::linked) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2432 declare_constant(InstanceKlass::being_initialized) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2433 declare_constant(InstanceKlass::fully_initialized) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2434 declare_constant(InstanceKlass::initialization_error) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2435 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2436 /*********************************/ \
6266
1d7922586cf6 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 6217
diff changeset
2437 /* Symbol* - symbol max length */ \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2438 /*********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2439 \
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
2440 declare_constant(Symbol::max_symbol_length) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2441 \
1913
3b2dea75431e 6984311: JSR 292 needs optional bootstrap method parameters
jrose
parents: 1748
diff changeset
2442 /*************************************************/ \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2443 /* ConstantPool* layout enum for InvokeDynamic */ \
1913
3b2dea75431e 6984311: JSR 292 needs optional bootstrap method parameters
jrose
parents: 1748
diff changeset
2444 /*************************************************/ \
3b2dea75431e 6984311: JSR 292 needs optional bootstrap method parameters
jrose
parents: 1748
diff changeset
2445 \
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2446 declare_constant(ConstantPool::_indy_bsm_offset) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2447 declare_constant(ConstantPool::_indy_argc_offset) \
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
2448 declare_constant(ConstantPool::_indy_argv_offset) \
1913
3b2dea75431e 6984311: JSR 292 needs optional bootstrap method parameters
jrose
parents: 1748
diff changeset
2449 \
6266
1d7922586cf6 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 6217
diff changeset
2450 /********************************/ \
1d7922586cf6 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 6217
diff changeset
2451 /* ConstantPoolCacheEntry enums */ \
1d7922586cf6 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 6217
diff changeset
2452 /********************************/ \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2453 \
6266
1d7922586cf6 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 6217
diff changeset
2454 declare_constant(ConstantPoolCacheEntry::is_volatile_shift) \
1d7922586cf6 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 6217
diff changeset
2455 declare_constant(ConstantPoolCacheEntry::is_final_shift) \
1d7922586cf6 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 6217
diff changeset
2456 declare_constant(ConstantPoolCacheEntry::is_forced_virtual_shift) \
1d7922586cf6 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 6217
diff changeset
2457 declare_constant(ConstantPoolCacheEntry::is_vfinal_shift) \
1d7922586cf6 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 6217
diff changeset
2458 declare_constant(ConstantPoolCacheEntry::is_field_entry_shift) \
1d7922586cf6 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 6217
diff changeset
2459 declare_constant(ConstantPoolCacheEntry::tos_state_shift) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2460 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2461 /***************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2462 /* java_lang_Thread::ThreadStatus enum */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2463 /***************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2464 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2465 declare_constant(java_lang_Thread::NEW) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2466 declare_constant(java_lang_Thread::RUNNABLE) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2467 declare_constant(java_lang_Thread::SLEEPING) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2468 declare_constant(java_lang_Thread::IN_OBJECT_WAIT) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2469 declare_constant(java_lang_Thread::IN_OBJECT_WAIT_TIMED) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2470 declare_constant(java_lang_Thread::PARKED) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2471 declare_constant(java_lang_Thread::PARKED_TIMED) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2472 declare_constant(java_lang_Thread::BLOCKED_ON_MONITOR_ENTER) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2473 declare_constant(java_lang_Thread::TERMINATED) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2474 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2475 /******************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2476 /* Debug info */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2477 /******************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2478 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2479 declare_constant(Location::OFFSET_MASK) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2480 declare_constant(Location::OFFSET_SHIFT) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2481 declare_constant(Location::TYPE_MASK) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2482 declare_constant(Location::TYPE_SHIFT) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2483 declare_constant(Location::WHERE_MASK) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2484 declare_constant(Location::WHERE_SHIFT) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2485 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2486 /* constants from Location::Type enum */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2487 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2488 declare_constant(Location::normal) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2489 declare_constant(Location::oop) \
331
cecd8eb4e0ca 6706829: Compressed Oops: add debug info for narrow oops
kvn
parents: 304
diff changeset
2490 declare_constant(Location::narrowoop) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2491 declare_constant(Location::int_in_long) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2492 declare_constant(Location::lng) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2493 declare_constant(Location::float_in_dbl) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2494 declare_constant(Location::dbl) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2495 declare_constant(Location::addr) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2496 declare_constant(Location::invalid) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2497 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2498 /* constants from Location::Where enum */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2499 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2500 declare_constant(Location::on_stack) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2501 declare_constant(Location::in_register) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2502 \
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2503 declare_constant(Deoptimization::Reason_many) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2504 declare_constant(Deoptimization::Reason_none) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2505 declare_constant(Deoptimization::Reason_null_check) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2506 declare_constant(Deoptimization::Reason_null_assert) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2507 declare_constant(Deoptimization::Reason_range_check) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2508 declare_constant(Deoptimization::Reason_class_check) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2509 declare_constant(Deoptimization::Reason_array_check) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2510 declare_constant(Deoptimization::Reason_intrinsic) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2511 declare_constant(Deoptimization::Reason_bimorphic) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2512 declare_constant(Deoptimization::Reason_unloaded) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2513 declare_constant(Deoptimization::Reason_uninitialized) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2514 declare_constant(Deoptimization::Reason_unreached) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2515 declare_constant(Deoptimization::Reason_unhandled) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2516 declare_constant(Deoptimization::Reason_constraint) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2517 declare_constant(Deoptimization::Reason_div0_check) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2518 declare_constant(Deoptimization::Reason_age) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2519 declare_constant(Deoptimization::Reason_predicate) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2520 declare_constant(Deoptimization::Reason_loop_limit_check) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2521 declare_constant(Deoptimization::Reason_LIMIT) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2522 declare_constant(Deoptimization::Reason_RECORDED_LIMIT) \
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
2523 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2524 declare_constant(Deoptimization::Action_none) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2525 declare_constant(Deoptimization::Action_maybe_recompile) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2526 declare_constant(Deoptimization::Action_reinterpret) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2527 declare_constant(Deoptimization::Action_make_not_entrant) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2528 declare_constant(Deoptimization::Action_make_not_compilable) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2529 declare_constant(Deoptimization::Action_LIMIT) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2530 \
13098
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2531 declare_constant(Deoptimization::Unpack_deopt) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2532 declare_constant(Deoptimization::Unpack_exception) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2533 declare_constant(Deoptimization::Unpack_uncommon_trap) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2534 declare_constant(Deoptimization::Unpack_reexecute) \
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2535 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2536 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2537 /* Matcher (C2 only) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2538 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2539 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2540 declare_c2_preprocessor_constant("Matcher::interpreter_frame_pointer_reg", Matcher::interpreter_frame_pointer_reg()) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2541 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2542 /*********************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2543 /* MethodCompilation (globalDefinitions.hpp) */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2544 /*********************************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2545 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2546 declare_constant(InvocationEntryBci) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2547 declare_constant(InvalidOSREntryBci) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2548 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2549 /***************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2550 /* OopMapValue */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2551 /***************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2552 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2553 declare_constant(OopMapValue::type_bits) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2554 declare_constant(OopMapValue::register_bits) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2555 declare_constant(OopMapValue::type_shift) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2556 declare_constant(OopMapValue::register_shift) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2557 declare_constant(OopMapValue::type_mask) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2558 declare_constant(OopMapValue::type_mask_in_place) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2559 declare_constant(OopMapValue::register_mask) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2560 declare_constant(OopMapValue::register_mask_in_place) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2561 declare_constant(OopMapValue::unused_value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2562 declare_constant(OopMapValue::oop_value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2563 declare_constant(OopMapValue::value_value) \
113
ba764ed4b6f2 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 0
diff changeset
2564 declare_constant(OopMapValue::narrowoop_value) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2565 declare_constant(OopMapValue::callee_saved_value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2566 declare_constant(OopMapValue::derived_oop_value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2567 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2568 /******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2569 /* JNIHandleBlock */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2570 /******************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2571 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2572 declare_constant(JNIHandleBlock::block_size_in_oops) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2573 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2574 /**********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2575 /* ObjectSynchronizer */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2576 /**********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2577 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2578 declare_constant(ObjectSynchronizer::_BLOCKSIZE) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2579 \
3908
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2580 /**********************/ \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2581 /* PcDesc */ \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2582 /**********************/ \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2583 \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2584 declare_constant(PcDesc::PCDESC_reexecute) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2585 declare_constant(PcDesc::PCDESC_is_method_handle_invoke) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2586 declare_constant(PcDesc::PCDESC_return_oop) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2587 \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2588 /**********************/ \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2589 /* frame */ \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2590 /**********************/ \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2591 \
6926
a3e2f723f2a5 8000780: make Zero build and run with JDK8
twisti
parents: 6885
diff changeset
2592 NOT_ZERO(X86_ONLY(declare_constant(frame::entry_frame_call_wrapper_offset))) \
3908
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2593 declare_constant(frame::pc_return_offset) \
7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 3843
diff changeset
2594 \
3962
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
2595 /*************/ \
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
2596 /* vmSymbols */ \
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
2597 /*************/ \
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
2598 \
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
2599 declare_constant(vmSymbols::FIRST_SID) \
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
2600 declare_constant(vmSymbols::SID_LIMIT) \
cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 3960
diff changeset
2601 \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2602 /****************/ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2603 /* vmIntrinsics */ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2604 /****************/ \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2605 \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2606 declare_constant(vmIntrinsics::_invokeBasic) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2607 declare_constant(vmIntrinsics::_linkToVirtual) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2608 declare_constant(vmIntrinsics::_linkToStatic) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2609 declare_constant(vmIntrinsics::_linkToSpecial) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2610 declare_constant(vmIntrinsics::_linkToInterface) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2611 \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2612 /********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2613 /* Calling convention constants */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2614 /********************************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2615 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2616 declare_constant(RegisterImpl::number_of_registers) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2617 declare_constant(ConcreteRegisterImpl::number_of_registers) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2618 declare_preprocessor_constant("REG_COUNT", REG_COUNT) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2619 declare_c2_preprocessor_constant("SAVED_ON_ENTRY_REG_COUNT", SAVED_ON_ENTRY_REG_COUNT) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2620 declare_c2_preprocessor_constant("C_SAVED_ON_ENTRY_REG_COUNT", C_SAVED_ON_ENTRY_REG_COUNT)
a61af66fc99e Initial load
duke
parents:
diff changeset
2621
a61af66fc99e Initial load
duke
parents:
diff changeset
2622
a61af66fc99e Initial load
duke
parents:
diff changeset
2623 //--------------------------------------------------------------------------------
a61af66fc99e Initial load
duke
parents:
diff changeset
2624 // VM_LONG_CONSTANTS
a61af66fc99e Initial load
duke
parents:
diff changeset
2625 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2626 // This table contains long constants required over in the
a61af66fc99e Initial load
duke
parents:
diff changeset
2627 // serviceability agent. The "declare_constant" macro is used for all
a61af66fc99e Initial load
duke
parents:
diff changeset
2628 // enums, etc., while "declare_preprocessor_constant" must be used for
a61af66fc99e Initial load
duke
parents:
diff changeset
2629 // all #defined constants.
a61af66fc99e Initial load
duke
parents:
diff changeset
2630
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2631 #define VM_LONG_CONSTANTS(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2632 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2633 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2634 /* MarkOop constants */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2635 /*********************/ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2636 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2637 /* Note: some of these are declared as long constants just for */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2638 /* consistency. The mask constants are the only ones requiring */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2639 /* 64 bits (on 64-bit platforms). */ \
a61af66fc99e Initial load
duke
parents:
diff changeset
2640 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2641 declare_constant(markOopDesc::age_bits) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2642 declare_constant(markOopDesc::lock_bits) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2643 declare_constant(markOopDesc::biased_lock_bits) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2644 declare_constant(markOopDesc::max_hash_bits) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2645 declare_constant(markOopDesc::hash_bits) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2646 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2647 declare_constant(markOopDesc::lock_shift) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2648 declare_constant(markOopDesc::biased_lock_shift) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2649 declare_constant(markOopDesc::age_shift) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2650 declare_constant(markOopDesc::hash_shift) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2651 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2652 declare_constant(markOopDesc::lock_mask) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2653 declare_constant(markOopDesc::lock_mask_in_place) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2654 declare_constant(markOopDesc::biased_lock_mask) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2655 declare_constant(markOopDesc::biased_lock_mask_in_place) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2656 declare_constant(markOopDesc::biased_lock_bit_in_place) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2657 declare_constant(markOopDesc::age_mask) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2658 declare_constant(markOopDesc::age_mask_in_place) \
12258
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2659 declare_constant(markOopDesc::epoch_mask) \
69f26e8e09f9 8024760: add more types, fields and constants to VMStructs
twisti
parents: 12079
diff changeset
2660 declare_constant(markOopDesc::epoch_mask_in_place) \
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2661 declare_constant(markOopDesc::hash_mask) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2662 declare_constant(markOopDesc::hash_mask_in_place) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2663 declare_constant(markOopDesc::biased_lock_alignment) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2664 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2665 declare_constant(markOopDesc::locked_value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2666 declare_constant(markOopDesc::unlocked_value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2667 declare_constant(markOopDesc::monitor_value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2668 declare_constant(markOopDesc::marked_value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2669 declare_constant(markOopDesc::biased_lock_pattern) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2670 \
a61af66fc99e Initial load
duke
parents:
diff changeset
2671 declare_constant(markOopDesc::no_hash) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2672 declare_constant(markOopDesc::no_hash_in_place) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2673 declare_constant(markOopDesc::no_lock_in_place) \
187
790e66e5fbac 6687581: Make CMS work with compressed oops
coleenp
parents: 147
diff changeset
2674 declare_constant(markOopDesc::max_age) \
790e66e5fbac 6687581: Make CMS work with compressed oops
coleenp
parents: 147
diff changeset
2675 \
790e66e5fbac 6687581: Make CMS work with compressed oops
coleenp
parents: 147
diff changeset
2676 /* Constants in markOop used by CMS. */ \
790e66e5fbac 6687581: Make CMS work with compressed oops
coleenp
parents: 147
diff changeset
2677 declare_constant(markOopDesc::cms_shift) \
790e66e5fbac 6687581: Make CMS work with compressed oops
coleenp
parents: 147
diff changeset
2678 declare_constant(markOopDesc::cms_mask) \
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2679 declare_constant(markOopDesc::size_shift)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2680
a61af66fc99e Initial load
duke
parents:
diff changeset
2681
a61af66fc99e Initial load
duke
parents:
diff changeset
2682 //--------------------------------------------------------------------------------
a61af66fc99e Initial load
duke
parents:
diff changeset
2683 // Macros operating on the above lists
a61af66fc99e Initial load
duke
parents:
diff changeset
2684 //--------------------------------------------------------------------------------
a61af66fc99e Initial load
duke
parents:
diff changeset
2685
a61af66fc99e Initial load
duke
parents:
diff changeset
2686 // This utility macro quotes the passed string
a61af66fc99e Initial load
duke
parents:
diff changeset
2687 #define QUOTE(x) #x
a61af66fc99e Initial load
duke
parents:
diff changeset
2688
a61af66fc99e Initial load
duke
parents:
diff changeset
2689 //--------------------------------------------------------------------------------
a61af66fc99e Initial load
duke
parents:
diff changeset
2690 // VMStructEntry macros
a61af66fc99e Initial load
duke
parents:
diff changeset
2691 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2692
a61af66fc99e Initial load
duke
parents:
diff changeset
2693 // This macro generates a VMStructEntry line for a nonstatic field
a61af66fc99e Initial load
duke
parents:
diff changeset
2694 #define GENERATE_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, type) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2695 { QUOTE(typeName), QUOTE(fieldName), QUOTE(type), 0, cast_uint64_t(offset_of(typeName, fieldName)), NULL },
a61af66fc99e Initial load
duke
parents:
diff changeset
2696
a61af66fc99e Initial load
duke
parents:
diff changeset
2697 // This macro generates a VMStructEntry line for a static field
a61af66fc99e Initial load
duke
parents:
diff changeset
2698 #define GENERATE_STATIC_VM_STRUCT_ENTRY(typeName, fieldName, type) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2699 { QUOTE(typeName), QUOTE(fieldName), QUOTE(type), 1, 0, &typeName::fieldName },
a61af66fc99e Initial load
duke
parents:
diff changeset
2700
a61af66fc99e Initial load
duke
parents:
diff changeset
2701 // This macro generates a VMStructEntry line for an unchecked
a61af66fc99e Initial load
duke
parents:
diff changeset
2702 // nonstatic field, in which the size of the type is also specified.
a61af66fc99e Initial load
duke
parents:
diff changeset
2703 // The type string is given as NULL, indicating an "opaque" type.
a61af66fc99e Initial load
duke
parents:
diff changeset
2704 #define GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, size) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2705 { QUOTE(typeName), QUOTE(fieldName), NULL, 0, cast_uint64_t(offset_of(typeName, fieldName)), NULL },
a61af66fc99e Initial load
duke
parents:
diff changeset
2706
a61af66fc99e Initial load
duke
parents:
diff changeset
2707 // This macro generates a VMStructEntry line for an unchecked
a61af66fc99e Initial load
duke
parents:
diff changeset
2708 // static field, in which the size of the type is also specified.
a61af66fc99e Initial load
duke
parents:
diff changeset
2709 // The type string is given as NULL, indicating an "opaque" type.
a61af66fc99e Initial load
duke
parents:
diff changeset
2710 #define GENERATE_UNCHECKED_STATIC_VM_STRUCT_ENTRY(typeName, fieldName, size) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2711 { QUOTE(typeName), QUOTE(fieldName), NULL, 1, 0, (void*) &typeName::fieldName },
a61af66fc99e Initial load
duke
parents:
diff changeset
2712
a61af66fc99e Initial load
duke
parents:
diff changeset
2713 // This macro generates the sentinel value indicating the end of the list
a61af66fc99e Initial load
duke
parents:
diff changeset
2714 #define GENERATE_VM_STRUCT_LAST_ENTRY() \
a61af66fc99e Initial load
duke
parents:
diff changeset
2715 { NULL, NULL, NULL, 0, 0, NULL }
a61af66fc99e Initial load
duke
parents:
diff changeset
2716
a61af66fc99e Initial load
duke
parents:
diff changeset
2717 // This macro checks the type of a VMStructEntry by comparing pointer types
a61af66fc99e Initial load
duke
parents:
diff changeset
2718 #define CHECK_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, type) \
7590
fe1472c87a27 8005592: ClassLoaderDataGraph::_unloading incorrectly defined as nonstatic in vmStructs
mikael
parents: 7587
diff changeset
2719 {typeName *dummyObj = NULL; type* dummy = &dummyObj->fieldName; \
fe1472c87a27 8005592: ClassLoaderDataGraph::_unloading incorrectly defined as nonstatic in vmStructs
mikael
parents: 7587
diff changeset
2720 assert(offset_of(typeName, fieldName) < sizeof(typeName), "Illegal nonstatic struct entry, field offset too large"); }
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2721
a61af66fc99e Initial load
duke
parents:
diff changeset
2722 // This macro checks the type of a volatile VMStructEntry by comparing pointer types
a61af66fc99e Initial load
duke
parents:
diff changeset
2723 #define CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, type) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2724 {typedef type dummyvtype; typeName *dummyObj = NULL; volatile dummyvtype* dummy = &dummyObj->fieldName; }
a61af66fc99e Initial load
duke
parents:
diff changeset
2725
a61af66fc99e Initial load
duke
parents:
diff changeset
2726 // This macro checks the type of a VMStructEntry by comparing pointer types
a61af66fc99e Initial load
duke
parents:
diff changeset
2727 #define CHECK_STATIC_VM_STRUCT_ENTRY(typeName, fieldName, type) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2728 {type* dummy = &typeName::fieldName; }
a61af66fc99e Initial load
duke
parents:
diff changeset
2729
a61af66fc99e Initial load
duke
parents:
diff changeset
2730 // This macro ensures the type of a field and its containing type are
a61af66fc99e Initial load
duke
parents:
diff changeset
2731 // present in the type table. The assertion string is shorter than
a61af66fc99e Initial load
duke
parents:
diff changeset
2732 // preferable because (incredibly) of a bug in Solstice NFS client
a61af66fc99e Initial load
duke
parents:
diff changeset
2733 // which seems to prevent very long lines from compiling. This assertion
a61af66fc99e Initial load
duke
parents:
diff changeset
2734 // means that an entry in VMStructs::localHotSpotVMStructs[] was not
a61af66fc99e Initial load
duke
parents:
diff changeset
2735 // found in VMStructs::localHotSpotVMTypes[].
a61af66fc99e Initial load
duke
parents:
diff changeset
2736 #define ENSURE_FIELD_TYPE_PRESENT(typeName, fieldName, type) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2737 { assert(findType(QUOTE(typeName)) != 0, "type \"" QUOTE(typeName) "\" not found in type table"); \
a61af66fc99e Initial load
duke
parents:
diff changeset
2738 assert(findType(QUOTE(type)) != 0, "type \"" QUOTE(type) "\" not found in type table"); }
a61af66fc99e Initial load
duke
parents:
diff changeset
2739
a61af66fc99e Initial load
duke
parents:
diff changeset
2740 // This is a no-op macro for unchecked fields
a61af66fc99e Initial load
duke
parents:
diff changeset
2741 #define CHECK_NO_OP(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2742
a61af66fc99e Initial load
duke
parents:
diff changeset
2743 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2744 // Build-specific macros:
a61af66fc99e Initial load
duke
parents:
diff changeset
2745 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2746
a61af66fc99e Initial load
duke
parents:
diff changeset
2747 // Generate and check a nonstatic field in non-product builds
a61af66fc99e Initial load
duke
parents:
diff changeset
2748 #ifndef PRODUCT
a61af66fc99e Initial load
duke
parents:
diff changeset
2749 # define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2750 # define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) CHECK_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2751 # define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c) ENSURE_FIELD_TYPE_PRESENT(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2752 # define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2753 # define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) CHECK_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2754 # define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c) ENSURE_FIELD_TYPE_PRESENT(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2755 #else
a61af66fc99e Initial load
duke
parents:
diff changeset
2756 # define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2757 # define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2758 # define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2759 # define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2760 # define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2761 # define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2762 #endif /* PRODUCT */
a61af66fc99e Initial load
duke
parents:
diff changeset
2763
a61af66fc99e Initial load
duke
parents:
diff changeset
2764 // Generate and check a nonstatic field in C1 builds
a61af66fc99e Initial load
duke
parents:
diff changeset
2765 #ifdef COMPILER1
a61af66fc99e Initial load
duke
parents:
diff changeset
2766 # define GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2767 # define CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) CHECK_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2768 # define ENSURE_C1_FIELD_TYPE_PRESENT(a, b, c) ENSURE_FIELD_TYPE_PRESENT(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2769 #else
a61af66fc99e Initial load
duke
parents:
diff changeset
2770 # define GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2771 # define CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2772 # define ENSURE_C1_FIELD_TYPE_PRESENT(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2773 #endif /* COMPILER1 */
a61af66fc99e Initial load
duke
parents:
diff changeset
2774 // Generate and check a nonstatic field in C2 builds
a61af66fc99e Initial load
duke
parents:
diff changeset
2775 #ifdef COMPILER2
a61af66fc99e Initial load
duke
parents:
diff changeset
2776 # define GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2777 # define CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) CHECK_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2778 # define ENSURE_C2_FIELD_TYPE_PRESENT(a, b, c) ENSURE_FIELD_TYPE_PRESENT(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2779 #else
a61af66fc99e Initial load
duke
parents:
diff changeset
2780 # define GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2781 # define CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2782 # define ENSURE_C2_FIELD_TYPE_PRESENT(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2783 #endif /* COMPILER2 */
a61af66fc99e Initial load
duke
parents:
diff changeset
2784
a61af66fc99e Initial load
duke
parents:
diff changeset
2785 // Generate but do not check a static field in C1 builds
a61af66fc99e Initial load
duke
parents:
diff changeset
2786 #ifdef COMPILER1
a61af66fc99e Initial load
duke
parents:
diff changeset
2787 # define GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2788 #else
a61af66fc99e Initial load
duke
parents:
diff changeset
2789 # define GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2790 #endif /* COMPILER1 */
a61af66fc99e Initial load
duke
parents:
diff changeset
2791
a61af66fc99e Initial load
duke
parents:
diff changeset
2792 // Generate but do not check a static field in C2 builds
a61af66fc99e Initial load
duke
parents:
diff changeset
2793 #ifdef COMPILER2
a61af66fc99e Initial load
duke
parents:
diff changeset
2794 # define GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2795 #else
a61af66fc99e Initial load
duke
parents:
diff changeset
2796 # define GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c)
a61af66fc99e Initial load
duke
parents:
diff changeset
2797 #endif /* COMPILER2 */
a61af66fc99e Initial load
duke
parents:
diff changeset
2798
a61af66fc99e Initial load
duke
parents:
diff changeset
2799 //--------------------------------------------------------------------------------
a61af66fc99e Initial load
duke
parents:
diff changeset
2800 // VMTypeEntry macros
a61af66fc99e Initial load
duke
parents:
diff changeset
2801 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2802
a61af66fc99e Initial load
duke
parents:
diff changeset
2803 #define GENERATE_VM_TYPE_ENTRY(type, superclass) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2804 { QUOTE(type), QUOTE(superclass), 0, 0, 0, sizeof(type) },
a61af66fc99e Initial load
duke
parents:
diff changeset
2805
a61af66fc99e Initial load
duke
parents:
diff changeset
2806 #define GENERATE_TOPLEVEL_VM_TYPE_ENTRY(type) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2807 { QUOTE(type), NULL, 0, 0, 0, sizeof(type) },
a61af66fc99e Initial load
duke
parents:
diff changeset
2808
a61af66fc99e Initial load
duke
parents:
diff changeset
2809 #define GENERATE_OOP_VM_TYPE_ENTRY(type) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2810 { QUOTE(type), NULL, 1, 0, 0, sizeof(type) },
a61af66fc99e Initial load
duke
parents:
diff changeset
2811
a61af66fc99e Initial load
duke
parents:
diff changeset
2812 #define GENERATE_INTEGER_VM_TYPE_ENTRY(type) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2813 { QUOTE(type), NULL, 0, 1, 0, sizeof(type) },
a61af66fc99e Initial load
duke
parents:
diff changeset
2814
a61af66fc99e Initial load
duke
parents:
diff changeset
2815 #define GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY(type) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2816 { QUOTE(type), NULL, 0, 1, 1, sizeof(type) },
a61af66fc99e Initial load
duke
parents:
diff changeset
2817
a61af66fc99e Initial load
duke
parents:
diff changeset
2818 #define GENERATE_VM_TYPE_LAST_ENTRY() \
a61af66fc99e Initial load
duke
parents:
diff changeset
2819 { NULL, NULL, 0, 0, 0, 0 }
a61af66fc99e Initial load
duke
parents:
diff changeset
2820
a61af66fc99e Initial load
duke
parents:
diff changeset
2821 #define CHECK_VM_TYPE_ENTRY(type, superclass) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2822 { type* dummyObj = NULL; superclass* dummySuperObj = dummyObj; }
a61af66fc99e Initial load
duke
parents:
diff changeset
2823
a61af66fc99e Initial load
duke
parents:
diff changeset
2824 #define CHECK_VM_TYPE_NO_OP(a)
a61af66fc99e Initial load
duke
parents:
diff changeset
2825 #define CHECK_SINGLE_ARG_VM_TYPE_NO_OP(a)
a61af66fc99e Initial load
duke
parents:
diff changeset
2826
a61af66fc99e Initial load
duke
parents:
diff changeset
2827 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2828 // Build-specific macros:
a61af66fc99e Initial load
duke
parents:
diff changeset
2829 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2830
a61af66fc99e Initial load
duke
parents:
diff changeset
2831 #ifdef COMPILER1
a61af66fc99e Initial load
duke
parents:
diff changeset
2832 # define GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY(a) GENERATE_TOPLEVEL_VM_TYPE_ENTRY(a)
a61af66fc99e Initial load
duke
parents:
diff changeset
2833 # define CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY(a)
a61af66fc99e Initial load
duke
parents:
diff changeset
2834 #else
a61af66fc99e Initial load
duke
parents:
diff changeset
2835 # define GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY(a)
a61af66fc99e Initial load
duke
parents:
diff changeset
2836 # define CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY(a)
a61af66fc99e Initial load
duke
parents:
diff changeset
2837 #endif /* COMPILER1 */
a61af66fc99e Initial load
duke
parents:
diff changeset
2838
a61af66fc99e Initial load
duke
parents:
diff changeset
2839 #ifdef COMPILER2
a61af66fc99e Initial load
duke
parents:
diff changeset
2840 # define GENERATE_C2_VM_TYPE_ENTRY(a, b) GENERATE_VM_TYPE_ENTRY(a, b)
a61af66fc99e Initial load
duke
parents:
diff changeset
2841 # define CHECK_C2_VM_TYPE_ENTRY(a, b) CHECK_VM_TYPE_ENTRY(a, b)
a61af66fc99e Initial load
duke
parents:
diff changeset
2842 # define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a) GENERATE_TOPLEVEL_VM_TYPE_ENTRY(a)
a61af66fc99e Initial load
duke
parents:
diff changeset
2843 # define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
a61af66fc99e Initial load
duke
parents:
diff changeset
2844 #else
a61af66fc99e Initial load
duke
parents:
diff changeset
2845 # define GENERATE_C2_VM_TYPE_ENTRY(a, b)
a61af66fc99e Initial load
duke
parents:
diff changeset
2846 # define CHECK_C2_VM_TYPE_ENTRY(a, b)
a61af66fc99e Initial load
duke
parents:
diff changeset
2847 # define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
a61af66fc99e Initial load
duke
parents:
diff changeset
2848 # define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
a61af66fc99e Initial load
duke
parents:
diff changeset
2849 #endif /* COMPILER2 */
a61af66fc99e Initial load
duke
parents:
diff changeset
2850
a61af66fc99e Initial load
duke
parents:
diff changeset
2851
a61af66fc99e Initial load
duke
parents:
diff changeset
2852 //--------------------------------------------------------------------------------
a61af66fc99e Initial load
duke
parents:
diff changeset
2853 // VMIntConstantEntry macros
a61af66fc99e Initial load
duke
parents:
diff changeset
2854 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2855
a61af66fc99e Initial load
duke
parents:
diff changeset
2856 #define GENERATE_VM_INT_CONSTANT_ENTRY(name) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2857 { QUOTE(name), (int32_t) name },
a61af66fc99e Initial load
duke
parents:
diff changeset
2858
a61af66fc99e Initial load
duke
parents:
diff changeset
2859 #define GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2860 { name, (int32_t) value },
a61af66fc99e Initial load
duke
parents:
diff changeset
2861
a61af66fc99e Initial load
duke
parents:
diff changeset
2862 // This macro generates the sentinel value indicating the end of the list
a61af66fc99e Initial load
duke
parents:
diff changeset
2863 #define GENERATE_VM_INT_CONSTANT_LAST_ENTRY() \
a61af66fc99e Initial load
duke
parents:
diff changeset
2864 { NULL, 0 }
a61af66fc99e Initial load
duke
parents:
diff changeset
2865
a61af66fc99e Initial load
duke
parents:
diff changeset
2866
a61af66fc99e Initial load
duke
parents:
diff changeset
2867 // Generate an int constant for a C1 build
a61af66fc99e Initial load
duke
parents:
diff changeset
2868 #ifdef COMPILER1
a61af66fc99e Initial load
duke
parents:
diff changeset
2869 # define GENERATE_C1_VM_INT_CONSTANT_ENTRY(name) GENERATE_VM_INT_CONSTANT_ENTRY(name)
a61af66fc99e Initial load
duke
parents:
diff changeset
2870 #else
a61af66fc99e Initial load
duke
parents:
diff changeset
2871 # define GENERATE_C1_VM_INT_CONSTANT_ENTRY(name)
a61af66fc99e Initial load
duke
parents:
diff changeset
2872 #endif /* COMPILER1 */
a61af66fc99e Initial load
duke
parents:
diff changeset
2873
a61af66fc99e Initial load
duke
parents:
diff changeset
2874 // Generate an int constant for a C2 build
a61af66fc99e Initial load
duke
parents:
diff changeset
2875 #ifdef COMPILER2
a61af66fc99e Initial load
duke
parents:
diff changeset
2876 # define GENERATE_C2_VM_INT_CONSTANT_ENTRY(name) GENERATE_VM_INT_CONSTANT_ENTRY(name)
a61af66fc99e Initial load
duke
parents:
diff changeset
2877 # define GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value) GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value)
a61af66fc99e Initial load
duke
parents:
diff changeset
2878 #else
a61af66fc99e Initial load
duke
parents:
diff changeset
2879 # define GENERATE_C2_VM_INT_CONSTANT_ENTRY(name)
a61af66fc99e Initial load
duke
parents:
diff changeset
2880 # define GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value)
a61af66fc99e Initial load
duke
parents:
diff changeset
2881 #endif /* COMPILER1 */
a61af66fc99e Initial load
duke
parents:
diff changeset
2882
a61af66fc99e Initial load
duke
parents:
diff changeset
2883 //--------------------------------------------------------------------------------
a61af66fc99e Initial load
duke
parents:
diff changeset
2884 // VMLongConstantEntry macros
a61af66fc99e Initial load
duke
parents:
diff changeset
2885 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2886
a61af66fc99e Initial load
duke
parents:
diff changeset
2887 #define GENERATE_VM_LONG_CONSTANT_ENTRY(name) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2888 { QUOTE(name), cast_uint64_t(name) },
a61af66fc99e Initial load
duke
parents:
diff changeset
2889
a61af66fc99e Initial load
duke
parents:
diff changeset
2890 #define GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value) \
a61af66fc99e Initial load
duke
parents:
diff changeset
2891 { name, cast_uint64_t(value) },
a61af66fc99e Initial load
duke
parents:
diff changeset
2892
a61af66fc99e Initial load
duke
parents:
diff changeset
2893 // This macro generates the sentinel value indicating the end of the list
a61af66fc99e Initial load
duke
parents:
diff changeset
2894 #define GENERATE_VM_LONG_CONSTANT_LAST_ENTRY() \
a61af66fc99e Initial load
duke
parents:
diff changeset
2895 { NULL, 0 }
a61af66fc99e Initial load
duke
parents:
diff changeset
2896
a61af66fc99e Initial load
duke
parents:
diff changeset
2897 // Generate a long constant for a C1 build
a61af66fc99e Initial load
duke
parents:
diff changeset
2898 #ifdef COMPILER1
a61af66fc99e Initial load
duke
parents:
diff changeset
2899 # define GENERATE_C1_VM_LONG_CONSTANT_ENTRY(name) GENERATE_VM_LONG_CONSTANT_ENTRY(name)
a61af66fc99e Initial load
duke
parents:
diff changeset
2900 #else
a61af66fc99e Initial load
duke
parents:
diff changeset
2901 # define GENERATE_C1_VM_LONG_CONSTANT_ENTRY(name)
a61af66fc99e Initial load
duke
parents:
diff changeset
2902 #endif /* COMPILER1 */
a61af66fc99e Initial load
duke
parents:
diff changeset
2903
a61af66fc99e Initial load
duke
parents:
diff changeset
2904 // Generate a long constant for a C2 build
a61af66fc99e Initial load
duke
parents:
diff changeset
2905 #ifdef COMPILER2
a61af66fc99e Initial load
duke
parents:
diff changeset
2906 # define GENERATE_C2_VM_LONG_CONSTANT_ENTRY(name) GENERATE_VM_LONG_CONSTANT_ENTRY(name)
a61af66fc99e Initial load
duke
parents:
diff changeset
2907 # define GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value) GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value)
a61af66fc99e Initial load
duke
parents:
diff changeset
2908 #else
a61af66fc99e Initial load
duke
parents:
diff changeset
2909 # define GENERATE_C2_VM_LONG_CONSTANT_ENTRY(name)
a61af66fc99e Initial load
duke
parents:
diff changeset
2910 # define GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value)
a61af66fc99e Initial load
duke
parents:
diff changeset
2911 #endif /* COMPILER1 */
a61af66fc99e Initial load
duke
parents:
diff changeset
2912
a61af66fc99e Initial load
duke
parents:
diff changeset
2913 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2914 // Instantiation of VMStructEntries, VMTypeEntries and VMIntConstantEntries
a61af66fc99e Initial load
duke
parents:
diff changeset
2915 //
a61af66fc99e Initial load
duke
parents:
diff changeset
2916
a61af66fc99e Initial load
duke
parents:
diff changeset
2917 // These initializers are allowed to access private fields in classes
a61af66fc99e Initial load
duke
parents:
diff changeset
2918 // as long as class VMStructs is a friend
a61af66fc99e Initial load
duke
parents:
diff changeset
2919 VMStructEntry VMStructs::localHotSpotVMStructs[] = {
a61af66fc99e Initial load
duke
parents:
diff changeset
2920
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2921 VM_STRUCTS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2922 GENERATE_STATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2923 GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2924 GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2925 GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2926 GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2927 GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2928 GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2929 GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2930
13098
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2931 #ifdef GRAAL
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2932 VM_STRUCTS_GRAAL(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2933 GENERATE_STATIC_VM_STRUCT_ENTRY)
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2934 #endif
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2935
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
2936 #if INCLUDE_ALL_GCS
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2937 VM_STRUCTS_PARALLELGC(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2938 GENERATE_STATIC_VM_STRUCT_ENTRY)
a61af66fc99e Initial load
duke
parents:
diff changeset
2939
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2940 VM_STRUCTS_CMS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2941 GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2942 GENERATE_STATIC_VM_STRUCT_ENTRY)
3972
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
2943
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2944 VM_STRUCTS_G1(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
3972
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
2945 GENERATE_STATIC_VM_STRUCT_ENTRY)
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
2946 #endif // INCLUDE_ALL_GCS
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2947
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2948 VM_STRUCTS_CPU(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2949 GENERATE_STATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2950 GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2951 GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2952 GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2953 GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2954 GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2955 GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2956
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2957 VM_STRUCTS_OS_CPU(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2958 GENERATE_STATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2959 GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2960 GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2961 GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2962 GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2963 GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2964 GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2965
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2966 GENERATE_VM_STRUCT_LAST_ENTRY()
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2967 };
a61af66fc99e Initial load
duke
parents:
diff changeset
2968
a61af66fc99e Initial load
duke
parents:
diff changeset
2969 VMTypeEntry VMStructs::localHotSpotVMTypes[] = {
a61af66fc99e Initial load
duke
parents:
diff changeset
2970
a61af66fc99e Initial load
duke
parents:
diff changeset
2971 VM_TYPES(GENERATE_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
2972 GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
2973 GENERATE_OOP_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
2974 GENERATE_INTEGER_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
2975 GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
2976 GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
2977 GENERATE_C2_VM_TYPE_ENTRY,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
2978 GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2979
13098
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2980 #ifdef GRAAL
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2981 VM_TYPES_GRAAL(GENERATE_VM_TYPE_ENTRY,
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2982 GENERATE_TOPLEVEL_VM_TYPE_ENTRY)
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2983 #endif
d61687130412 move GRAAL_ONLY stuff from vmStructs.cpp to separate vmStructs_graal.hpp file
twisti
parents: 13086
diff changeset
2984
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
2985 #if INCLUDE_ALL_GCS
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2986 VM_TYPES_PARALLELGC(GENERATE_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
2987 GENERATE_TOPLEVEL_VM_TYPE_ENTRY)
a61af66fc99e Initial load
duke
parents:
diff changeset
2988
a61af66fc99e Initial load
duke
parents:
diff changeset
2989 VM_TYPES_CMS(GENERATE_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
2990 GENERATE_TOPLEVEL_VM_TYPE_ENTRY)
a61af66fc99e Initial load
duke
parents:
diff changeset
2991
a61af66fc99e Initial load
duke
parents:
diff changeset
2992 VM_TYPES_PARNEW(GENERATE_VM_TYPE_ENTRY)
3972
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
2993
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
2994 VM_TYPES_G1(GENERATE_VM_TYPE_ENTRY,
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
2995 GENERATE_TOPLEVEL_VM_TYPE_ENTRY)
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
2996 #endif // INCLUDE_ALL_GCS
0
a61af66fc99e Initial load
duke
parents:
diff changeset
2997
a61af66fc99e Initial load
duke
parents:
diff changeset
2998 VM_TYPES_CPU(GENERATE_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
2999 GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3000 GENERATE_OOP_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3001 GENERATE_INTEGER_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3002 GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3003 GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3004 GENERATE_C2_VM_TYPE_ENTRY,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3005 GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3006
a61af66fc99e Initial load
duke
parents:
diff changeset
3007 VM_TYPES_OS_CPU(GENERATE_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3008 GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3009 GENERATE_OOP_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3010 GENERATE_INTEGER_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3011 GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3012 GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3013 GENERATE_C2_VM_TYPE_ENTRY,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3014 GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY)
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3015
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3016 GENERATE_VM_TYPE_LAST_ENTRY()
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3017 };
a61af66fc99e Initial load
duke
parents:
diff changeset
3018
a61af66fc99e Initial load
duke
parents:
diff changeset
3019 VMIntConstantEntry VMStructs::localHotSpotVMIntConstants[] = {
a61af66fc99e Initial load
duke
parents:
diff changeset
3020
a61af66fc99e Initial load
duke
parents:
diff changeset
3021 VM_INT_CONSTANTS(GENERATE_VM_INT_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3022 GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3023 GENERATE_C1_VM_INT_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3024 GENERATE_C2_VM_INT_CONSTANT_ENTRY,
13170
f294b4ee2d47 make CodeInstallResult enum independent of the actual values in C++ code
twisti
parents: 13155
diff changeset
3025 GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
f294b4ee2d47 make CodeInstallResult enum independent of the actual values in C++ code
twisti
parents: 13155
diff changeset
3026
f294b4ee2d47 make CodeInstallResult enum independent of the actual values in C++ code
twisti
parents: 13155
diff changeset
3027 #ifdef GRAAL
f294b4ee2d47 make CodeInstallResult enum independent of the actual values in C++ code
twisti
parents: 13155
diff changeset
3028 VM_INT_CONSTANTS_GRAAL(GENERATE_VM_INT_CONSTANT_ENTRY)
f294b4ee2d47 make CodeInstallResult enum independent of the actual values in C++ code
twisti
parents: 13155
diff changeset
3029 #endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3030
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
3031 #if INCLUDE_ALL_GCS
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3032 VM_INT_CONSTANTS_CMS(GENERATE_VM_INT_CONSTANT_ENTRY)
a61af66fc99e Initial load
duke
parents:
diff changeset
3033
a61af66fc99e Initial load
duke
parents:
diff changeset
3034 VM_INT_CONSTANTS_PARNEW(GENERATE_VM_INT_CONSTANT_ENTRY)
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
3035 #endif // INCLUDE_ALL_GCS
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3036
a61af66fc99e Initial load
duke
parents:
diff changeset
3037 VM_INT_CONSTANTS_CPU(GENERATE_VM_INT_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3038 GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3039 GENERATE_C1_VM_INT_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3040 GENERATE_C2_VM_INT_CONSTANT_ENTRY,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3041 GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3042
a61af66fc99e Initial load
duke
parents:
diff changeset
3043 VM_INT_CONSTANTS_OS_CPU(GENERATE_VM_INT_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3044 GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3045 GENERATE_C1_VM_INT_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3046 GENERATE_C2_VM_INT_CONSTANT_ENTRY,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3047 GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3048
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3049 GENERATE_VM_INT_CONSTANT_LAST_ENTRY()
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3050 };
a61af66fc99e Initial load
duke
parents:
diff changeset
3051
a61af66fc99e Initial load
duke
parents:
diff changeset
3052 VMLongConstantEntry VMStructs::localHotSpotVMLongConstants[] = {
a61af66fc99e Initial load
duke
parents:
diff changeset
3053
a61af66fc99e Initial load
duke
parents:
diff changeset
3054 VM_LONG_CONSTANTS(GENERATE_VM_LONG_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3055 GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3056 GENERATE_C1_VM_LONG_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3057 GENERATE_C2_VM_LONG_CONSTANT_ENTRY,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3058 GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3059
a61af66fc99e Initial load
duke
parents:
diff changeset
3060 VM_LONG_CONSTANTS_CPU(GENERATE_VM_LONG_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3061 GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3062 GENERATE_C1_VM_LONG_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3063 GENERATE_C2_VM_LONG_CONSTANT_ENTRY,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3064 GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3065
a61af66fc99e Initial load
duke
parents:
diff changeset
3066 VM_LONG_CONSTANTS_OS_CPU(GENERATE_VM_LONG_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3067 GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3068 GENERATE_C1_VM_LONG_CONSTANT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3069 GENERATE_C2_VM_LONG_CONSTANT_ENTRY,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3070 GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY)
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3071
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3072 GENERATE_VM_LONG_CONSTANT_LAST_ENTRY()
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3073 };
a61af66fc99e Initial load
duke
parents:
diff changeset
3074
a61af66fc99e Initial load
duke
parents:
diff changeset
3075 // This is used both to check the types of referenced fields and, in
a61af66fc99e Initial load
duke
parents:
diff changeset
3076 // debug builds, to ensure that all of the field types are present.
a61af66fc99e Initial load
duke
parents:
diff changeset
3077 void
a61af66fc99e Initial load
duke
parents:
diff changeset
3078 VMStructs::init() {
a61af66fc99e Initial load
duke
parents:
diff changeset
3079 VM_STRUCTS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3080 CHECK_STATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3081 CHECK_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3082 CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3083 CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3084 CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3085 CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3086 CHECK_NO_OP,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3087 CHECK_NO_OP);
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3088
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
3089 #if INCLUDE_ALL_GCS
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3090 VM_STRUCTS_PARALLELGC(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3091 CHECK_STATIC_VM_STRUCT_ENTRY);
a61af66fc99e Initial load
duke
parents:
diff changeset
3092
a61af66fc99e Initial load
duke
parents:
diff changeset
3093 VM_STRUCTS_CMS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
187
790e66e5fbac 6687581: Make CMS work with compressed oops
coleenp
parents: 147
diff changeset
3094 CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3095 CHECK_STATIC_VM_STRUCT_ENTRY);
3972
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
3096
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
3097 VM_STRUCTS_G1(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
3098 CHECK_STATIC_VM_STRUCT_ENTRY);
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
3099 #endif // INCLUDE_ALL_GCS
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3100
a61af66fc99e Initial load
duke
parents:
diff changeset
3101 VM_STRUCTS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3102 CHECK_STATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3103 CHECK_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3104 CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3105 CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3106 CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3107 CHECK_NO_OP,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3108 CHECK_NO_OP);
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3109
a61af66fc99e Initial load
duke
parents:
diff changeset
3110 VM_STRUCTS_OS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3111 CHECK_STATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3112 CHECK_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3113 CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3114 CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3115 CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3116 CHECK_NO_OP,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3117 CHECK_NO_OP);
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3118
a61af66fc99e Initial load
duke
parents:
diff changeset
3119 VM_TYPES(CHECK_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3120 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3121 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3122 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3123 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3124 CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3125 CHECK_C2_VM_TYPE_ENTRY,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3126 CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY);
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3127
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
3128 #if INCLUDE_ALL_GCS
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3129 VM_TYPES_PARALLELGC(CHECK_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3130 CHECK_SINGLE_ARG_VM_TYPE_NO_OP);
a61af66fc99e Initial load
duke
parents:
diff changeset
3131
a61af66fc99e Initial load
duke
parents:
diff changeset
3132 VM_TYPES_CMS(CHECK_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3133 CHECK_SINGLE_ARG_VM_TYPE_NO_OP);
a61af66fc99e Initial load
duke
parents:
diff changeset
3134
a61af66fc99e Initial load
duke
parents:
diff changeset
3135 VM_TYPES_PARNEW(CHECK_VM_TYPE_ENTRY)
3972
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
3136
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
3137 VM_TYPES_G1(CHECK_VM_TYPE_ENTRY,
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
3138 CHECK_SINGLE_ARG_VM_TYPE_NO_OP);
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
3139 #endif // INCLUDE_ALL_GCS
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3140
a61af66fc99e Initial load
duke
parents:
diff changeset
3141 VM_TYPES_CPU(CHECK_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3142 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3143 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3144 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3145 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3146 CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3147 CHECK_C2_VM_TYPE_ENTRY,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3148 CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY);
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3149
a61af66fc99e Initial load
duke
parents:
diff changeset
3150 VM_TYPES_OS_CPU(CHECK_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3151 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3152 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3153 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3154 CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
a61af66fc99e Initial load
duke
parents:
diff changeset
3155 CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY,
a61af66fc99e Initial load
duke
parents:
diff changeset
3156 CHECK_C2_VM_TYPE_ENTRY,
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3157 CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY);
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3158
a61af66fc99e Initial load
duke
parents:
diff changeset
3159 //
a61af66fc99e Initial load
duke
parents:
diff changeset
3160 // Split VM_STRUCTS() invocation into two parts to allow MS VC++ 6.0
a61af66fc99e Initial load
duke
parents:
diff changeset
3161 // to build with the source mounted over SNC3.2. Symptom was that
a61af66fc99e Initial load
duke
parents:
diff changeset
3162 // debug build failed with an internal compiler error. Has been seen
a61af66fc99e Initial load
duke
parents:
diff changeset
3163 // mounting sources from Solaris 2.6 and 2.7 hosts, but so far not
a61af66fc99e Initial load
duke
parents:
diff changeset
3164 // 2.8 hosts. Appears to occur because line is too long.
a61af66fc99e Initial load
duke
parents:
diff changeset
3165 //
a61af66fc99e Initial load
duke
parents:
diff changeset
3166 // If an assertion failure is triggered here it means that an entry
a61af66fc99e Initial load
duke
parents:
diff changeset
3167 // in VMStructs::localHotSpotVMStructs[] was not found in
a61af66fc99e Initial load
duke
parents:
diff changeset
3168 // VMStructs::localHotSpotVMTypes[]. (The assertion itself had to be
a61af66fc99e Initial load
duke
parents:
diff changeset
3169 // made less descriptive because of this above bug -- see the
a61af66fc99e Initial load
duke
parents:
diff changeset
3170 // definition of ENSURE_FIELD_TYPE_PRESENT.)
a61af66fc99e Initial load
duke
parents:
diff changeset
3171 //
a61af66fc99e Initial load
duke
parents:
diff changeset
3172 // NOTE: taken out because this was just not working on everyone's
a61af66fc99e Initial load
duke
parents:
diff changeset
3173 // Solstice NFS setup. If everyone switches to local workspaces on
a61af66fc99e Initial load
duke
parents:
diff changeset
3174 // Win32, we can put this back in.
a61af66fc99e Initial load
duke
parents:
diff changeset
3175 #ifndef _WINDOWS
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3176 debug_only(VM_STRUCTS(ENSURE_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3177 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3178 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3179 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3180 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3181 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3182 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3183 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3184 CHECK_NO_OP));
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3185 debug_only(VM_STRUCTS(CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3186 ENSURE_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3187 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3188 ENSURE_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3189 ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3190 ENSURE_C1_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3191 ENSURE_C2_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3192 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3193 CHECK_NO_OP));
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
3194 #if INCLUDE_ALL_GCS
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3195 debug_only(VM_STRUCTS_PARALLELGC(ENSURE_FIELD_TYPE_PRESENT,
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3196 ENSURE_FIELD_TYPE_PRESENT));
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3197 debug_only(VM_STRUCTS_CMS(ENSURE_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3198 ENSURE_FIELD_TYPE_PRESENT,
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3199 ENSURE_FIELD_TYPE_PRESENT));
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3200 debug_only(VM_STRUCTS_G1(ENSURE_FIELD_TYPE_PRESENT,
3972
4f93f0d00802 7059019: G1: add G1 support to the SA
tonyp
parents: 3940
diff changeset
3201 ENSURE_FIELD_TYPE_PRESENT));
8001
db9981fd3124 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 7615
diff changeset
3202 #endif // INCLUDE_ALL_GCS
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3203 debug_only(VM_STRUCTS_CPU(ENSURE_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3204 ENSURE_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3205 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3206 ENSURE_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3207 ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3208 ENSURE_C2_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3209 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3210 CHECK_NO_OP));
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3211 debug_only(VM_STRUCTS_OS_CPU(ENSURE_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3212 ENSURE_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3213 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3214 ENSURE_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3215 ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3216 ENSURE_C2_FIELD_TYPE_PRESENT,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3217 CHECK_NO_OP,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3218 CHECK_NO_OP));
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3219 #endif
a61af66fc99e Initial load
duke
parents:
diff changeset
3220 }
a61af66fc99e Initial load
duke
parents:
diff changeset
3221
a61af66fc99e Initial load
duke
parents:
diff changeset
3222 extern "C" {
a61af66fc99e Initial load
duke
parents:
diff changeset
3223
a61af66fc99e Initial load
duke
parents:
diff changeset
3224 // see comments on cast_uint64_t at the top of this file
a61af66fc99e Initial load
duke
parents:
diff changeset
3225 #define ASSIGN_CONST_TO_64BIT_VAR(var, expr) \
a61af66fc99e Initial load
duke
parents:
diff changeset
3226 JNIEXPORT uint64_t var = cast_uint64_t(expr);
a61af66fc99e Initial load
duke
parents:
diff changeset
3227 #define ASSIGN_OFFSET_TO_64BIT_VAR(var, type, field) \
a61af66fc99e Initial load
duke
parents:
diff changeset
3228 ASSIGN_CONST_TO_64BIT_VAR(var, offset_of(type, field))
a61af66fc99e Initial load
duke
parents:
diff changeset
3229 #define ASSIGN_STRIDE_TO_64BIT_VAR(var, array) \
a61af66fc99e Initial load
duke
parents:
diff changeset
3230 ASSIGN_CONST_TO_64BIT_VAR(var, (char*)&array[1] - (char*)&array[0])
a61af66fc99e Initial load
duke
parents:
diff changeset
3231
a61af66fc99e Initial load
duke
parents:
diff changeset
3232 JNIEXPORT VMStructEntry* gHotSpotVMStructs = VMStructs::localHotSpotVMStructs;
a61af66fc99e Initial load
duke
parents:
diff changeset
3233 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryTypeNameOffset, VMStructEntry, typeName);
a61af66fc99e Initial load
duke
parents:
diff changeset
3234 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryFieldNameOffset, VMStructEntry, fieldName);
a61af66fc99e Initial load
duke
parents:
diff changeset
3235 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryTypeStringOffset, VMStructEntry, typeString);
a61af66fc99e Initial load
duke
parents:
diff changeset
3236 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryIsStaticOffset, VMStructEntry, isStatic);
a61af66fc99e Initial load
duke
parents:
diff changeset
3237 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryOffsetOffset, VMStructEntry, offset);
a61af66fc99e Initial load
duke
parents:
diff changeset
3238 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryAddressOffset, VMStructEntry, address);
a61af66fc99e Initial load
duke
parents:
diff changeset
3239 ASSIGN_STRIDE_TO_64BIT_VAR(gHotSpotVMStructEntryArrayStride, gHotSpotVMStructs);
a61af66fc99e Initial load
duke
parents:
diff changeset
3240 JNIEXPORT VMTypeEntry* gHotSpotVMTypes = VMStructs::localHotSpotVMTypes;
a61af66fc99e Initial load
duke
parents:
diff changeset
3241 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntryTypeNameOffset, VMTypeEntry, typeName);
a61af66fc99e Initial load
duke
parents:
diff changeset
3242 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntrySuperclassNameOffset, VMTypeEntry, superclassName);
a61af66fc99e Initial load
duke
parents:
diff changeset
3243 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntryIsOopTypeOffset, VMTypeEntry, isOopType);
a61af66fc99e Initial load
duke
parents:
diff changeset
3244 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntryIsIntegerTypeOffset, VMTypeEntry, isIntegerType);
a61af66fc99e Initial load
duke
parents:
diff changeset
3245 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntryIsUnsignedOffset, VMTypeEntry, isUnsigned);
a61af66fc99e Initial load
duke
parents:
diff changeset
3246 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntrySizeOffset, VMTypeEntry, size);
a61af66fc99e Initial load
duke
parents:
diff changeset
3247 ASSIGN_STRIDE_TO_64BIT_VAR(gHotSpotVMTypeEntryArrayStride,gHotSpotVMTypes);
a61af66fc99e Initial load
duke
parents:
diff changeset
3248 JNIEXPORT VMIntConstantEntry* gHotSpotVMIntConstants = VMStructs::localHotSpotVMIntConstants;
a61af66fc99e Initial load
duke
parents:
diff changeset
3249 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMIntConstantEntryNameOffset, VMIntConstantEntry, name);
a61af66fc99e Initial load
duke
parents:
diff changeset
3250 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMIntConstantEntryValueOffset, VMIntConstantEntry, value);
a61af66fc99e Initial load
duke
parents:
diff changeset
3251 ASSIGN_STRIDE_TO_64BIT_VAR(gHotSpotVMIntConstantEntryArrayStride, gHotSpotVMIntConstants);
a61af66fc99e Initial load
duke
parents:
diff changeset
3252 JNIEXPORT VMLongConstantEntry* gHotSpotVMLongConstants = VMStructs::localHotSpotVMLongConstants;
a61af66fc99e Initial load
duke
parents:
diff changeset
3253 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMLongConstantEntryNameOffset, VMLongConstantEntry, name);
a61af66fc99e Initial load
duke
parents:
diff changeset
3254 ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMLongConstantEntryValueOffset, VMLongConstantEntry, value);
a61af66fc99e Initial load
duke
parents:
diff changeset
3255 ASSIGN_STRIDE_TO_64BIT_VAR(gHotSpotVMLongConstantEntryArrayStride, gHotSpotVMLongConstants);
a61af66fc99e Initial load
duke
parents:
diff changeset
3256 }
a61af66fc99e Initial load
duke
parents:
diff changeset
3257
a61af66fc99e Initial load
duke
parents:
diff changeset
3258 #ifdef ASSERT
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3259 static int recursiveFindType(VMTypeEntry* origtypes, const char* typeName, bool isRecurse) {
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3260 {
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3261 VMTypeEntry* types = origtypes;
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3262 while (types->typeName != NULL) {
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
3263 if (strcmp(typeName, types->typeName) == 0) {
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
3264 // Found it
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3265 return 1;
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3266 }
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3267 ++types;
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3268 }
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3269 }
3939
f6f3bb0ee072 7088955: add C2 IR support to the SA
never
parents: 3938
diff changeset
3270 // Search for the base type by peeling off const and *
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3271 size_t len = strlen(typeName);
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3272 if (typeName[len-1] == '*') {
10271
f9be75d21404 8012902: remove use of global operator new - take 2
minqi
parents: 10202
diff changeset
3273 char * s = NEW_C_HEAP_ARRAY(char, len, mtInternal);
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3274 strncpy(s, typeName, len - 1);
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3275 s[len-1] = '\0';
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3276 // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3277 if (recursiveFindType(origtypes, s, true) == 1) {
10271
f9be75d21404 8012902: remove use of global operator new - take 2
minqi
parents: 10202
diff changeset
3278 FREE_C_HEAP_ARRAY(char, s, mtInternal);
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3279 return 1;
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3280 }
10271
f9be75d21404 8012902: remove use of global operator new - take 2
minqi
parents: 10202
diff changeset
3281 FREE_C_HEAP_ARRAY(char, s, mtInternal);
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3282 }
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
3283 const char* start = NULL;
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3284 if (strstr(typeName, "GrowableArray<") == typeName) {
6725
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
3285 start = typeName + strlen("GrowableArray<");
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
3286 } else if (strstr(typeName, "Array<") == typeName) {
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
3287 start = typeName + strlen("Array<");
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
3288 }
da91efe96a93 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 6641
diff changeset
3289 if (start != NULL) {
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3290 const char * end = strrchr(typeName, '>');
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3291 int len = end - start + 1;
10271
f9be75d21404 8012902: remove use of global operator new - take 2
minqi
parents: 10202
diff changeset
3292 char * s = NEW_C_HEAP_ARRAY(char, len, mtInternal);
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3293 strncpy(s, start, len - 1);
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3294 s[len-1] = '\0';
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3295 // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3296 if (recursiveFindType(origtypes, s, true) == 1) {
10271
f9be75d21404 8012902: remove use of global operator new - take 2
minqi
parents: 10202
diff changeset
3297 FREE_C_HEAP_ARRAY(char, s, mtInternal);
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3298 return 1;
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3299 }
10271
f9be75d21404 8012902: remove use of global operator new - take 2
minqi
parents: 10202
diff changeset
3300 FREE_C_HEAP_ARRAY(char, s, mtInternal);
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3301 }
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3302 if (strstr(typeName, "const ") == typeName) {
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3303 const char * s = typeName + strlen("const ");
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3304 // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3305 if (recursiveFindType(origtypes, s, true) == 1) {
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3306 return 1;
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3307 }
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3308 }
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3309 if (strstr(typeName, " const") == typeName + len - 6) {
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3310 char * s = strdup(typeName);
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3311 s[len - 6] = '\0';
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3312 // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3313 if (recursiveFindType(origtypes, s, true) == 1) {
7584
c1c8479222cd 8005921: Memory leaks in vmStructs.cpp
dholmes
parents: 7583
diff changeset
3314 free(s);
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3315 return 1;
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3316 }
7584
c1c8479222cd 8005921: Memory leaks in vmStructs.cpp
dholmes
parents: 7583
diff changeset
3317 free(s);
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3318 }
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3319 if (!isRecurse) {
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3320 tty->print_cr("type \"%s\" not found", typeName);
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3321 }
3940
ab577c97a5f3 7089709: type "jushort" not found
never
parents: 3939
diff changeset
3322 return 0;
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3323 }
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3324
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3325
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3326 int
a61af66fc99e Initial load
duke
parents:
diff changeset
3327 VMStructs::findType(const char* typeName) {
a61af66fc99e Initial load
duke
parents:
diff changeset
3328 VMTypeEntry* types = gHotSpotVMTypes;
a61af66fc99e Initial load
duke
parents:
diff changeset
3329
2177
3582bf76420e 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 2119
diff changeset
3330 return recursiveFindType(types, typeName, false);
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3331 }
a61af66fc99e Initial load
duke
parents:
diff changeset
3332 #endif
a61af66fc99e Initial load
duke
parents:
diff changeset
3333
a61af66fc99e Initial load
duke
parents:
diff changeset
3334 void vmStructs_init() {
a61af66fc99e Initial load
duke
parents:
diff changeset
3335 debug_only(VMStructs::init());
a61af66fc99e Initial load
duke
parents:
diff changeset
3336 }
7171
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3337
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3338 #ifndef PRODUCT
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3339 void VMStructs::test() {
7583
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3340 // Make sure last entry in the each array is indeed the correct end marker.
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3341 // The reason why these are static is to make sure they are zero initialized.
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3342 // Putting them on the stack will leave some garbage in the padding of some fields.
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3343 static VMStructEntry struct_last_entry = GENERATE_VM_STRUCT_LAST_ENTRY();
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3344 assert(memcmp(&localHotSpotVMStructs[(sizeof(localHotSpotVMStructs) / sizeof(VMStructEntry)) - 1],
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3345 &struct_last_entry,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3346 sizeof(VMStructEntry)) == 0, "Incorrect last entry in localHotSpotVMStructs");
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3347
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3348 static VMTypeEntry type_last_entry = GENERATE_VM_TYPE_LAST_ENTRY();
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3349 assert(memcmp(&localHotSpotVMTypes[sizeof(localHotSpotVMTypes) / sizeof(VMTypeEntry) - 1],
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3350 &type_last_entry,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3351 sizeof(VMTypeEntry)) == 0, "Incorrect last entry in localHotSpotVMTypes");
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3352
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3353 static VMIntConstantEntry int_last_entry = GENERATE_VM_INT_CONSTANT_LAST_ENTRY();
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3354 assert(memcmp(&localHotSpotVMIntConstants[sizeof(localHotSpotVMIntConstants) / sizeof(VMIntConstantEntry) - 1],
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3355 &int_last_entry,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3356 sizeof(VMIntConstantEntry)) == 0, "Incorrect last entry in localHotSpotVMIntConstants");
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3357
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3358 static VMLongConstantEntry long_last_entry = GENERATE_VM_LONG_CONSTANT_LAST_ENTRY();
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3359 assert(memcmp(&localHotSpotVMLongConstants[sizeof(localHotSpotVMLongConstants) / sizeof(VMLongConstantEntry) - 1],
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3360 &long_last_entry,
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3361 sizeof(VMLongConstantEntry)) == 0, "Incorrect last entry in localHotSpotVMLongConstants");
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3362
91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 7402
diff changeset
3363
7171
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3364 // Check for duplicate entries in type array
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3365 for (int i = 0; localHotSpotVMTypes[i].typeName != NULL; i++) {
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3366 for (int j = i + 1; localHotSpotVMTypes[j].typeName != NULL; j++) {
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3367 if (strcmp(localHotSpotVMTypes[i].typeName, localHotSpotVMTypes[j].typeName) == 0) {
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3368 tty->print_cr("Duplicate entries for '%s'", localHotSpotVMTypes[i].typeName);
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3369 assert(false, "Duplicate types in localHotSpotVMTypes array");
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3370 }
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3371 }
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3372 }
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3373 }
7c15faa95ce7 8003879: Duplicate definitions in vmStructs
mikael
parents: 6972
diff changeset
3374 #endif