src/hotspot/share/runtime/vmStructs.cpp
author lkorinth
Wed, 13 Nov 2019 11:37:29 +0100
changeset 59053 ba6c248cae19
parent 58901 2700c409ff10
child 59070 22ee476cc664
permissions -rw-r--r--
8232365: Implementation for JEP 363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector Reviewed-by: kbarrett, tschatzl, erikj, coleenp, dholmes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
/*
53637
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
     2
 * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     4
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
489c9b5090e2 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
489c9b5090e2 Initial load
duke
parents:
diff changeset
     7
 * published by the Free Software Foundation.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     8
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
489c9b5090e2 Initial load
duke
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
489c9b5090e2 Initial load
duke
parents:
diff changeset
    13
 * accompanied this code).
489c9b5090e2 Initial load
duke
parents:
diff changeset
    14
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    18
 *
5547
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 4637
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 4637
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 4637
diff changeset
    21
 * questions.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    22
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    25
#include "precompiled.hpp"
30764
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
    26
#include "ci/ciField.hpp"
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
    27
#include "ci/ciInstance.hpp"
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
    28
#include "ci/ciMethodData.hpp"
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
    29
#include "ci/ciObjArrayKlass.hpp"
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
    30
#include "ci/ciSymbol.hpp"
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
    31
#include "classfile/compactHashtable.hpp"
51959
db0c3952de52 8209645: Split ClassLoaderData and ClassLoaderDataGraph into separate files
coleenp
parents: 51554
diff changeset
    32
#include "classfile/classLoaderDataGraph.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    33
#include "classfile/dictionary.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    34
#include "classfile/javaClasses.hpp"
24426
0a69c8cdfca9 8038654: Separate SymbolTable and StringTable code
gziemski
parents: 24238
diff changeset
    35
#include "classfile/stringTable.hpp"
46742
24ec8a039c90 8184994: Add Dictionary size logging and jcmd
coleenp
parents: 46735
diff changeset
    36
#include "classfile/symbolTable.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    37
#include "classfile/systemDictionary.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    38
#include "code/codeBlob.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    39
#include "code/codeCache.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    40
#include "code/compressedStream.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    41
#include "code/location.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    42
#include "code/nmethod.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    43
#include "code/pcDesc.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    44
#include "code/stubs.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    45
#include "code/vmreg.hpp"
30764
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
    46
#include "compiler/compileBroker.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    47
#include "compiler/oopMap.hpp"
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
    48
#include "gc/shared/vmStructs_gc.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    49
#include "interpreter/bytecodeInterpreter.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    50
#include "interpreter/bytecodes.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    51
#include "interpreter/interpreter.hpp"
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
    52
#include "memory/allocation.hpp"
25949
34557722059b 6424123: JVM crashes on failed 'strdup' call
zgu
parents: 25715
diff changeset
    53
#include "memory/allocation.inline.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    54
#include "memory/heap.hpp"
50193
49c3e91c424f 8176808: Split up metaspace.cpp
stuefe
parents: 50113
diff changeset
    55
#include "memory/metaspace/metablock.hpp"
47634
6a0c42c40cd1 8188220: Remove Atomic::*_ptr() uses and overloads from hotspot
coleenp
parents: 47603
diff changeset
    56
#include "memory/padded.hpp"
18025
b7bcf7497f93 8005849: JEP 167: Event-Based JVM Tracing
sla
parents: 17826
diff changeset
    57
#include "memory/referenceType.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    58
#include "memory/universe.hpp"
30291
54cdc5c1a9cb 8068352: Move virtualspace.* out of src/share/vm/runtime to memory directory
coleenp
parents: 30269
diff changeset
    59
#include "memory/virtualspace.hpp"
49896
ec2dd30adbc1 8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
jgeorge
parents: 49877
diff changeset
    60
#include "memory/filemap.hpp"
46448
b5350a83520b 8153646: Move vm/utilities/array.hpp to vm/oops
hseigel
parents: 46427
diff changeset
    61
#include "oops/array.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    62
#include "oops/arrayKlass.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    63
#include "oops/arrayOop.hpp"
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
    64
#include "oops/compiledICHolder.hpp"
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
    65
#include "oops/constMethod.hpp"
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
    66
#include "oops/constantPool.hpp"
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
    67
#include "oops/cpCache.hpp"
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
    68
#include "oops/instanceClassLoaderKlass.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    69
#include "oops/instanceKlass.hpp"
8878
a6283814032c 7031614: jmap -permstat fails with java.lang.InternalError in sun.jvm.hotspot.oops.OopField.getValue
never
parents: 8737
diff changeset
    70
#include "oops/instanceMirrorKlass.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    71
#include "oops/instanceOop.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    72
#include "oops/klass.hpp"
57811
947252a54b98 8229838: Rename markOop files to markWord
stefank
parents: 57786
diff changeset
    73
#include "oops/markWord.hpp"
30764
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
    74
#include "oops/method.hpp"
17000
11bf92e571a2 8010862: The Method counter fields used for profiling can be allocated lazily.
jiangli
parents: 15928
diff changeset
    75
#include "oops/methodCounters.hpp"
30764
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
    76
#include "oops/methodData.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    77
#include "oops/objArrayKlass.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    78
#include "oops/objArrayOop.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    79
#include "oops/oop.inline.hpp"
46961
c9094b1e5f87 8186088: ConstantPoolCache::_resolved_references is not a JNIHandle
coleenp
parents: 46818
diff changeset
    80
#include "oops/oopHandle.hpp"
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
    81
#include "oops/symbol.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    82
#include "oops/typeArrayKlass.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    83
#include "oops/typeArrayOop.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    84
#include "prims/jvmtiAgentThread.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    85
#include "runtime/arguments.hpp"
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
    86
#include "runtime/deoptimization.hpp"
49902
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
    87
#include "runtime/flags/jvmFlag.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    88
#include "runtime/globals.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    89
#include "runtime/java.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    90
#include "runtime/javaCalls.hpp"
58503
726a3945e934 8170299: Debugger does not stop inside the low memory notifications code
dtitov
parents: 58019
diff changeset
    91
#include "runtime/notificationThread.hpp"
25949
34557722059b 6424123: JVM crashes on failed 'strdup' call
zgu
parents: 25715
diff changeset
    92
#include "runtime/os.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    93
#include "runtime/perfMemory.hpp"
8110
c992c8d52344 6766644: Redefinition of compiled method fails with assertion "Can not load classes with the Compiler thread"
kamg
parents: 8107
diff changeset
    94
#include "runtime/serviceThread.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    95
#include "runtime/sharedRuntime.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
    96
#include "runtime/stubRoutines.hpp"
14583
d70ee55535f4 8003935: Simplify the needed includes for using Thread::current()
stefank
parents: 14477
diff changeset
    97
#include "runtime/thread.inline.hpp"
54955
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
    98
#include "runtime/threadSMR.hpp"
30764
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
    99
#include "runtime/vframeArray.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
   100
#include "runtime/vmStructs.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
   101
#include "utilities/globalDefinitions.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
   102
#include "utilities/hashtable.hpp"
15482
470d0b0c09f1 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
jprovino
parents: 15221
diff changeset
   103
#include "utilities/macros.hpp"
25335
2557b9b45520 8046282: SA update
poonam
parents: 24934
diff changeset
   104
40010
e32d5e545789 8161258: Simplify including platform files.
goetz
parents: 39419
diff changeset
   105
#include CPU_HEADER(vmStructs)
e32d5e545789 8161258: Simplify including platform files.
goetz
parents: 39419
diff changeset
   106
#include OS_HEADER(vmStructs)
e32d5e545789 8161258: Simplify including platform files.
goetz
parents: 39419
diff changeset
   107
#include OS_CPU_HEADER(vmStructs)
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   108
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   109
#if INCLUDE_JVMCI
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   110
# include "jvmci/vmStructs_jvmci.hpp"
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   111
#endif
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   112
25335
2557b9b45520 8046282: SA update
poonam
parents: 24934
diff changeset
   113
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
   114
#ifdef COMPILER2
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   115
#include "opto/addnode.hpp"
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   116
#include "opto/block.hpp"
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   117
#include "opto/callnode.hpp"
23528
8f1a7f5e8066 8001532: C2 node files refactoring
morris
parents: 23219
diff changeset
   118
#include "opto/castnode.hpp"
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   119
#include "opto/cfgnode.hpp"
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   120
#include "opto/chaitin.hpp"
23528
8f1a7f5e8066 8001532: C2 node files refactoring
morris
parents: 23219
diff changeset
   121
#include "opto/convertnode.hpp"
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   122
#include "opto/divnode.hpp"
23528
8f1a7f5e8066 8001532: C2 node files refactoring
morris
parents: 23219
diff changeset
   123
#include "opto/intrinsicnode.hpp"
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   124
#include "opto/locknode.hpp"
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   125
#include "opto/loopnode.hpp"
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   126
#include "opto/machnode.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 7118
diff changeset
   127
#include "opto/matcher.hpp"
20289
35d78de0c547 8024924: Intrinsify java.lang.Math.addExact
rbackman
parents: 20288
diff changeset
   128
#include "opto/mathexactnode.hpp"
30764
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
   129
#include "opto/movenode.hpp"
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   130
#include "opto/mulnode.hpp"
23528
8f1a7f5e8066 8001532: C2 node files refactoring
morris
parents: 23219
diff changeset
   131
#include "opto/narrowptrnode.hpp"
8f1a7f5e8066 8001532: C2 node files refactoring
morris
parents: 23219
diff changeset
   132
#include "opto/opaquenode.hpp"
25715
d5a8dbdc5150 8049325: Introduce and clean up umbrella headers for the files in the cpu subdirectories.
goetz
parents: 25335
diff changeset
   133
#include "opto/optoreg.hpp"
30764
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30590
diff changeset
   134
#include "opto/parse.hpp"
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   135
#include "opto/phaseX.hpp"
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   136
#include "opto/regalloc.hpp"
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   137
#include "opto/rootnode.hpp"
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   138
#include "opto/subnode.hpp"
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   139
#include "opto/vectornode.hpp"
22807
1cf02ef734e2 8016586: PPC64 (part 3): basic changes for PPC64
goetz
parents: 17388
diff changeset
   140
#endif // COMPILER2
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   141
489c9b5090e2 Initial load
duke
parents:
diff changeset
   142
// Note: the cross-product of (c1, c2, product, nonproduct, ...),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   143
// (nonstatic, static), and (unchecked, checked) has not been taken.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   144
// Only the macros currently needed have been defined.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   145
489c9b5090e2 Initial load
duke
parents:
diff changeset
   146
// A field whose type is not checked is given a null string as the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   147
// type name, indicating an "opaque" type to the serviceability agent.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   148
489c9b5090e2 Initial load
duke
parents:
diff changeset
   149
// NOTE: there is an interdependency between this file and
489c9b5090e2 Initial load
duke
parents:
diff changeset
   150
// HotSpotTypeDataBase.java, which parses the type strings.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   151
489c9b5090e2 Initial load
duke
parents:
diff changeset
   152
#ifndef REG_COUNT
489c9b5090e2 Initial load
duke
parents:
diff changeset
   153
  #define REG_COUNT 0
489c9b5090e2 Initial load
duke
parents:
diff changeset
   154
#endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   155
13975
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13925
diff changeset
   156
#if INCLUDE_JVMTI
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13925
diff changeset
   157
  #define JVMTI_STRUCTS(static_field) \
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13925
diff changeset
   158
    static_field(JvmtiExport,                     _can_access_local_variables,                  bool)                                  \
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13925
diff changeset
   159
    static_field(JvmtiExport,                     _can_hotswap_or_post_breakpoint,              bool)                                  \
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13925
diff changeset
   160
    static_field(JvmtiExport,                     _can_post_on_exceptions,                      bool)                                  \
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13925
diff changeset
   161
    static_field(JvmtiExport,                     _can_walk_any_space,                          bool)
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13925
diff changeset
   162
#else
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13925
diff changeset
   163
  #define JVMTI_STRUCTS(static_field)
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13925
diff changeset
   164
#endif // INCLUDE_JVMTI
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   165
13195
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 12960
diff changeset
   166
typedef HashtableEntry<intptr_t, mtInternal>  IntptrHashtableEntry;
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 12960
diff changeset
   167
typedef Hashtable<intptr_t, mtInternal>       IntptrHashtable;
46329
53ccc37bda19 8155672: Remove instanceKlassHandles and KlassHandles
coleenp
parents: 43453
diff changeset
   168
typedef Hashtable<InstanceKlass*, mtClass>       KlassHashtable;
53ccc37bda19 8155672: Remove instanceKlassHandles and KlassHandles
coleenp
parents: 43453
diff changeset
   169
typedef HashtableEntry<InstanceKlass*, mtClass>  KlassHashtableEntry;
13195
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 12960
diff changeset
   170
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   171
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
   172
// VM_STRUCTS
489c9b5090e2 Initial load
duke
parents:
diff changeset
   173
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
   174
// This list enumerates all of the fields the serviceability agent
489c9b5090e2 Initial load
duke
parents:
diff changeset
   175
// needs to know about. Be sure to see also the type table below this one.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   176
// NOTE that there are platform-specific additions to this table in
489c9b5090e2 Initial load
duke
parents:
diff changeset
   177
// vmStructs_<os>_<cpu>.hpp.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   178
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   179
#define VM_STRUCTS(nonstatic_field,                                                                                                  \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   180
                   static_field,                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   181
                   static_ptr_volatile_field,                                                                                        \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   182
                   unchecked_nonstatic_field,                                                                                        \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   183
                   volatile_nonstatic_field,                                                                                         \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   184
                   nonproduct_nonstatic_field,                                                                                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   185
                   c1_nonstatic_field,                                                                                               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   186
                   c2_nonstatic_field,                                                                                               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   187
                   unchecked_c1_static_field,                                                                                        \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   188
                   unchecked_c2_static_field)                                                                                        \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   189
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   190
  /*************/                                                                                                                    \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   191
  /* GC fields */                                                                                                                    \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   192
  /*************/                                                                                                                    \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   193
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   194
  VM_STRUCTS_GC(nonstatic_field,                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   195
                volatile_nonstatic_field,                                                                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   196
                static_field,                                                                                                        \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   197
                unchecked_nonstatic_field)                                                                                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   198
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   199
  /******************************************************************/                                                               \
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   200
  /* OopDesc and Klass hierarchies (NOTE: MethodData* incomplete)   */                                                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   201
  /******************************************************************/                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   202
                                                                                                                                     \
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
   203
  volatile_nonstatic_field(oopDesc,            _mark,                                         markWord)                              \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   204
  volatile_nonstatic_field(oopDesc,            _metadata._klass,                              Klass*)                                \
47998
fb0275c320a0 8189871: Refactor GC barriers to use declarative semantics
eosterlund
parents: 47819
diff changeset
   205
  volatile_nonstatic_field(oopDesc,            _metadata._compressed_klass,                   narrowKlass)                           \
49752
93d84f667d12 8201318: Introduce GCThreadLocalData to abstract GC-specific data belonging to a thread
pliden
parents: 49730
diff changeset
   206
  static_field(BarrierSet,                     _barrier_set,                                  BarrierSet*)                           \
13952
e3cf184080bc 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 13893
diff changeset
   207
  nonstatic_field(ArrayKlass,                  _dimension,                                    int)                                   \
e3cf184080bc 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 13893
diff changeset
   208
  volatile_nonstatic_field(ArrayKlass,         _higher_dimension,                             Klass*)                                \
e3cf184080bc 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 13893
diff changeset
   209
  volatile_nonstatic_field(ArrayKlass,         _lower_dimension,                              Klass*)                                \
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   210
  nonstatic_field(CompiledICHolder,            _holder_metadata,                              Metadata*)                             \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   211
  nonstatic_field(CompiledICHolder,            _holder_klass,                                 Klass*)                                \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   212
  nonstatic_field(ConstantPool,                _tags,                                         Array<u1>*)                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   213
  nonstatic_field(ConstantPool,                _cache,                                        ConstantPoolCache*)                    \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   214
  nonstatic_field(ConstantPool,                _pool_holder,                                  InstanceKlass*)                        \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   215
  nonstatic_field(ConstantPool,                _operands,                                     Array<u2>*)                            \
46460
d25a320cd821 8179769: serviceability/sa/TestCpoolForInvokeDynamic.java failing after changes for JDK-8171392
iklam
parents: 46448
diff changeset
   216
  nonstatic_field(ConstantPool,                _resolved_klasses,                             Array<Klass*>*)                        \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   217
  nonstatic_field(ConstantPool,                _length,                                       int)                                   \
46961
c9094b1e5f87 8186088: ConstantPoolCache::_resolved_references is not a JNIHandle
coleenp
parents: 46818
diff changeset
   218
  nonstatic_field(ConstantPoolCache,           _resolved_references,                          OopHandle)                             \
46427
54713555867e 8171392: Move Klass pointers outside of ConstantPool entries so ConstantPool can be read-only
iklam
parents: 46419
diff changeset
   219
  nonstatic_field(ConstantPoolCache,           _reference_map,                                Array<u2>*)                            \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   220
  nonstatic_field(ConstantPoolCache,           _length,                                       int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   221
  nonstatic_field(ConstantPoolCache,           _constant_pool,                                ConstantPool*)                         \
40887
8d35e19f5548 8158854: Ensure release_store is paired with load_acquire in lock-free code
dholmes
parents: 40356
diff changeset
   222
  volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                Klass*)                                \
18687
5a0543c157c9 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful.
jiangli
parents: 18492
diff changeset
   223
  nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
20391
7b146c5ebb18 8009130: Lambda: Fix access controls, loader constraints.
acorn
parents: 20290
diff changeset
   224
  nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
51329
9c68699bebe5 8208999: Some use of Klass* should be replaced by InstanceKlass*
iklam
parents: 51179
diff changeset
   225
  nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<InstanceKlass*>*)                \
9c68699bebe5 8208999: Some use of Klass* should be replaced by InstanceKlass*
iklam
parents: 51179
diff changeset
   226
  nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<InstanceKlass*>*)                \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   227
  nonstatic_field(InstanceKlass,               _fields,                                       Array<u2>*)                            \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   228
  nonstatic_field(InstanceKlass,               _java_fields_count,                            u2)                                    \
17826
9ad5cd464a75 8003421: NPG: Move oops out of InstanceKlass into mirror
coleenp
parents: 17388
diff changeset
   229
  nonstatic_field(InstanceKlass,               _constants,                                    ConstantPool*)                         \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   230
  nonstatic_field(InstanceKlass,               _source_file_name_index,                       u2)                                    \
34666
1c7168ea0034 8140485: Class load and creation cleanup
mgronlun
parents: 34319
diff changeset
   231
  nonstatic_field(InstanceKlass,               _source_debug_extension,                       const char*)                           \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   232
  nonstatic_field(InstanceKlass,               _inner_classes,                                Array<jushort>*)                       \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   233
  nonstatic_field(InstanceKlass,               _nonstatic_field_size,                         int)                                   \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   234
  nonstatic_field(InstanceKlass,               _static_field_size,                            int)                                   \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   235
  nonstatic_field(InstanceKlass,               _static_oop_field_count,                       u2)                                    \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   236
  nonstatic_field(InstanceKlass,               _nonstatic_oop_map_size,                       int)                                   \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   237
  nonstatic_field(InstanceKlass,               _is_marked_dependent,                          bool)                                  \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   238
  nonstatic_field(InstanceKlass,               _misc_flags,                                   u2)                                    \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   239
  nonstatic_field(InstanceKlass,               _minor_version,                                u2)                                    \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   240
  nonstatic_field(InstanceKlass,               _major_version,                                u2)                                    \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   241
  nonstatic_field(InstanceKlass,               _init_state,                                   u1)                                    \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   242
  nonstatic_field(InstanceKlass,               _init_thread,                                  Thread*)                               \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   243
  nonstatic_field(InstanceKlass,               _itable_len,                                   int)                                   \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   244
  nonstatic_field(InstanceKlass,               _reference_type,                               u1)                                    \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   245
  volatile_nonstatic_field(InstanceKlass,      _oop_map_cache,                                OopMapCache*)                          \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   246
  nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   247
  nonstatic_field(InstanceKlass,               _osr_nmethods_head,                            nmethod*)                              \
38059
86ab3f0a9f87 8148195: Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported
cjplummer
parents: 38057
diff changeset
   248
  JVMTI_ONLY(nonstatic_field(InstanceKlass,    _breakpoints,                                  BreakpointInfo*))                      \
26135
82b516c550f7 8046070: Class Data Sharing clean up and refactoring
iklam
parents: 25949
diff changeset
   249
  nonstatic_field(InstanceKlass,               _generic_signature_index,                      u2)                                    \
40887
8d35e19f5548 8158854: Ensure release_store is paired with load_acquire in lock-free code
dholmes
parents: 40356
diff changeset
   250
  volatile_nonstatic_field(InstanceKlass,      _methods_jmethod_ids,                          jmethodID*)                            \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   251
  volatile_nonstatic_field(InstanceKlass,      _idnum_allocated_count,                        u2)                                    \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   252
  nonstatic_field(InstanceKlass,               _annotations,                                  Annotations*)                          \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   253
  nonstatic_field(InstanceKlass,               _method_ordering,                              Array<int>*)                           \
20391
7b146c5ebb18 8009130: Lambda: Fix access controls, loader constraints.
acorn
parents: 20290
diff changeset
   254
  nonstatic_field(InstanceKlass,               _default_vtable_indices,                       Array<int>*)                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   255
  nonstatic_field(Klass,                       _super_check_offset,                           juint)                                 \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   256
  nonstatic_field(Klass,                       _secondary_super_cache,                        Klass*)                                \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   257
  nonstatic_field(Klass,                       _secondary_supers,                             Array<Klass*>*)                        \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   258
  nonstatic_field(Klass,                       _primary_supers[0],                            Klass*)                                \
47580
96392e113a0a 8186777: Make Klass::_java_mirror an OopHandle
coleenp
parents: 47216
diff changeset
   259
  nonstatic_field(Klass,                       _java_mirror,                                  OopHandle)                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   260
  nonstatic_field(Klass,                       _modifier_flags,                               jint)                                  \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   261
  nonstatic_field(Klass,                       _super,                                        Klass*)                                \
52784
621efe32eb0b 8213209: [REDO] Allow Klass::_subklass and _next_sibling to have unloaded classes
eosterlund
parents: 52514
diff changeset
   262
  volatile_nonstatic_field(Klass,              _subklass,                                     Klass*)                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   263
  nonstatic_field(Klass,                       _layout_helper,                                jint)                                  \
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
   264
  nonstatic_field(Klass,                       _name,                                         Symbol*)                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   265
  nonstatic_field(Klass,                       _access_flags,                                 AccessFlags)                           \
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
   266
  nonstatic_field(Klass,                       _prototype_header,                             markWord)                              \
52784
621efe32eb0b 8213209: [REDO] Allow Klass::_subklass and _next_sibling to have unloaded classes
eosterlund
parents: 52514
diff changeset
   267
  volatile_nonstatic_field(Klass,              _next_sibling,                                 Klass*)                                \
42889
0b0ae99d8639 8159127: hprof heap dumps broken for lambda classdata
dsamersoff
parents: 42650
diff changeset
   268
  nonstatic_field(Klass,                       _next_link,                                    Klass*)                                \
0b0ae99d8639 8159127: hprof heap dumps broken for lambda classdata
dsamersoff
parents: 42650
diff changeset
   269
  nonstatic_field(Klass,                       _vtable_len,                                   int)                                   \
46729
c62d2e8b2728 7133093: Improve system dictionary performance
coleenp
parents: 46702
diff changeset
   270
  nonstatic_field(Klass,                       _class_loader_data,                            ClassLoaderData*)                      \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   271
  nonstatic_field(vtableEntry,                 _method,                                       Method*)                               \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   272
  nonstatic_field(MethodData,                  _size,                                         int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   273
  nonstatic_field(MethodData,                  _method,                                       Method*)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   274
  nonstatic_field(MethodData,                  _data_size,                                    int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   275
  nonstatic_field(MethodData,                  _data[0],                                      intptr_t)                              \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   276
  nonstatic_field(MethodData,                  _parameters_type_data_di,                      int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   277
  nonstatic_field(MethodData,                  _nof_decompiles,                               uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   278
  nonstatic_field(MethodData,                  _nof_overflow_recompiles,                      uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   279
  nonstatic_field(MethodData,                  _nof_overflow_traps,                           uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   280
  nonstatic_field(MethodData,                  _trap_hist._array[0],                          u1)                                    \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   281
  nonstatic_field(MethodData,                  _eflags,                                       intx)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   282
  nonstatic_field(MethodData,                  _arg_local,                                    intx)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   283
  nonstatic_field(MethodData,                  _arg_stack,                                    intx)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   284
  nonstatic_field(MethodData,                  _arg_returned,                                 intx)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   285
  nonstatic_field(MethodData,                  _tenure_traps,                                 uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   286
  nonstatic_field(MethodData,                  _invoke_mask,                                  int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   287
  nonstatic_field(MethodData,                  _backedge_mask,                                int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   288
  nonstatic_field(DataLayout,                  _header._struct._tag,                          u1)                                    \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   289
  nonstatic_field(DataLayout,                  _header._struct._flags,                        u1)                                    \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   290
  nonstatic_field(DataLayout,                  _header._struct._bci,                          u2)                                    \
50577
bf7e2684cd0a 8204240: Extend MDO to allow more reasons to be recorded per bci
roland
parents: 50525
diff changeset
   291
  nonstatic_field(DataLayout,                  _header._struct._traps,                        u4)                                    \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   292
  nonstatic_field(DataLayout,                  _cells[0],                                     intptr_t)                              \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   293
  nonstatic_field(MethodCounters,              _nmethod_age,                                  int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   294
  nonstatic_field(MethodCounters,              _interpreter_invocation_limit,                 int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   295
  nonstatic_field(MethodCounters,              _interpreter_backward_branch_limit,            int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   296
  nonstatic_field(MethodCounters,              _interpreter_profile_limit,                    int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   297
  nonstatic_field(MethodCounters,              _invoke_mask,                                  int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   298
  nonstatic_field(MethodCounters,              _backedge_mask,                                int)                                   \
37272
c427db4ea8c4 8148639: Some MethodCounter fields can be excluded when not including C2
cjplummer
parents: 36350
diff changeset
   299
  COMPILER2_OR_JVMCI_PRESENT(nonstatic_field(MethodCounters, _interpreter_invocation_count,   int))                                  \
c427db4ea8c4 8148639: Some MethodCounter fields can be excluded when not including C2
cjplummer
parents: 36350
diff changeset
   300
  COMPILER2_OR_JVMCI_PRESENT(nonstatic_field(MethodCounters, _interpreter_throwout_count,     u2))                                   \
38059
86ab3f0a9f87 8148195: Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported
cjplummer
parents: 38057
diff changeset
   301
  JVMTI_ONLY(nonstatic_field(MethodCounters,   _number_of_breakpoints,                        u2))                                   \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   302
  nonstatic_field(MethodCounters,              _invocation_counter,                           InvocationCounter)                     \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   303
  nonstatic_field(MethodCounters,              _backedge_counter,                             InvocationCounter)                     \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   304
  nonstatic_field(Method,                      _constMethod,                                  ConstMethod*)                          \
36350
29d8bb1668f5 8151130: [BACKOUT] Remove Method::_method_data for C1
thartmann
parents: 36345
diff changeset
   305
  nonstatic_field(Method,                      _method_data,                                  MethodData*)                           \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   306
  nonstatic_field(Method,                      _method_counters,                              MethodCounters*)                       \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   307
  nonstatic_field(Method,                      _access_flags,                                 AccessFlags)                           \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   308
  nonstatic_field(Method,                      _vtable_index,                                 int)                                   \
32820
ec181adbf3b1 8135085: Change Method::_intrinsic_id from u1 to u2
minqi
parents: 32623
diff changeset
   309
  nonstatic_field(Method,                      _intrinsic_id,                                 u2)                                    \
35071
a0910b1d3e0d 8046936: JEP 270: Reserved Stack Areas for Critical Sections
fparain
parents: 34666
diff changeset
   310
  nonstatic_field(Method,                      _flags,                                        u2)                                    \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   311
  nonproduct_nonstatic_field(Method,           _compiled_invocation_count,                    int)                                   \
38133
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   312
  volatile_nonstatic_field(Method,             _code,                                         CompiledMethod*)                       \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   313
  nonstatic_field(Method,                      _i2i_entry,                                    address)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   314
  volatile_nonstatic_field(Method,             _from_compiled_entry,                          address)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   315
  volatile_nonstatic_field(Method,             _from_interpreted_entry,                       address)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   316
  volatile_nonstatic_field(ConstMethod,        _fingerprint,                                  uint64_t)                              \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   317
  nonstatic_field(ConstMethod,                 _constants,                                    ConstantPool*)                         \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   318
  nonstatic_field(ConstMethod,                 _stackmap_data,                                Array<u1>*)                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   319
  nonstatic_field(ConstMethod,                 _constMethod_size,                             int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   320
  nonstatic_field(ConstMethod,                 _flags,                                        u2)                                    \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   321
  nonstatic_field(ConstMethod,                 _code_size,                                    u2)                                    \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   322
  nonstatic_field(ConstMethod,                 _name_index,                                   u2)                                    \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   323
  nonstatic_field(ConstMethod,                 _signature_index,                              u2)                                    \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   324
  nonstatic_field(ConstMethod,                 _method_idnum,                                 u2)                                    \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   325
  nonstatic_field(ConstMethod,                 _max_stack,                                    u2)                                    \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   326
  nonstatic_field(ConstMethod,                 _max_locals,                                   u2)                                    \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   327
  nonstatic_field(ConstMethod,                 _size_of_parameters,                           u2)                                    \
13952
e3cf184080bc 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 13893
diff changeset
   328
  nonstatic_field(ObjArrayKlass,               _element_klass,                                Klass*)                                \
e3cf184080bc 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 13893
diff changeset
   329
  nonstatic_field(ObjArrayKlass,               _bottom_klass,                                 Klass*)                                \
51179
516acf6956a2 8207359: Make SymbolTable increment_refcount disallow zero
coleenp
parents: 50860
diff changeset
   330
  volatile_nonstatic_field(Symbol,             _length_and_refcount,                          unsigned int)                          \
32357
43087bc6dd04 8130115: REDO - Reduce Symbol::_identity_hash to 2 bytes
minqi
parents: 31627
diff changeset
   331
  nonstatic_field(Symbol,                      _identity_hash,                                short)                                 \
51997
9ce37fa2e179 8209138: Symbol constructor uses u1 as the element type of its name argument
hseigel
parents: 51959
diff changeset
   332
  unchecked_nonstatic_field(Symbol,            _body,                                         sizeof(u1)) /* NOTE: no type */        \
9ce37fa2e179 8209138: Symbol constructor uses u1 as the element type of its name argument
hseigel
parents: 51959
diff changeset
   333
  nonstatic_field(Symbol,                      _body[0],                                      u1)                                    \
47765
b7c7428eaab9 8189610: Reconcile jvm.h and all jvm_md.h between java.base and hotspot
coleenp
parents: 47663
diff changeset
   334
  nonstatic_field(TypeArrayKlass,              _max_length,                                   jint)                                  \
53811
935d31867930 8218734: SA: Incorrect and raw loads of OopHandles
stefank
parents: 53637
diff changeset
   335
  nonstatic_field(OopHandle,                   _obj,                                          oop*)                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   336
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   337
  /***********************/                                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   338
  /* Constant Pool Cache */                                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   339
  /***********************/                                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   340
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   341
  volatile_nonstatic_field(ConstantPoolCacheEntry,      _indices,                             intx)                                  \
47634
6a0c42c40cd1 8188220: Remove Atomic::*_ptr() uses and overloads from hotspot
coleenp
parents: 47603
diff changeset
   342
  volatile_nonstatic_field(ConstantPoolCacheEntry,      _f1,                                  Metadata*)                             \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   343
  volatile_nonstatic_field(ConstantPoolCacheEntry,      _f2,                                  intx)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   344
  volatile_nonstatic_field(ConstantPoolCacheEntry,      _flags,                               intx)                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   345
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   346
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   347
  /* MethodOop-related structures */                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   348
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   349
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   350
  nonstatic_field(CheckedExceptionElement,     class_cp_index,                                u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   351
  nonstatic_field(LocalVariableTableElement,   start_bci,                                     u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   352
  nonstatic_field(LocalVariableTableElement,   length,                                        u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   353
  nonstatic_field(LocalVariableTableElement,   name_cp_index,                                 u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   354
  nonstatic_field(LocalVariableTableElement,   descriptor_cp_index,                           u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   355
  nonstatic_field(LocalVariableTableElement,   signature_cp_index,                            u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   356
  nonstatic_field(LocalVariableTableElement,   slot,                                          u2)                                    \
13282
9872915dd78d 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
jiangli
parents: 12960
diff changeset
   357
  nonstatic_field(ExceptionTableElement,       start_pc,                                      u2)                                    \
9872915dd78d 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
jiangli
parents: 12960
diff changeset
   358
  nonstatic_field(ExceptionTableElement,       end_pc,                                        u2)                                    \
9872915dd78d 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
jiangli
parents: 12960
diff changeset
   359
  nonstatic_field(ExceptionTableElement,       handler_pc,                                    u2)                                    \
9872915dd78d 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
jiangli
parents: 12960
diff changeset
   360
  nonstatic_field(ExceptionTableElement,       catch_type_index,                              u2)                                    \
38059
86ab3f0a9f87 8148195: Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported
cjplummer
parents: 38057
diff changeset
   361
  JVMTI_ONLY(nonstatic_field(BreakpointInfo,   _orig_bytecode,                                Bytecodes::Code))                      \
86ab3f0a9f87 8148195: Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported
cjplummer
parents: 38057
diff changeset
   362
  JVMTI_ONLY(nonstatic_field(BreakpointInfo,   _bci,                                          int))                                  \
86ab3f0a9f87 8148195: Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported
cjplummer
parents: 38057
diff changeset
   363
  JVMTI_ONLY(nonstatic_field(BreakpointInfo,   _name_index,                                   u2))                                   \
86ab3f0a9f87 8148195: Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported
cjplummer
parents: 38057
diff changeset
   364
  JVMTI_ONLY(nonstatic_field(BreakpointInfo,   _signature_index,                              u2))                                   \
86ab3f0a9f87 8148195: Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported
cjplummer
parents: 38057
diff changeset
   365
  JVMTI_ONLY(nonstatic_field(BreakpointInfo,   _next,                                         BreakpointInfo*))                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   366
  /***********/                                                                                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   367
  /* JNI IDs */                                                                                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   368
  /***********/                                                                                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   369
                                                                                                                                     \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   370
  nonstatic_field(JNIid,                       _holder,                                       Klass*)                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   371
  nonstatic_field(JNIid,                       _next,                                         JNIid*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   372
  nonstatic_field(JNIid,                       _offset,                                       int)                                   \
54780
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   373
                                                                                                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   374
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   375
  /* Universe */                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   376
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   377
                                                                                                                                     \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   378
     static_field(Universe,                    _mirrors[0],                                   oop)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   379
     static_field(Universe,                    _main_thread_group,                            oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   380
     static_field(Universe,                    _system_thread_group,                          oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   381
     static_field(Universe,                    _the_empty_class_klass_array,                  objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   382
     static_field(Universe,                    _null_ptr_exception_instance,                  oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   383
     static_field(Universe,                    _arithmetic_exception_instance,                oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   384
     static_field(Universe,                    _vm_exception,                                 oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   385
     static_field(Universe,                    _collectedHeap,                                CollectedHeap*)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   386
     static_field(Universe,                    _base_vtable_size,                             int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   387
     static_field(Universe,                    _bootstrapping,                                bool)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   388
     static_field(Universe,                    _fully_initialized,                            bool)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   389
     static_field(Universe,                    _verify_count,                                 int)                                   \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   390
     static_field(Universe,                    _verify_oop_mask,                              uintptr_t)                             \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   391
     static_field(Universe,                    _verify_oop_bits,                              uintptr_t)                             \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   392
     static_field(Universe,                    _non_oop_bits,                                 intptr_t)                              \
54780
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   393
                                                                                                                                     \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   394
  /******************/                                                                                                               \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   395
  /* CompressedOops */                                                                                                               \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   396
  /******************/                                                                                                               \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   397
                                                                                                                                     \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   398
     static_field(CompressedOops,              _narrow_oop._base,                             address)                               \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   399
     static_field(CompressedOops,              _narrow_oop._shift,                            int)                                   \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   400
     static_field(CompressedOops,              _narrow_oop._use_implicit_null_checks,         bool)                                  \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   401
                                                                                                                                     \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   402
  /***************************/                                                                                                      \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   403
  /* CompressedKlassPointers */                                                                                                      \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   404
  /***************************/                                                                                                      \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   405
                                                                                                                                     \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   406
     static_field(CompressedKlassPointers,     _narrow_klass._base,                           address)                               \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
   407
     static_field(CompressedKlassPointers,     _narrow_klass._shift,                          int)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   408
                                                                                                                                     \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   409
  /******/                                                                                                                           \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   410
  /* os */                                                                                                                           \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   411
  /******/                                                                                                                           \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   412
                                                                                                                                     \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   413
     static_field(os,                          _polling_page,                                 address)                               \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   414
                                                                                                                                     \
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   415
  /**********/                                                                                                                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   416
  /* Memory */                                                                                                                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
   417
  /**********/                                                                                                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   418
                                                                                                                                     \
52514
f4e3900c8d08 8213346: Re-implement shared dictionary using CompactHashtable
iklam
parents: 51997
diff changeset
   419
     static_field(MetaspaceObj,                _shared_metaspace_base,                        void*)                                 \
f4e3900c8d08 8213346: Re-implement shared dictionary using CompactHashtable
iklam
parents: 51997
diff changeset
   420
     static_field(MetaspaceObj,                _shared_metaspace_top,                         void*)                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   421
  nonstatic_field(ThreadLocalAllocBuffer,      _start,                                        HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   422
  nonstatic_field(ThreadLocalAllocBuffer,      _top,                                          HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   423
  nonstatic_field(ThreadLocalAllocBuffer,      _end,                                          HeapWord*)                             \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   424
  nonstatic_field(ThreadLocalAllocBuffer,      _pf_top,                                       HeapWord*)                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   425
  nonstatic_field(ThreadLocalAllocBuffer,      _desired_size,                                 size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   426
  nonstatic_field(ThreadLocalAllocBuffer,      _refill_waste_limit,                           size_t)                                \
38220
8d86b82e0ac7 8153340: Disallow misconfiguration and improve the consistency of allocation prefetching
zmajo
parents: 38051
diff changeset
   427
     static_field(ThreadLocalAllocBuffer,      _reserve_for_allocation_prefetch,              int)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   428
     static_field(ThreadLocalAllocBuffer,      _target_refills,                               unsigned)                              \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   429
  nonstatic_field(ThreadLocalAllocBuffer,      _number_of_refills,                            unsigned)                              \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   430
  nonstatic_field(ThreadLocalAllocBuffer,      _fast_refill_waste,                            unsigned)                              \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   431
  nonstatic_field(ThreadLocalAllocBuffer,      _slow_refill_waste,                            unsigned)                              \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   432
  nonstatic_field(ThreadLocalAllocBuffer,      _gc_waste,                                     unsigned)                              \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   433
  nonstatic_field(ThreadLocalAllocBuffer,      _slow_allocations,                             unsigned)                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   434
  nonstatic_field(VirtualSpace,                _low_boundary,                                 char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   435
  nonstatic_field(VirtualSpace,                _high_boundary,                                char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   436
  nonstatic_field(VirtualSpace,                _low,                                          char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   437
  nonstatic_field(VirtualSpace,                _high,                                         char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   438
  nonstatic_field(VirtualSpace,                _lower_high,                                   char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   439
  nonstatic_field(VirtualSpace,                _middle_high,                                  char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   440
  nonstatic_field(VirtualSpace,                _upper_high,                                   char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   441
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   442
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   443
  /* PerfMemory - jvmstat */                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   444
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   445
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   446
  nonstatic_field(PerfDataPrologue,            magic,                                         jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   447
  nonstatic_field(PerfDataPrologue,            byte_order,                                    jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   448
  nonstatic_field(PerfDataPrologue,            major_version,                                 jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   449
  nonstatic_field(PerfDataPrologue,            minor_version,                                 jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   450
  nonstatic_field(PerfDataPrologue,            accessible,                                    jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   451
  nonstatic_field(PerfDataPrologue,            used,                                          jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   452
  nonstatic_field(PerfDataPrologue,            overflow,                                      jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   453
  nonstatic_field(PerfDataPrologue,            mod_time_stamp,                                jlong)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   454
  nonstatic_field(PerfDataPrologue,            entry_offset,                                  jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   455
  nonstatic_field(PerfDataPrologue,            num_entries,                                   jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   456
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   457
  nonstatic_field(PerfDataEntry,               entry_length,                                  jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   458
  nonstatic_field(PerfDataEntry,               name_offset,                                   jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   459
  nonstatic_field(PerfDataEntry,               vector_length,                                 jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   460
  nonstatic_field(PerfDataEntry,               data_type,                                     jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   461
  nonstatic_field(PerfDataEntry,               flags,                                         jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   462
  nonstatic_field(PerfDataEntry,               data_units,                                    jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   463
  nonstatic_field(PerfDataEntry,               data_variability,                              jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   464
  nonstatic_field(PerfDataEntry,               data_offset,                                   jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   465
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   466
     static_field(PerfMemory,                  _start,                                        char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   467
     static_field(PerfMemory,                  _end,                                          char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   468
     static_field(PerfMemory,                  _top,                                          char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   469
     static_field(PerfMemory,                  _capacity,                                     size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   470
     static_field(PerfMemory,                  _prologue,                                     PerfDataPrologue*)                     \
47765
b7c7428eaab9 8189610: Reconcile jvm.h and all jvm_md.h between java.base and hotspot
coleenp
parents: 47663
diff changeset
   471
     static_field(PerfMemory,                  _initialized,                                  int)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   472
                                                                                                                                     \
28822
fa57694ade05 8071962: The SA code needs to be updated to support Symbol lookup from the shared archive.
jiangli
parents: 28652
diff changeset
   473
  /********************/                                                                                                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   474
  /* SystemDictionary */                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   475
  /********************/                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   476
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   477
     static_field(SystemDictionary,            _system_loader_lock_obj,                       oop)                                   \
33602
16053580a684 8139163: InstanceKlass::cast passes through NULL
coleenp
parents: 33595
diff changeset
   478
     static_field(SystemDictionary,            WK_KLASS(Object_klass),                        InstanceKlass*)                        \
16053580a684 8139163: InstanceKlass::cast passes through NULL
coleenp
parents: 33595
diff changeset
   479
     static_field(SystemDictionary,            WK_KLASS(String_klass),                        InstanceKlass*)                        \
16053580a684 8139163: InstanceKlass::cast passes through NULL
coleenp
parents: 33595
diff changeset
   480
     static_field(SystemDictionary,            WK_KLASS(Class_klass),                         InstanceKlass*)                        \
16053580a684 8139163: InstanceKlass::cast passes through NULL
coleenp
parents: 33595
diff changeset
   481
     static_field(SystemDictionary,            WK_KLASS(ClassLoader_klass),                   InstanceKlass*)                        \
16053580a684 8139163: InstanceKlass::cast passes through NULL
coleenp
parents: 33595
diff changeset
   482
     static_field(SystemDictionary,            WK_KLASS(System_klass),                        InstanceKlass*)                        \
16053580a684 8139163: InstanceKlass::cast passes through NULL
coleenp
parents: 33595
diff changeset
   483
     static_field(SystemDictionary,            WK_KLASS(Thread_klass),                        InstanceKlass*)                        \
16053580a684 8139163: InstanceKlass::cast passes through NULL
coleenp
parents: 33595
diff changeset
   484
     static_field(SystemDictionary,            WK_KLASS(ThreadGroup_klass),                   InstanceKlass*)                        \
16053580a684 8139163: InstanceKlass::cast passes through NULL
coleenp
parents: 33595
diff changeset
   485
     static_field(SystemDictionary,            WK_KLASS(MethodHandle_klass),                  InstanceKlass*)                        \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   486
     static_field(SystemDictionary,            _java_system_loader,                           oop)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   487
                                                                                                                                     \
10567
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
   488
  /*************/                                                                                                                    \
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
   489
  /* vmSymbols */                                                                                                                    \
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
   490
  /*************/                                                                                                                    \
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
   491
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   492
     static_field(vmSymbols,                   _symbols[0],                                   Symbol*)                               \
10567
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
   493
                                                                                                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   494
  /*******************/                                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   495
  /* HashtableBucket */                                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   496
  /*******************/                                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   497
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   498
  nonstatic_field(HashtableBucket<mtInternal>, _entry,                                        BasicHashtableEntry<mtInternal>*)      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   499
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   500
  /******************/                                                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   501
  /* HashtableEntry */                                                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   502
  /******************/                                                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   503
                                                                                                                                     \
13195
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 12960
diff changeset
   504
  nonstatic_field(BasicHashtableEntry<mtInternal>, _next,                                     BasicHashtableEntry<mtInternal>*)      \
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 12960
diff changeset
   505
  nonstatic_field(BasicHashtableEntry<mtInternal>, _hash,                                     unsigned int)                          \
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 12960
diff changeset
   506
  nonstatic_field(IntptrHashtableEntry,            _literal,                                  intptr_t)                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   507
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   508
  /*************/                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   509
  /* Hashtable */                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   510
  /*************/                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   511
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   512
  nonstatic_field(BasicHashtable<mtInternal>,  _table_size,                                   int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   513
  nonstatic_field(BasicHashtable<mtInternal>,  _buckets,                                      HashtableBucket<mtInternal>*)          \
45114
45644c5f6b8e 8180048: Interned string and symbol table leak memory during parallel unlinking
tschatzl
parents: 43453
diff changeset
   514
  volatile_nonstatic_field(BasicHashtable<mtInternal>,  _free_list,                           BasicHashtableEntry<mtInternal>*)      \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   515
  nonstatic_field(BasicHashtable<mtInternal>,  _first_free_entry,                             char*)                                 \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   516
  nonstatic_field(BasicHashtable<mtInternal>,  _end_block,                                    char*)                                 \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   517
  nonstatic_field(BasicHashtable<mtInternal>,  _entry_size,                                   int)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   518
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   519
  /*******************/                                                                                                              \
46729
c62d2e8b2728 7133093: Improve system dictionary performance
coleenp
parents: 46702
diff changeset
   520
  /* ClassLoaderData */                                                                                                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   521
  /*******************/                                                                                                              \
49824
e242740a92b8 8201556: Disallow reading oops in ClassLoaderData if unloading
coleenp
parents: 49752
diff changeset
   522
  nonstatic_field(ClassLoaderData,             _class_loader,                                 OopHandle)                             \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   523
  nonstatic_field(ClassLoaderData,             _next,                                         ClassLoaderData*)                      \
42889
0b0ae99d8639 8159127: hprof heap dumps broken for lambda classdata
dsamersoff
parents: 42650
diff changeset
   524
  volatile_nonstatic_field(ClassLoaderData,    _klasses,                                      Klass*)                                \
51444
3e5d28e6de32 8209301: JVM rename is_anonymous, host_klass to unsafe specific terminology ahead of Unsafe.defineAnonymousClass deprecation
lfoltan
parents: 51405
diff changeset
   525
  nonstatic_field(ClassLoaderData,             _is_unsafe_anonymous,                          bool)                                  \
46729
c62d2e8b2728 7133093: Improve system dictionary performance
coleenp
parents: 46702
diff changeset
   526
  volatile_nonstatic_field(ClassLoaderData,    _dictionary,                                   Dictionary*)                           \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   527
                                                                                                                                     \
55268
c5fe45d1281d 8224151: Test vmTestbase/nsk/sysdict/vm/stress/chain/chain007/chain007.java might hang with release binaries
coleenp
parents: 55105
diff changeset
   528
  static_ptr_volatile_field(ClassLoaderDataGraph, _head,                                      ClassLoaderData*)                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   529
                                                                                                                                     \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   530
  /**********/                                                                                                                       \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   531
  /* Arrays */                                                                                                                       \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   532
  /**********/                                                                                                                       \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   533
                                                                                                                                     \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   534
  nonstatic_field(Array<Klass*>,               _length,                                       int)                                   \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   535
  nonstatic_field(Array<Klass*>,               _data[0],                                      Klass*)                                \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   536
                                                                                                                                     \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   537
  /*******************/                                                                                                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   538
  /* GrowableArrays  */                                                                                                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   539
  /*******************/                                                                                                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   540
                                                                                                                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   541
  nonstatic_field(GenericGrowableArray,        _len,                                          int)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   542
  nonstatic_field(GenericGrowableArray,        _max,                                          int)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   543
  nonstatic_field(GenericGrowableArray,        _arena,                                        Arena*)                                \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   544
  nonstatic_field(GrowableArray<int>,          _data,                                         int*)                                  \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   545
                                                                                                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   546
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   547
  /* CodeCache (NOTE: incomplete) */                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   548
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   549
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   550
     static_field(CodeCache,                   _heaps,                                        GrowableArray<CodeHeap*>*)             \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   551
     static_field(CodeCache,                   _low_bound,                                    address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   552
     static_field(CodeCache,                   _high_bound,                                   address)                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   553
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   554
  /*******************************/                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   555
  /* CodeHeap (NOTE: incomplete) */                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   556
  /*******************************/                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   557
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   558
  nonstatic_field(CodeHeap,                    _memory,                                       VirtualSpace)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   559
  nonstatic_field(CodeHeap,                    _segmap,                                       VirtualSpace)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   560
  nonstatic_field(CodeHeap,                    _log2_segment_size,                            int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   561
  nonstatic_field(HeapBlock,                   _header,                                       HeapBlock::Header)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   562
  nonstatic_field(HeapBlock::Header,           _length,                                       size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   563
  nonstatic_field(HeapBlock::Header,           _used,                                         bool)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   564
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   565
  /**********************************/                                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   566
  /* Interpreter (NOTE: incomplete) */                                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   567
  /**********************************/                                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   568
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   569
     static_field(AbstractInterpreter,         _code,                                         StubQueue*)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   570
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   571
  /****************************/                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   572
  /* Stubs (NOTE: incomplete) */                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   573
  /****************************/                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   574
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   575
  nonstatic_field(StubQueue,                   _stub_buffer,                                  address)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   576
  nonstatic_field(StubQueue,                   _buffer_limit,                                 int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   577
  nonstatic_field(StubQueue,                   _queue_begin,                                  int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   578
  nonstatic_field(StubQueue,                   _queue_end,                                    int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   579
  nonstatic_field(StubQueue,                   _number_of_stubs,                              int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   580
  nonstatic_field(InterpreterCodelet,          _size,                                         int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   581
  nonstatic_field(InterpreterCodelet,          _description,                                  const char*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   582
  nonstatic_field(InterpreterCodelet,          _bytecode,                                     Bytecodes::Code)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   583
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   584
  /***********************************/                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   585
  /* StubRoutines (NOTE: incomplete) */                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   586
  /***********************************/                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   587
                                                                                                                                     \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   588
     static_field(StubRoutines,                _verify_oop_count,                             jint)                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   589
     static_field(StubRoutines,                _call_stub_return_address,                     address)                               \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   590
     static_field(StubRoutines,                _aescrypt_encryptBlock,                        address)                               \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   591
     static_field(StubRoutines,                _aescrypt_decryptBlock,                        address)                               \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   592
     static_field(StubRoutines,                _cipherBlockChaining_encryptAESCrypt,          address)                               \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   593
     static_field(StubRoutines,                _cipherBlockChaining_decryptAESCrypt,          address)                               \
57786
948ac3112da8 8225625: AES Electronic Codebook (ECB) encryption and decryption optimization using AVX512 + VAES instructions
srukmannagar
parents: 57777
diff changeset
   594
     static_field(StubRoutines,                _electronicCodeBook_encryptAESCrypt,           address)                               \
948ac3112da8 8225625: AES Electronic Codebook (ECB) encryption and decryption optimization using AVX512 + VAES instructions
srukmannagar
parents: 57777
diff changeset
   595
     static_field(StubRoutines,                _electronicCodeBook_decryptAESCrypt,           address)                               \
35154
a9b3c1984a01 8143925: Enhancing CounterMode.crypt() for AES
kvn
parents: 35148
diff changeset
   596
     static_field(StubRoutines,                _counterMode_AESCrypt,                         address)                               \
31404
63e8fcd70bfc 8073108: Use x86 and SPARC CPU instructions for GHASH acceleration
ascarpino
parents: 31129
diff changeset
   597
     static_field(StubRoutines,                _ghash_processBlocks,                          address)                               \
50860
480a96a43b62 8205528: Base64 encoding algorithm using AVX512 instructions
kvn
parents: 50625
diff changeset
   598
     static_field(StubRoutines,                _base64_encodeBlock,                           address)                               \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   599
     static_field(StubRoutines,                _updateBytesCRC32,                             address)                               \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   600
     static_field(StubRoutines,                _crc_table_adr,                                address)                               \
33066
d98eab8215c4 8134553: CRC32C implementations for x86/x64 targets
kvn
parents: 33063
diff changeset
   601
     static_field(StubRoutines,                _crc32c_table_addr,                            address)                               \
31515
6aed85dadbe6 8073583: C2 support for CRC32C on SPARC
kvn
parents: 31412
diff changeset
   602
     static_field(StubRoutines,                _updateBytesCRC32C,                            address)                               \
26434
09ad55e5f486 8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method
kvn
parents: 26135
diff changeset
   603
     static_field(StubRoutines,                _multiplyToLen,                                address)                               \
31129
02ee7609f0e1 8081778: Use Intel x64 CPU instructions for RSA acceleration
kvn
parents: 31046
diff changeset
   604
     static_field(StubRoutines,                _squareToLen,                                  address)                               \
02ee7609f0e1 8081778: Use Intel x64 CPU instructions for RSA acceleration
kvn
parents: 31046
diff changeset
   605
     static_field(StubRoutines,                _mulAdd,                                       address)                               \
33089
f4e956ed8b43 8132207: update for x86 exp in the math lib
iveresov
parents: 33083
diff changeset
   606
     static_field(StubRoutines,                _dexp,                                         address)                               \
33465
6063f28a6efb 8139575: Update for x86 log in the math lib
iveresov
parents: 33160
diff changeset
   607
     static_field(StubRoutines,                _dlog,                                         address)                               \
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents: 38017
diff changeset
   608
     static_field(StubRoutines,                _dlog10,                                       address)                               \
35146
9ebfec283f56 8145688: Update for x86 pow in the math lib
kvn
parents: 35135
diff changeset
   609
     static_field(StubRoutines,                _dpow,                                         address)                               \
35540
e001ad24dcdb 8143353: update for x86 sin and cos in the math lib
vdeshpande
parents: 35154
diff changeset
   610
     static_field(StubRoutines,                _dsin,                                         address)                               \
e001ad24dcdb 8143353: update for x86 sin and cos in the math lib
vdeshpande
parents: 35154
diff changeset
   611
     static_field(StubRoutines,                _dcos,                                         address)                               \
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents: 38017
diff changeset
   612
     static_field(StubRoutines,                _dtan,                                         address)                               \
35110
f19bcdf40799 8143355: Update for addition of vectorizedMismatch intrinsic for x86
kvn
parents: 34319
diff changeset
   613
     static_field(StubRoutines,                _vectorizedMismatch,                           address)                               \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   614
     static_field(StubRoutines,                _jbyte_arraycopy,                              address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   615
     static_field(StubRoutines,                _jshort_arraycopy,                             address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   616
     static_field(StubRoutines,                _jint_arraycopy,                               address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   617
     static_field(StubRoutines,                _jlong_arraycopy,                              address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   618
     static_field(StubRoutines,                _oop_arraycopy,                                address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   619
     static_field(StubRoutines,                _oop_arraycopy_uninit,                         address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   620
     static_field(StubRoutines,                _jbyte_disjoint_arraycopy,                     address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   621
     static_field(StubRoutines,                _jshort_disjoint_arraycopy,                    address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   622
     static_field(StubRoutines,                _jint_disjoint_arraycopy,                      address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   623
     static_field(StubRoutines,                _jlong_disjoint_arraycopy,                     address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   624
     static_field(StubRoutines,                _oop_disjoint_arraycopy,                       address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   625
     static_field(StubRoutines,                _oop_disjoint_arraycopy_uninit,                address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   626
     static_field(StubRoutines,                _arrayof_jbyte_arraycopy,                      address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   627
     static_field(StubRoutines,                _arrayof_jshort_arraycopy,                     address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   628
     static_field(StubRoutines,                _arrayof_jint_arraycopy,                       address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   629
     static_field(StubRoutines,                _arrayof_jlong_arraycopy,                      address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   630
     static_field(StubRoutines,                _arrayof_oop_arraycopy,                        address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   631
     static_field(StubRoutines,                _arrayof_oop_arraycopy_uninit,                 address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   632
     static_field(StubRoutines,                _arrayof_jbyte_disjoint_arraycopy,             address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   633
     static_field(StubRoutines,                _arrayof_jshort_disjoint_arraycopy,            address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   634
     static_field(StubRoutines,                _arrayof_jint_disjoint_arraycopy,              address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   635
     static_field(StubRoutines,                _arrayof_jlong_disjoint_arraycopy,             address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   636
     static_field(StubRoutines,                _arrayof_oop_disjoint_arraycopy,               address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   637
     static_field(StubRoutines,                _arrayof_oop_disjoint_arraycopy_uninit,        address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   638
     static_field(StubRoutines,                _checkcast_arraycopy,                          address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   639
     static_field(StubRoutines,                _checkcast_arraycopy_uninit,                   address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   640
     static_field(StubRoutines,                _unsafe_arraycopy,                             address)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   641
     static_field(StubRoutines,                _generic_arraycopy,                            address)                               \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   642
                                                                                                                                     \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   643
  /*****************/                                                                                                                \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   644
  /* SharedRuntime */                                                                                                                \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   645
  /*****************/                                                                                                                \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   646
                                                                                                                                     \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   647
     static_field(SharedRuntime,               _wrong_method_blob,                            RuntimeStub*)                          \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   648
     static_field(SharedRuntime,               _ic_miss_blob,                                 RuntimeStub*)                          \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   649
     static_field(SharedRuntime,               _deopt_blob,                                   DeoptimizationBlob*)                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   650
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   651
  /***************************************/                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   652
  /* PcDesc and other compiled code info */                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   653
  /***************************************/                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   654
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   655
  nonstatic_field(PcDesc,                      _pc_offset,                                    int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   656
  nonstatic_field(PcDesc,                      _scope_decode_offset,                          int)                                   \
4095
6e0acfda1d47 6892186: SA does not dump debug info for scalar replaced objects
kvn
parents: 3912
diff changeset
   657
  nonstatic_field(PcDesc,                      _obj_decode_offset,                            int)                                   \
10517
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
   658
  nonstatic_field(PcDesc,                      _flags,                                        int)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   659
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   660
  /***************************************************/                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   661
  /* CodeBlobs (NOTE: incomplete, but only a little) */                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   662
  /***************************************************/                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   663
                                                                                                                                     \
38133
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   664
  nonstatic_field(CodeBlob,                 _name,                                   const char*)                                    \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   665
  nonstatic_field(CodeBlob,                 _size,                                   int)                                            \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   666
  nonstatic_field(CodeBlob,                 _header_size,                            int)                                            \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   667
  nonstatic_field(CodeBlob,                 _frame_complete_offset,                  int)                                            \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   668
  nonstatic_field(CodeBlob,                 _data_offset,                            int)                                            \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   669
  nonstatic_field(CodeBlob,                 _frame_size,                             int)                                            \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   670
  nonstatic_field(CodeBlob,                 _oop_maps,                               ImmutableOopMapSet*)                            \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   671
  nonstatic_field(CodeBlob,                 _code_begin,                             address)                                        \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   672
  nonstatic_field(CodeBlob,                 _code_end,                               address)                                        \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   673
  nonstatic_field(CodeBlob,                 _content_begin,                          address)                                        \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   674
  nonstatic_field(CodeBlob,                 _data_end,                               address)                                        \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   675
                                                                                                                                     \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   676
  nonstatic_field(DeoptimizationBlob,          _unpack_offset,                                int)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   677
                                                                                                                                     \
10517
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
   678
  nonstatic_field(RuntimeStub,                 _caller_must_gc_arguments,                     bool)                                  \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
   679
                                                                                                                                     \
38133
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   680
  /********************************************************/                                                                         \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   681
  /* CompiledMethod (NOTE: incomplete, but only a little) */                                                                         \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   682
  /********************************************************/                                                                         \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   683
                                                                                                                                     \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   684
  nonstatic_field(CompiledMethod,                     _method,                                       Method*)                        \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   685
  volatile_nonstatic_field(CompiledMethod,            _exception_cache,                              ExceptionCache*)                \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   686
  nonstatic_field(CompiledMethod,                     _scopes_data_begin,                            address)                        \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   687
  nonstatic_field(CompiledMethod,                     _deopt_handler_begin,                          address)                        \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   688
  nonstatic_field(CompiledMethod,                     _deopt_mh_handler_begin,                       address)                        \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
   689
                                                                                                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   690
  /**************************************************/                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   691
  /* NMethods (NOTE: incomplete, but only a little) */                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   692
  /**************************************************/                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   693
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   694
  nonstatic_field(nmethod,                     _entry_bci,                                    int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   695
  nonstatic_field(nmethod,                     _osr_link,                                     nmethod*)                              \
49902
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
   696
  nonstatic_field(nmethod,                     _state,                                        volatile signed char)                  \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   697
  nonstatic_field(nmethod,                     _exception_offset,                             int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   698
  nonstatic_field(nmethod,                     _orig_pc_offset,                               int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   699
  nonstatic_field(nmethod,                     _stub_offset,                                  int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   700
  nonstatic_field(nmethod,                     _consts_offset,                                int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   701
  nonstatic_field(nmethod,                     _oops_offset,                                  int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   702
  nonstatic_field(nmethod,                     _metadata_offset,                              int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   703
  nonstatic_field(nmethod,                     _scopes_pcs_offset,                            int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   704
  nonstatic_field(nmethod,                     _dependencies_offset,                          int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   705
  nonstatic_field(nmethod,                     _handler_table_offset,                         int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   706
  nonstatic_field(nmethod,                     _nul_chk_table_offset,                         int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   707
  nonstatic_field(nmethod,                     _nmethod_end_offset,                           int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   708
  nonstatic_field(nmethod,                     _entry_point,                                  address)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   709
  nonstatic_field(nmethod,                     _verified_entry_point,                         address)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   710
  nonstatic_field(nmethod,                     _osr_entry_point,                              address)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   711
  volatile_nonstatic_field(nmethod,            _lock_count,                                   jint)                                  \
47099
49f5fa3fc2ae 8186837: Memory ordering nmethod, _state and _stack_traversal_mark
rehn
parents: 46961
diff changeset
   712
  volatile_nonstatic_field(nmethod,            _stack_traversal_mark,                         long)                                  \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   713
  nonstatic_field(nmethod,                     _compile_id,                                   int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   714
  nonstatic_field(nmethod,                     _comp_level,                                   int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   715
                                                                                                                                     \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   716
  unchecked_c2_static_field(Deoptimization,    _trap_reason_name,                             void*)                                 \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   717
                                                                                                                                     \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   718
  nonstatic_field(Deoptimization::UnrollBlock, _size_of_deoptimized_frame,                    int)                                   \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   719
  nonstatic_field(Deoptimization::UnrollBlock, _caller_adjustment,                            int)                                   \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   720
  nonstatic_field(Deoptimization::UnrollBlock, _number_of_frames,                             int)                                   \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   721
  nonstatic_field(Deoptimization::UnrollBlock, _total_frame_sizes,                            int)                                   \
34173
01bb07d23a5b 8141133: [JVMCI] crash during safepoint deopt if rethrow_exception is set
twisti
parents: 33470
diff changeset
   722
  nonstatic_field(Deoptimization::UnrollBlock, _unpack_kind,                                  int)                                   \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   723
  nonstatic_field(Deoptimization::UnrollBlock, _frame_sizes,                                  intptr_t*)                             \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   724
  nonstatic_field(Deoptimization::UnrollBlock, _frame_pcs,                                    address*)                              \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   725
  nonstatic_field(Deoptimization::UnrollBlock, _register_block,                               intptr_t*)                             \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   726
  nonstatic_field(Deoptimization::UnrollBlock, _return_type,                                  BasicType)                             \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   727
  nonstatic_field(Deoptimization::UnrollBlock, _initial_info,                                 intptr_t)                              \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   728
  nonstatic_field(Deoptimization::UnrollBlock, _caller_actual_parameters,                     int)                                   \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
   729
                                                                                                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   730
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   731
  /* JavaCalls (NOTE: incomplete) */                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   732
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   733
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   734
  nonstatic_field(JavaCallWrapper,             _anchor,                                       JavaFrameAnchor)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   735
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   736
  /* JavaFrameAnchor (NOTE: incomplete) */                                                                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   737
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   738
  volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_sp,                                 intptr_t*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   739
  volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_pc,                                 address)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   740
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   741
  /******************************/                                                                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   742
  /* Threads (NOTE: incomplete) */                                                                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   743
  /******************************/                                                                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   744
                                                                                                                                     \
54955
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
   745
  static_field(Threads,                     _number_of_threads,                               int)                                   \
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
   746
  static_field(Threads,                     _number_of_non_daemon_threads,                    int)                                   \
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
   747
  static_field(Threads,                     _return_code,                                     int)                                   \
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
   748
                                                                                                                                     \
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
   749
  static_ptr_volatile_field(ThreadsSMRSupport, _java_thread_list,                             ThreadsList*)                          \
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
   750
  nonstatic_field(ThreadsList,                 _length,                                       const uint)                            \
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
   751
  nonstatic_field(ThreadsList,                 _threads,                                      JavaThread *const *const)              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   752
                                                                                                                                     \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   753
  nonstatic_field(ThreadShadow,                _pending_exception,                            oop)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   754
  nonstatic_field(ThreadShadow,                _exception_file,                               const char*)                           \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   755
  nonstatic_field(ThreadShadow,                _exception_line,                               int)                                   \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   756
  volatile_nonstatic_field(Thread,             _suspend_flags,                                uint32_t)                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   757
  nonstatic_field(Thread,                      _active_handles,                               JNIHandleBlock*)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   758
  nonstatic_field(Thread,                      _tlab,                                         ThreadLocalAllocBuffer)                \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   759
  nonstatic_field(Thread,                      _allocated_bytes,                              jlong)                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   760
  nonstatic_field(Thread,                      _current_pending_monitor,                      ObjectMonitor*)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   761
  nonstatic_field(Thread,                      _current_pending_monitor_is_from_java,         bool)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   762
  nonstatic_field(Thread,                      _current_waiting_monitor,                      ObjectMonitor*)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   763
  nonstatic_field(NamedThread,                 _name,                                         char*)                                 \
4489
514173c9a0c2 6361589: Print out stack trace for target thread of GC crash
minqi
parents: 4095
diff changeset
   764
  nonstatic_field(NamedThread,                 _processed_thread,                             JavaThread*)                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   765
  nonstatic_field(JavaThread,                  _threadObj,                                    oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   766
  nonstatic_field(JavaThread,                  _anchor,                                       JavaFrameAnchor)                       \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   767
  nonstatic_field(JavaThread,                  _vm_result,                                    oop)                                   \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   768
  nonstatic_field(JavaThread,                  _vm_result_2,                                  Metadata*)                             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   769
  nonstatic_field(JavaThread,                  _pending_async_exception,                      oop)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   770
  volatile_nonstatic_field(JavaThread,         _exception_oop,                                oop)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   771
  volatile_nonstatic_field(JavaThread,         _exception_pc,                                 address)                               \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
   772
  volatile_nonstatic_field(JavaThread,         _is_method_handle_return,                      int)                                   \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   773
  nonstatic_field(JavaThread,                  _special_runtime_exit_condition,               JavaThread::AsyncRequests)             \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   774
  nonstatic_field(JavaThread,                  _saved_exception_pc,                           address)                               \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   775
  volatile_nonstatic_field(JavaThread,         _thread_state,                                 JavaThreadState)                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   776
  nonstatic_field(JavaThread,                  _osthread,                                     OSThread*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   777
  nonstatic_field(JavaThread,                  _stack_base,                                   address)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   778
  nonstatic_field(JavaThread,                  _stack_size,                                   size_t)                                \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   779
  nonstatic_field(JavaThread,                  _vframe_array_head,                            vframeArray*)                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   780
  nonstatic_field(JavaThread,                  _vframe_array_last,                            vframeArray*)                          \
45371
5d0b68ea07c3 6760477: Update SA to include stack traces in the heap dump
sballal
parents: 45171
diff changeset
   781
  volatile_nonstatic_field(JavaThread,         _terminated,                                   JavaThread::TerminatedTypes)           \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   782
  nonstatic_field(Thread,                      _resource_area,                                ResourceArea*)                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   783
  nonstatic_field(CompilerThread,              _env,                                          ciEnv*)                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   784
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   785
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   786
  /* OSThread */                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   787
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   788
                                                                                                                                     \
46636
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
   789
  volatile_nonstatic_field(OSThread,           _state,                                        ThreadState)                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   790
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   791
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   792
  /* OopMap and OopMapSet */                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   793
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   794
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   795
  nonstatic_field(OopMap,                      _pc_offset,                                    int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   796
  nonstatic_field(OopMap,                      _omv_count,                                    int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   797
  nonstatic_field(OopMap,                      _write_stream,                                 CompressedWriteStream*)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   798
  nonstatic_field(OopMapSet,                   _om_count,                                     int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   799
  nonstatic_field(OopMapSet,                   _om_size,                                      int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   800
  nonstatic_field(OopMapSet,                   _om_data,                                      OopMap**)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   801
                                                                                                                                     \
30590
14f7f48c1377 8064458: OopMap class could be more compact
rbackman
parents: 30291
diff changeset
   802
  nonstatic_field(ImmutableOopMapSet,          _count,                                        int)                                   \
14f7f48c1377 8064458: OopMap class could be more compact
rbackman
parents: 30291
diff changeset
   803
  nonstatic_field(ImmutableOopMapSet,          _size,                                         int)                                   \
14f7f48c1377 8064458: OopMap class could be more compact
rbackman
parents: 30291
diff changeset
   804
                                                                                                                                     \
14f7f48c1377 8064458: OopMap class could be more compact
rbackman
parents: 30291
diff changeset
   805
  nonstatic_field(ImmutableOopMapPair,         _pc_offset,                                    int)                                   \
14f7f48c1377 8064458: OopMap class could be more compact
rbackman
parents: 30291
diff changeset
   806
  nonstatic_field(ImmutableOopMapPair,         _oopmap_offset,                                int)                                   \
14f7f48c1377 8064458: OopMap class could be more compact
rbackman
parents: 30291
diff changeset
   807
                                                                                                                                     \
14f7f48c1377 8064458: OopMap class could be more compact
rbackman
parents: 30291
diff changeset
   808
  nonstatic_field(ImmutableOopMap,             _count,                                        int)                                   \
14f7f48c1377 8064458: OopMap class could be more compact
rbackman
parents: 30291
diff changeset
   809
                                                                                                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   810
  /*********************************/                                                                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   811
  /* JNIHandles and JNIHandleBlock */                                                                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   812
  /*********************************/                                                                                                \
48787
7638bf98a312 8194312: Support parallel and concurrent JNI global handle processing
kbarrett
parents: 48309
diff changeset
   813
  static_field(JNIHandles,                     _global_handles,                               OopStorage*)                           \
7638bf98a312 8194312: Support parallel and concurrent JNI global handle processing
kbarrett
parents: 48309
diff changeset
   814
  static_field(JNIHandles,                     _weak_global_handles,                          OopStorage*)                           \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   815
  unchecked_nonstatic_field(JNIHandleBlock,    _handles,       JNIHandleBlock::block_size_in_oops * sizeof(Oop)) /* Note: no type */ \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   816
  nonstatic_field(JNIHandleBlock,              _top,                                          int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   817
  nonstatic_field(JNIHandleBlock,              _next,                                         JNIHandleBlock*)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   818
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   819
  /********************/                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   820
  /* CompressedStream */                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   821
  /********************/                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   822
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   823
  nonstatic_field(CompressedStream,            _buffer,                                       u_char*)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   824
  nonstatic_field(CompressedStream,            _position,                                     int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   825
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   826
  /*********************************/                                                                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   827
  /* VMRegImpl (NOTE: incomplete) */                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   828
  /*********************************/                                                                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   829
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   830
     static_field(VMRegImpl,                   regName[0],                                    const char*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   831
     static_field(VMRegImpl,                   stack0,                                        VMReg)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   832
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   833
  /*******************************/                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   834
  /* Runtime1 (NOTE: incomplete) */                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   835
  /*******************************/                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   836
                                                                                                                                     \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   837
  unchecked_c1_static_field(Runtime1,          _blobs,                                 sizeof(Runtime1::_blobs)) /* NOTE: no type */ \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   838
                                                                                                                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   839
  /**************/                                                                                                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   840
  /* CI */                                                                                                                           \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   841
  /************/                                                                                                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   842
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   843
  nonstatic_field(ciEnv,                       _compiler_data,                                void*)                                 \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   844
  nonstatic_field(ciEnv,                       _failure_reason,                               const char*)                           \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   845
  nonstatic_field(ciEnv,                       _factory,                                      ciObjectFactory*)                      \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   846
  nonstatic_field(ciEnv,                       _dependencies,                                 Dependencies*)                         \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   847
  nonstatic_field(ciEnv,                       _task,                                         CompileTask*)                          \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   848
  nonstatic_field(ciEnv,                       _arena,                                        Arena*)                                \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   849
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   850
  nonstatic_field(ciBaseObject,                _ident,                                        uint)                                  \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   851
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   852
  nonstatic_field(ciObject,                    _handle,                                       jobject)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   853
  nonstatic_field(ciObject,                    _klass,                                        ciKlass*)                              \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   854
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   855
  nonstatic_field(ciMetadata,                  _metadata,                                     Metadata*)                             \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
   856
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   857
  nonstatic_field(ciSymbol,                    _symbol,                                       Symbol*)                               \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   858
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   859
  nonstatic_field(ciType,                      _basic_type,                                   BasicType)                             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   860
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   861
  nonstatic_field(ciKlass,                     _name,                                         ciSymbol*)                             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   862
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   863
  nonstatic_field(ciArrayKlass,                _dimension,                                    jint)                                  \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   864
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   865
  nonstatic_field(ciObjArrayKlass,             _element_klass,                                ciKlass*)                              \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   866
  nonstatic_field(ciObjArrayKlass,             _base_element_klass,                           ciKlass*)                              \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   867
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   868
  nonstatic_field(ciInstanceKlass,             _init_state,                                   InstanceKlass::ClassState)             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   869
  nonstatic_field(ciInstanceKlass,             _is_shared,                                    bool)                                  \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   870
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   871
  nonstatic_field(ciMethod,                    _interpreter_invocation_count,                 int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   872
  nonstatic_field(ciMethod,                    _interpreter_throwout_count,                   int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   873
  nonstatic_field(ciMethod,                    _instructions_size,                            int)                                   \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   874
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   875
  nonstatic_field(ciMethodData,                _data_size,                                    int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   876
  nonstatic_field(ciMethodData,                _state,                                        u_char)                                \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   877
  nonstatic_field(ciMethodData,                _extra_data_size,                              int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   878
  nonstatic_field(ciMethodData,                _data,                                         intptr_t*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   879
  nonstatic_field(ciMethodData,                _hint_di,                                      int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   880
  nonstatic_field(ciMethodData,                _eflags,                                       intx)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   881
  nonstatic_field(ciMethodData,                _arg_local,                                    intx)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   882
  nonstatic_field(ciMethodData,                _arg_stack,                                    intx)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   883
  nonstatic_field(ciMethodData,                _arg_returned,                                 intx)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   884
  nonstatic_field(ciMethodData,                _current_mileage,                              int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   885
  nonstatic_field(ciMethodData,                _orig,                                         MethodData)                            \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   886
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   887
  nonstatic_field(ciField,                     _holder,                                       ciInstanceKlass*)                      \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   888
  nonstatic_field(ciField,                     _name,                                         ciSymbol*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   889
  nonstatic_field(ciField,                     _signature,                                    ciSymbol*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   890
  nonstatic_field(ciField,                     _offset,                                       int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   891
  nonstatic_field(ciField,                     _is_constant,                                  bool)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   892
  nonstatic_field(ciField,                     _constant_value,                               ciConstant)                            \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   893
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   894
  nonstatic_field(ciObjectFactory,             _ci_metadata,                                  GrowableArray<ciMetadata*>*)           \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   895
  nonstatic_field(ciObjectFactory,             _symbols,                                      GrowableArray<ciSymbol*>*)             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   896
  nonstatic_field(ciObjectFactory,             _unloaded_methods,                             GrowableArray<ciMethod*>*)             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   897
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   898
  nonstatic_field(ciConstant,                  _type,                                         BasicType)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   899
  nonstatic_field(ciConstant,                  _value._int,                                   jint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   900
  nonstatic_field(ciConstant,                  _value._long,                                  jlong)                                 \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   901
  nonstatic_field(ciConstant,                  _value._float,                                 jfloat)                                \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   902
  nonstatic_field(ciConstant,                  _value._double,                                jdouble)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   903
  nonstatic_field(ciConstant,                  _value._object,                                ciObject*)                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   904
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   905
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   906
  /* Monitors */                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   907
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   908
                                                                                                                                     \
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
   909
  volatile_nonstatic_field(ObjectMonitor,      _header,                                       markWord)                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   910
  unchecked_nonstatic_field(ObjectMonitor,     _object,                                       sizeof(void *)) /* NOTE: no type */    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   911
  unchecked_nonstatic_field(ObjectMonitor,     _owner,                                        sizeof(void *)) /* NOTE: no type */    \
54609
04857e2cd509 8222295: more baseline cleanups from Async Monitor Deflation project
dcubed
parents: 54595
diff changeset
   912
  volatile_nonstatic_field(ObjectMonitor,      _contentions,                                  jint)                                  \
27165
785a8d56024c 8049737: Contended Locking reorder and cache line bucket
dcubed
parents: 26796
diff changeset
   913
  volatile_nonstatic_field(ObjectMonitor,      _waiters,                                      jint)                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   914
  volatile_nonstatic_field(ObjectMonitor,      _recursions,                                   intptr_t)                              \
57906
e17f768b3b71 8230184: rename, whitespace, indent and comments changes in preparation for lock free Monitor lists
dcubed
parents: 57811
diff changeset
   915
  nonstatic_field(ObjectMonitor,               _next_om,                                      ObjectMonitor*)                        \
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
   916
  volatile_nonstatic_field(BasicLock,          _displaced_header,                             markWord)                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   917
  nonstatic_field(BasicObjectLock,             _lock,                                         BasicLock)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   918
  nonstatic_field(BasicObjectLock,             _obj,                                          oop)                                   \
57906
e17f768b3b71 8230184: rename, whitespace, indent and comments changes in preparation for lock free Monitor lists
dcubed
parents: 57811
diff changeset
   919
  static_ptr_volatile_field(ObjectSynchronizer, g_block_list,                                 PaddedObjectMonitor*)                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   920
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   921
  /*********************/                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   922
  /* Matcher (C2 only) */                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   923
  /*********************/                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   924
                                                                                                                                     \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   925
  unchecked_c2_static_field(Matcher,           _regEncode,                          sizeof(Matcher::_regEncode)) /* NOTE: no type */ \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   926
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   927
  c2_nonstatic_field(Node,                     _in,                                           Node**)                                \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   928
  c2_nonstatic_field(Node,                     _out,                                          Node**)                                \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   929
  c2_nonstatic_field(Node,                     _cnt,                                          node_idx_t)                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   930
  c2_nonstatic_field(Node,                     _max,                                          node_idx_t)                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   931
  c2_nonstatic_field(Node,                     _outcnt,                                       node_idx_t)                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   932
  c2_nonstatic_field(Node,                     _outmax,                                       node_idx_t)                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   933
  c2_nonstatic_field(Node,                     _idx,                                          const node_idx_t)                      \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   934
  c2_nonstatic_field(Node,                     _class_id,                                     jushort)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   935
  c2_nonstatic_field(Node,                     _flags,                                        jushort)                               \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   936
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   937
  c2_nonstatic_field(Compile,                  _root,                                         RootNode*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   938
  c2_nonstatic_field(Compile,                  _unique,                                       uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   939
  c2_nonstatic_field(Compile,                  _entry_bci,                                    int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   940
  c2_nonstatic_field(Compile,                  _top,                                          Node*)                                 \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   941
  c2_nonstatic_field(Compile,                  _cfg,                                          PhaseCFG*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   942
  c2_nonstatic_field(Compile,                  _regalloc,                                     PhaseRegAlloc*)                        \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   943
  c2_nonstatic_field(Compile,                  _method,                                       ciMethod*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   944
  c2_nonstatic_field(Compile,                  _compile_id,                                   const int)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   945
  c2_nonstatic_field(Compile,                  _save_argument_registers,                      const bool)                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   946
  c2_nonstatic_field(Compile,                  _subsume_loads,                                const bool)                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   947
  c2_nonstatic_field(Compile,                  _do_escape_analysis,                           const bool)                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   948
  c2_nonstatic_field(Compile,                  _eliminate_boxing,                             const bool)                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   949
  c2_nonstatic_field(Compile,                  _ilt,                                          InlineTree*)                           \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   950
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   951
  c2_nonstatic_field(InlineTree,               _caller_jvms,                                  JVMState*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   952
  c2_nonstatic_field(InlineTree,               _method,                                       ciMethod*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   953
  c2_nonstatic_field(InlineTree,               _caller_tree,                                  InlineTree*)                           \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   954
  c2_nonstatic_field(InlineTree,               _subtrees,                                     GrowableArray<InlineTree*>)            \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   955
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   956
  c2_nonstatic_field(OptoRegPair,              _first,                                        short)                                 \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   957
  c2_nonstatic_field(OptoRegPair,              _second,                                       short)                                 \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   958
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   959
  c2_nonstatic_field(JVMState,                 _caller,                                       JVMState*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   960
  c2_nonstatic_field(JVMState,                 _depth,                                        uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   961
  c2_nonstatic_field(JVMState,                 _locoff,                                       uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   962
  c2_nonstatic_field(JVMState,                 _stkoff,                                       uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   963
  c2_nonstatic_field(JVMState,                 _monoff,                                       uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   964
  c2_nonstatic_field(JVMState,                 _scloff,                                       uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   965
  c2_nonstatic_field(JVMState,                 _endoff,                                       uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   966
  c2_nonstatic_field(JVMState,                 _sp,                                           uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   967
  c2_nonstatic_field(JVMState,                 _bci,                                          int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   968
  c2_nonstatic_field(JVMState,                 _method,                                       ciMethod*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   969
  c2_nonstatic_field(JVMState,                 _map,                                          SafePointNode*)                        \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   970
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   971
  c2_nonstatic_field(SafePointNode,            _jvms,                                         JVMState* const)                       \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   972
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   973
  c2_nonstatic_field(MachSafePointNode,        _jvms,                                         JVMState*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   974
  c2_nonstatic_field(MachSafePointNode,        _jvmadj,                                       uint)                                  \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   975
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   976
  c2_nonstatic_field(MachIfNode,               _prob,                                         jfloat)                                \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   977
  c2_nonstatic_field(MachIfNode,               _fcnt,                                         jfloat)                                \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   978
                                                                                                                                     \
49877
d84f06a0cae1 8200303: C2 should leverage profiling for lookupswitch/tableswitch
roland
parents: 49860
diff changeset
   979
  c2_nonstatic_field(MachJumpNode,             _probs,                                        jfloat*)                               \
d84f06a0cae1 8200303: C2 should leverage profiling for lookupswitch/tableswitch
roland
parents: 49860
diff changeset
   980
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   981
  c2_nonstatic_field(CallNode,                 _entry_point,                                  address)                               \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   982
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   983
  c2_nonstatic_field(CallJavaNode,             _method,                                       ciMethod*)                             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   984
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   985
  c2_nonstatic_field(CallRuntimeNode,          _name,                                         const char*)                           \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   986
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   987
  c2_nonstatic_field(CallStaticJavaNode,       _name,                                         const char*)                           \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   988
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   989
  c2_nonstatic_field(MachCallJavaNode,         _method,                                       ciMethod*)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   990
  c2_nonstatic_field(MachCallJavaNode,         _bci,                                          int)                                   \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   991
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   992
  c2_nonstatic_field(MachCallStaticJavaNode,   _name,                                         const char*)                           \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   993
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   994
  c2_nonstatic_field(MachCallRuntimeNode,      _name,                                         const char*)                           \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
   995
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   996
  c2_nonstatic_field(PhaseCFG,                 _number_of_blocks,                             uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   997
  c2_nonstatic_field(PhaseCFG,                 _blocks,                                       Block_List)                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   998
  c2_nonstatic_field(PhaseCFG,                 _node_to_block_mapping,                        Block_Array)                           \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
   999
  c2_nonstatic_field(PhaseCFG,                 _root_block,                                   Block*)                                \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1000
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1001
  c2_nonstatic_field(PhaseRegAlloc,            _node_regs,                                    OptoRegPair*)                          \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1002
  c2_nonstatic_field(PhaseRegAlloc,            _node_regs_max_index,                          uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1003
  c2_nonstatic_field(PhaseRegAlloc,            _framesize,                                    uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1004
  c2_nonstatic_field(PhaseRegAlloc,            _max_reg,                                      OptoReg::Name)                         \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1005
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1006
  c2_nonstatic_field(PhaseChaitin,             _trip_cnt,                                     int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1007
  c2_nonstatic_field(PhaseChaitin,             _alternate,                                    int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1008
  c2_nonstatic_field(PhaseChaitin,             _lo_degree,                                    uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1009
  c2_nonstatic_field(PhaseChaitin,             _lo_stk_degree,                                uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1010
  c2_nonstatic_field(PhaseChaitin,             _hi_degree,                                    uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1011
  c2_nonstatic_field(PhaseChaitin,             _simplified,                                   uint)                                  \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1012
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1013
  c2_nonstatic_field(Block,                    _nodes,                                        Node_List)                             \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1014
  c2_nonstatic_field(Block,                    _succs,                                        Block_Array)                           \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1015
  c2_nonstatic_field(Block,                    _num_succs,                                    uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1016
  c2_nonstatic_field(Block,                    _pre_order,                                    uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1017
  c2_nonstatic_field(Block,                    _dom_depth,                                    uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1018
  c2_nonstatic_field(Block,                    _idom,                                         Block*)                                \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1019
  c2_nonstatic_field(Block,                    _freq,                                         jdouble)                               \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1020
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1021
  c2_nonstatic_field(CFGElement,               _freq,                                         jdouble)                               \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1022
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1023
  c2_nonstatic_field(Block_List,               _cnt,                                          uint)                                  \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1024
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1025
  c2_nonstatic_field(Block_Array,              _size,                                         uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1026
  c2_nonstatic_field(Block_Array,              _blocks,                                       Block**)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1027
  c2_nonstatic_field(Block_Array,              _arena,                                        Arena*)                                \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1028
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1029
  c2_nonstatic_field(Node_List,                _cnt,                                          uint)                                  \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1030
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1031
  c2_nonstatic_field(Node_Array,               _max,                                          uint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1032
  c2_nonstatic_field(Node_Array,               _nodes,                                        Node**)                                \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1033
  c2_nonstatic_field(Node_Array,               _a,                                            Arena*)                                \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1034
                                                                                                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1035
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1036
  /*********************/                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1037
  /* -XX flags         */                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1038
  /*********************/                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1039
                                                                                                                                     \
49902
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1040
  nonstatic_field(JVMFlag,                     _type,                                         const char*)                           \
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1041
  nonstatic_field(JVMFlag,                     _name,                                         const char*)                           \
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1042
  unchecked_nonstatic_field(JVMFlag,           _addr,                                         sizeof(void*)) /* NOTE: no type */     \
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1043
  nonstatic_field(JVMFlag,                     _flags,                                        JVMFlag::Flags)                        \
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1044
     static_field(JVMFlag,                     flags,                                         JVMFlag*)                              \
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1045
     static_field(JVMFlag,                     numFlags,                                      size_t)                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1046
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1047
  /*************************/                                                                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1048
  /* JDK / VM version info */                                                                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1049
  /*************************/                                                                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1050
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1051
     static_field(Abstract_VM_Version,         _s_vm_release,                                 const char*)                           \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1052
     static_field(Abstract_VM_Version,         _s_internal_vm_info_string,                    const char*)                           \
35148
5cfafc99d791 8143072: [JVMCI] Port JVMCI to AArch64
twisti
parents: 35146
diff changeset
  1053
     static_field(Abstract_VM_Version,         _features,                                     uint64_t)                              \
5cfafc99d791 8143072: [JVMCI] Port JVMCI to AArch64
twisti
parents: 35146
diff changeset
  1054
     static_field(Abstract_VM_Version,         _features_string,                              const char*)                           \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1055
     static_field(Abstract_VM_Version,         _vm_major_version,                             int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1056
     static_field(Abstract_VM_Version,         _vm_minor_version,                             int)                                   \
33973
iris
parents: 32623 33971
diff changeset
  1057
     static_field(Abstract_VM_Version,         _vm_security_version,                          int)                                   \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1058
     static_field(Abstract_VM_Version,         _vm_build_number,                              int)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1059
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1060
     static_field(JDK_Version,                 _current,                                      JDK_Version)                           \
950
6112b627bb36 6721093: -XX:AppendRatio=N not supported
kamg
parents: 670
diff changeset
  1061
  nonstatic_field(JDK_Version,                 _major,                                        unsigned char)                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1062
                                                                                                                                     \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1063
  /*************************/                                                                                                        \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1064
  /* JVMTI */                                                                                                                        \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1065
  /*************************/                                                                                                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1066
                                                                                                                                     \
13975
2f7431485cfa 7189254: Change makefiles for more flexibility to override defaults
jprovino
parents: 13925
diff changeset
  1067
  JVMTI_STRUCTS(static_field)                                                                                                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1068
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1069
  /*************/                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1070
  /* Arguments */                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1071
  /*************/                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1072
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1073
     static_field(Arguments,                   _jvm_flags_array,                              char**)                                \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1074
     static_field(Arguments,                   _num_jvm_flags,                                int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1075
     static_field(Arguments,                   _jvm_args_array,                               char**)                                \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1076
     static_field(Arguments,                   _num_jvm_args,                                 int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1077
     static_field(Arguments,                   _java_command,                                 char*)                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1078
                                                                                                                                     \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1079
  /************/                                                                                                                     \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1080
  /* Array<T> */                                                                                                                     \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1081
  /************/                                                                                                                     \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1082
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1083
  nonstatic_field(Array<int>,                  _length,                                       int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1084
  unchecked_nonstatic_field(Array<int>,        _data,                                         sizeof(int))                           \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1085
  unchecked_nonstatic_field(Array<u1>,         _data,                                         sizeof(u1))                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1086
  unchecked_nonstatic_field(Array<u2>,         _data,                                         sizeof(u2))                            \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1087
  unchecked_nonstatic_field(Array<Method*>,    _data,                                         sizeof(Method*))                       \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1088
  unchecked_nonstatic_field(Array<Klass*>,     _data,                                         sizeof(Klass*))                        \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1089
                                                                                                                                     \
8725
8c1e3dd5fe1b 7017732: move static fields into Class to prepare for perm gen removal
never
parents: 8330
diff changeset
  1090
  /*********************************/                                                                                                \
8c1e3dd5fe1b 7017732: move static fields into Class to prepare for perm gen removal
never
parents: 8330
diff changeset
  1091
  /* java_lang_Class fields        */                                                                                                \
8c1e3dd5fe1b 7017732: move static fields into Class to prepare for perm gen removal
never
parents: 8330
diff changeset
  1092
  /*********************************/                                                                                                \
8c1e3dd5fe1b 7017732: move static fields into Class to prepare for perm gen removal
never
parents: 8330
diff changeset
  1093
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1094
     static_field(java_lang_Class,             _klass_offset,                                 int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1095
     static_field(java_lang_Class,             _array_klass_offset,                           int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1096
     static_field(java_lang_Class,             _oop_size_offset,                              int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1097
     static_field(java_lang_Class,             _static_oop_field_count_offset,                int)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1098
                                                                                                                                     \
49896
ec2dd30adbc1 8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
jgeorge
parents: 49877
diff changeset
  1099
  /********************************************/                                                                                     \
ec2dd30adbc1 8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
jgeorge
parents: 49877
diff changeset
  1100
  /* FileMapInfo fields (CDS archive related) */                                                                                     \
ec2dd30adbc1 8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
jgeorge
parents: 49877
diff changeset
  1101
  /********************************************/                                                                                     \
ec2dd30adbc1 8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
jgeorge
parents: 49877
diff changeset
  1102
                                                                                                                                     \
51477
e77d7687c831 8209657: Refactor filemap.hpp to simplify integration with Serviceability Agent
iklam
parents: 51444
diff changeset
  1103
  CDS_ONLY(nonstatic_field(FileMapInfo,        _header,                   FileMapHeader*))                                           \
e77d7687c831 8209657: Refactor filemap.hpp to simplify integration with Serviceability Agent
iklam
parents: 51444
diff changeset
  1104
  CDS_ONLY(   static_field(FileMapInfo,        _current_info,             FileMapInfo*))                                             \
e77d7687c831 8209657: Refactor filemap.hpp to simplify integration with Serviceability Agent
iklam
parents: 51444
diff changeset
  1105
  CDS_ONLY(nonstatic_field(FileMapHeader,      _space[0],                 CDSFileMapRegion))                                         \
e77d7687c831 8209657: Refactor filemap.hpp to simplify integration with Serviceability Agent
iklam
parents: 51444
diff changeset
  1106
  CDS_ONLY(nonstatic_field(CDSFileMapRegion,   _addr._base,               char*))                                                    \
e77d7687c831 8209657: Refactor filemap.hpp to simplify integration with Serviceability Agent
iklam
parents: 51444
diff changeset
  1107
  CDS_ONLY(nonstatic_field(CDSFileMapRegion,   _used,                     size_t))                                                   \
49896
ec2dd30adbc1 8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
jgeorge
parents: 49877
diff changeset
  1108
                                                                                                                                     \
38266
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1109
  /******************/                                                                                                               \
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1110
  /* VMError fields */                                                                                                               \
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1111
  /******************/                                                                                                               \
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1112
                                                                                                                                     \
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1113
     static_field(VMError,                     _thread,                                       Thread*)                               \
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1114
                                                                                                                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1115
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1116
  /* Miscellaneous fields */                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1117
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1118
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1119
  nonstatic_field(CompileTask,                 _method,                                       Method*)                               \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1120
  nonstatic_field(CompileTask,                 _osr_bci,                                      int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1121
  nonstatic_field(CompileTask,                 _comp_level,                                   int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1122
  nonstatic_field(CompileTask,                 _compile_id,                                   uint)                                  \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  1123
  nonstatic_field(CompileTask,                 _num_inlined_bytecodes,                        int)                                   \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1124
  nonstatic_field(CompileTask,                 _next,                                         CompileTask*)                          \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1125
  nonstatic_field(CompileTask,                 _prev,                                         CompileTask*)                          \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1126
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1127
  nonstatic_field(vframeArray,                 _next,                                         vframeArray*)                          \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1128
  nonstatic_field(vframeArray,                 _original,                                     frame)                                 \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1129
  nonstatic_field(vframeArray,                 _caller,                                       frame)                                 \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1130
  nonstatic_field(vframeArray,                 _frames,                                       int)                                   \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1131
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1132
  nonstatic_field(vframeArrayElement,          _frame,                                        frame)                                 \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1133
  nonstatic_field(vframeArrayElement,          _bci,                                          int)                                   \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1134
  nonstatic_field(vframeArrayElement,          _method,                                       Method*)                               \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  1135
                                                                                                                                     \
32623
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1136
  nonstatic_field(AccessFlags,                 _flags,                                        jint)                                  \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1137
  nonstatic_field(elapsedTimer,                _counter,                                      jlong)                                 \
390a27af5657 8134626: Misc cleanups after generation array removal
jwilhelm
parents: 32596
diff changeset
  1138
  nonstatic_field(elapsedTimer,                _active,                                       bool)                                  \
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  1139
  nonstatic_field(InvocationCounter,           _counter,                                      unsigned int)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1140
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1141
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1142
// VM_TYPES
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1143
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1144
// This list must enumerate at least all of the types in the above
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1145
// list. For the types in the above list, the entry below must have
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1146
// exactly the same spacing since string comparisons are done in the
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1147
// code which verifies the consistency of these tables (in the debug
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1148
// build).
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1149
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1150
// In addition to the above types, this list is required to enumerate
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1151
// the JNI's java types, which are used to indicate the size of Java
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1152
// fields in this VM to the SA. Further, oop types are currently
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1153
// distinguished by name (i.e., ends with "oop") over in the SA.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1154
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1155
// The declare_toplevel_type macro should be used to declare types
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1156
// which do not have a superclass.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1157
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1158
// The declare_integer_type and declare_unsigned_integer_type macros
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1159
// are required in order to properly identify C integer types over in
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1160
// the SA. They should be used for any type which is otherwise opaque
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1161
// and which it is necessary to coerce into an integer value. This
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1162
// includes, for example, the type uintptr_t. Note that while they
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1163
// will properly identify the type's size regardless of the platform,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1164
// since it is does not seem possible to deduce or check signedness at
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1165
// compile time using the pointer comparison tricks, it is currently
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1166
// required that the given types have the same signedness across all
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1167
// platforms.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1168
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1169
// NOTE that there are platform-specific additions to this table in
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1170
// vmStructs_<os>_<cpu>.hpp.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1171
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1172
#define VM_TYPES(declare_type,                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1173
                 declare_toplevel_type,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1174
                 declare_oop_type,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1175
                 declare_integer_type,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1176
                 declare_unsigned_integer_type,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1177
                 declare_c1_toplevel_type,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1178
                 declare_c2_type,                                         \
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  1179
                 declare_c2_toplevel_type)                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1180
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1181
  /*************************************************************/         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1182
  /* Java primitive types -- required by the SA implementation */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1183
  /* in order to determine the size of Java fields in this VM  */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1184
  /* (the implementation looks up these names specifically)    */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1185
  /* NOTE: since we fetch these sizes from the remote VM, we   */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1186
  /* have a bootstrapping sequence during which it is not      */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1187
  /* valid to fetch Java values from the remote process, only  */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1188
  /* C integer values (of known size). NOTE also that we do    */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1189
  /* NOT include "Java unsigned" types like juint here; since  */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1190
  /* Java does not have unsigned primitive types, those can    */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1191
  /* not be mapped directly and are considered to be C integer */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1192
  /* types in this system (see the "other types" section,      */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1193
  /* below.)                                                   */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1194
  /*************************************************************/         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1195
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1196
  declare_toplevel_type(jboolean)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1197
  declare_toplevel_type(jbyte)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1198
  declare_toplevel_type(jchar)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1199
  declare_toplevel_type(jdouble)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1200
  declare_toplevel_type(jfloat)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1201
  declare_toplevel_type(jint)                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1202
  declare_toplevel_type(jlong)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1203
  declare_toplevel_type(jshort)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1204
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1205
  /*********************************************************************/ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1206
  /* C integer types. User-defined typedefs (like "size_t" or          */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1207
  /* "intptr_t") are guaranteed to be present with the same names over */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1208
  /* in the SA's type database. Names like "unsigned short" are not    */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1209
  /* guaranteed to be visible through the SA's type database lookup    */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1210
  /* mechanism, though they will have a Type object created for them   */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1211
  /* and are valid types for Fields.                                   */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1212
  /*********************************************************************/ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1213
  declare_integer_type(bool)                                              \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1214
  declare_integer_type(short)                                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1215
  declare_integer_type(int)                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1216
  declare_integer_type(long)                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1217
  declare_integer_type(char)                                              \
48088
2cd1c2b03782 8191683: Compile problem on ARM after JDK-8043070
iveresov
parents: 48007
diff changeset
  1218
  declare_integer_type(volatile signed char)                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1219
  declare_unsigned_integer_type(unsigned char)                            \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1220
  declare_unsigned_integer_type(u_char)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1221
  declare_unsigned_integer_type(unsigned int)                             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1222
  declare_unsigned_integer_type(uint)                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1223
  declare_unsigned_integer_type(unsigned short)                           \
10548
25c3d1aaade6 7089709: type "jushort" not found
never
parents: 10547
diff changeset
  1224
  declare_unsigned_integer_type(jushort)                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1225
  declare_unsigned_integer_type(unsigned long)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1226
  /* The compiler thinks this is a different type than */                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1227
  /* unsigned short on Win32 */                                           \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1228
  declare_unsigned_integer_type(u1)                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1229
  declare_unsigned_integer_type(u2)                                       \
25335
2557b9b45520 8046282: SA update
poonam
parents: 24934
diff changeset
  1230
  declare_unsigned_integer_type(u4)                                       \
2557b9b45520 8046282: SA update
poonam
parents: 24934
diff changeset
  1231
  declare_unsigned_integer_type(u8)                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1232
  declare_unsigned_integer_type(unsigned)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1233
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1234
  /*****************************/                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1235
  /* C primitive pointer types */                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1236
  /*****************************/                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1237
                                                                          \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1238
  declare_toplevel_type(void*)                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1239
  declare_toplevel_type(int*)                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1240
  declare_toplevel_type(char*)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1241
  declare_toplevel_type(char**)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1242
  declare_toplevel_type(u_char*)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1243
  declare_toplevel_type(unsigned char*)                                   \
20290
2127dc70bce9 8020151: PSR:PERF Large performance regressions when code cache is filled
anoll
parents: 20289
diff changeset
  1244
  declare_toplevel_type(volatile unsigned char*)                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1245
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1246
  /*******************************************************************/   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1247
  /* Types which it will be handy to have available over in the SA   */   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1248
  /* in order to do platform-independent address -> integer coercion */   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1249
  /* (note: these will be looked up by name)                         */   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1250
  /*******************************************************************/   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1251
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1252
  declare_unsigned_integer_type(size_t)                                   \
578
862a85ed20db 6670684: 4/5 SA command universe did not print out CMS space information
dcubed
parents: 1
diff changeset
  1253
  declare_integer_type(ssize_t)                                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1254
  declare_integer_type(intx)                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1255
  declare_integer_type(intptr_t)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1256
  declare_unsigned_integer_type(uintx)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1257
  declare_unsigned_integer_type(uintptr_t)                                \
50525
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50445
diff changeset
  1258
  declare_unsigned_integer_type(uint8_t)                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1259
  declare_unsigned_integer_type(uint32_t)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1260
  declare_unsigned_integer_type(uint64_t)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1261
                                                                          \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1262
  /******************************************/                            \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1263
  /* OopDesc hierarchy (NOTE: some missing) */                            \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1264
  /******************************************/                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1265
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1266
  declare_toplevel_type(oopDesc)                                          \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1267
    declare_type(arrayOopDesc, oopDesc)                                   \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1268
      declare_type(objArrayOopDesc, arrayOopDesc)                         \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1269
    declare_type(instanceOopDesc, oopDesc)                                \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1270
                                                                          \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1271
  /**************************************************/                    \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1272
  /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1273
  /**************************************************/                    \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1274
                                                                          \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  1275
  declare_toplevel_type(CompiledICHolder)                                 \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1276
  declare_toplevel_type(MetaspaceObj)                                     \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1277
    declare_type(Metadata, MetaspaceObj)                                  \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1278
    declare_type(Klass, Metadata)                                         \
13952
e3cf184080bc 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 13893
diff changeset
  1279
           declare_type(ArrayKlass, Klass)                                \
e3cf184080bc 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 13893
diff changeset
  1280
           declare_type(ObjArrayKlass, ArrayKlass)                        \
e3cf184080bc 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
coleenp
parents: 13893
diff changeset
  1281
           declare_type(TypeArrayKlass, ArrayKlass)                       \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1282
      declare_type(InstanceKlass, Klass)                                  \
13738
d67be49a5beb 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 13728
diff changeset
  1283
        declare_type(InstanceClassLoaderKlass, InstanceKlass)             \
d67be49a5beb 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 13728
diff changeset
  1284
        declare_type(InstanceMirrorKlass, InstanceKlass)                  \
d67be49a5beb 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
coleenp
parents: 13728
diff changeset
  1285
        declare_type(InstanceRefKlass, InstanceKlass)                     \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  1286
    declare_type(ConstantPool, Metadata)                                  \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  1287
    declare_type(ConstantPoolCache, MetaspaceObj)                         \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  1288
    declare_type(MethodData, Metadata)                                    \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  1289
    declare_type(Method, Metadata)                                        \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  1290
    declare_type(MethodCounters, MetaspaceObj)                            \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  1291
    declare_type(ConstMethod, MetaspaceObj)                               \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  1292
                                                                          \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  1293
  declare_toplevel_type(narrowKlass)                                      \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  1294
                                                                          \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  1295
  declare_toplevel_type(vtableEntry)                                      \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1296
                                                                          \
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  1297
           declare_toplevel_type(Symbol)                                  \
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  1298
           declare_toplevel_type(Symbol*)                                 \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1299
  declare_toplevel_type(volatile Metadata*)                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1300
                                                                          \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  1301
  declare_toplevel_type(DataLayout)                                       \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1302
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1303
  /********/                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1304
  /* Oops */                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1305
  /********/                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1306
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1307
  declare_oop_type(objArrayOop)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1308
  declare_oop_type(oop)                                                   \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
  1309
  declare_oop_type(narrowOop)                                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1310
  declare_oop_type(typeArrayOop)                                          \
53811
935d31867930 8218734: SA: Incorrect and raw loads of OopHandles
stefank
parents: 53637
diff changeset
  1311
                                                                          \
935d31867930 8218734: SA: Incorrect and raw loads of OopHandles
stefank
parents: 53637
diff changeset
  1312
  declare_toplevel_type(OopHandle)                                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1313
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1314
  /*************************************/                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1315
  /* MethodOop-related data structures */                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1316
  /*************************************/                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1317
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1318
  declare_toplevel_type(CheckedExceptionElement)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1319
  declare_toplevel_type(LocalVariableTableElement)                        \
13282
9872915dd78d 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table.
jiangli
parents: 12960
diff changeset
  1320
  declare_toplevel_type(ExceptionTableElement)                            \
21072
79f352543307 8005810: Update Hotspot Serviceability Agent for Method Parameter Reflection and Generic Type Signature Data
dsamersoff
parents: 20408
diff changeset
  1321
  declare_toplevel_type(MethodParametersElement)                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1322
                                                                          \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1323
  declare_toplevel_type(ClassLoaderData)                                  \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1324
  declare_toplevel_type(ClassLoaderDataGraph)                             \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1325
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1326
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1327
  /* PerfMemory - jvmstat */                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1328
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1329
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1330
  declare_toplevel_type(PerfDataPrologue)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1331
  declare_toplevel_type(PerfDataPrologue*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1332
  declare_toplevel_type(PerfDataEntry)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1333
  declare_toplevel_type(PerfMemory)                                       \
48166
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  1334
  declare_type(PerfData, CHeapObj<mtInternal>)                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1335
                                                                          \
51405
8b23aa7cef47 8195100: Use a low latency hashtable for SymbolTable
gziemski
parents: 51329
diff changeset
  1336
  /********************/                                                  \
8b23aa7cef47 8195100: Use a low latency hashtable for SymbolTable
gziemski
parents: 51329
diff changeset
  1337
  /* SystemDictionary */                                                  \
8b23aa7cef47 8195100: Use a low latency hashtable for SymbolTable
gziemski
parents: 51329
diff changeset
  1338
  /********************/                                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1339
                                                                          \
13195
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 12960
diff changeset
  1340
  declare_toplevel_type(BasicHashtable<mtInternal>)                       \
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 12960
diff changeset
  1341
    declare_type(IntptrHashtable, BasicHashtable<mtInternal>)             \
44897
1d9f4d0c9927 8030750: SA: Alternate hashing not implemented
sballal
parents: 43453
diff changeset
  1342
  declare_toplevel_type(BasicHashtable<mtSymbol>)                         \
46729
c62d2e8b2728 7133093: Improve system dictionary performance
coleenp
parents: 46702
diff changeset
  1343
    declare_type(Dictionary, KlassHashtable)                              \
13195
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 12960
diff changeset
  1344
  declare_toplevel_type(BasicHashtableEntry<mtInternal>)                  \
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 12960
diff changeset
  1345
  declare_type(IntptrHashtableEntry, BasicHashtableEntry<mtInternal>)     \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1346
    declare_type(DictionaryEntry, KlassHashtableEntry)                    \
13195
be27e1b6a4b9 6995781: Native Memory Tracking (Phase 1)
zgu
parents: 12960
diff changeset
  1347
  declare_toplevel_type(HashtableBucket<mtInternal>)                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1348
  declare_toplevel_type(SystemDictionary)                                 \
10567
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
  1349
  declare_toplevel_type(vmSymbols)                                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1350
                                                                          \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1351
  declare_toplevel_type(GenericGrowableArray)                             \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1352
  declare_toplevel_type(GrowableArray<int>)                               \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1353
  declare_toplevel_type(Arena)                                            \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1354
    declare_type(ResourceArea, Arena)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1355
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1356
  /***********************************************************/           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1357
  /* Thread hierarchy (needed for run-time type information) */           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1358
  /***********************************************************/           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1359
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1360
  declare_toplevel_type(Threads)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1361
  declare_toplevel_type(ThreadShadow)                                     \
51548
35a6956f4243 8209976: Improve iteration over non-JavaThreads
kbarrett
parents: 51477
diff changeset
  1362
    declare_type(Thread, ThreadShadow)                                    \
35a6956f4243 8209976: Improve iteration over non-JavaThreads
kbarrett
parents: 51477
diff changeset
  1363
      declare_type(NonJavaThread, Thread)                                 \
35a6956f4243 8209976: Improve iteration over non-JavaThreads
kbarrett
parents: 51477
diff changeset
  1364
        declare_type(NamedThread, NonJavaThread)                          \
35a6956f4243 8209976: Improve iteration over non-JavaThreads
kbarrett
parents: 51477
diff changeset
  1365
        declare_type(WatcherThread, NonJavaThread)                        \
35a6956f4243 8209976: Improve iteration over non-JavaThreads
kbarrett
parents: 51477
diff changeset
  1366
      declare_type(JavaThread, Thread)                                    \
35a6956f4243 8209976: Improve iteration over non-JavaThreads
kbarrett
parents: 51477
diff changeset
  1367
        declare_type(JvmtiAgentThread, JavaThread)                        \
35a6956f4243 8209976: Improve iteration over non-JavaThreads
kbarrett
parents: 51477
diff changeset
  1368
        declare_type(ServiceThread, JavaThread)                           \
58503
726a3945e934 8170299: Debugger does not stop inside the low memory notifications code
dtitov
parents: 58019
diff changeset
  1369
        declare_type(NotificationThread, JavaThread)                      \
51548
35a6956f4243 8209976: Improve iteration over non-JavaThreads
kbarrett
parents: 51477
diff changeset
  1370
        declare_type(CompilerThread, JavaThread)                          \
35a6956f4243 8209976: Improve iteration over non-JavaThreads
kbarrett
parents: 51477
diff changeset
  1371
        declare_type(CodeCacheSweeperThread, JavaThread)                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1372
  declare_toplevel_type(OSThread)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1373
  declare_toplevel_type(JavaFrameAnchor)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1374
                                                                          \
54955
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
  1375
  declare_toplevel_type(ThreadsSMRSupport)                                \
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
  1376
  declare_toplevel_type(ThreadsList)                                      \
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
  1377
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1378
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1379
  /* Interpreter */                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1380
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1381
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1382
  declare_toplevel_type(AbstractInterpreter)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1383
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1384
  /*********/                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1385
  /* Stubs */                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1386
  /*********/                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1387
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1388
  declare_toplevel_type(StubQueue)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1389
  declare_toplevel_type(StubRoutines)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1390
  declare_toplevel_type(Stub)                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1391
           declare_type(InterpreterCodelet, Stub)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1392
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1393
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1394
  /* JavaCalls */                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1395
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1396
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1397
  declare_toplevel_type(JavaCallWrapper)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1398
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1399
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1400
  /* CodeCache */                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1401
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1402
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1403
  declare_toplevel_type(CodeCache)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1404
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1405
  /************/                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1406
  /* CodeHeap */                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1407
  /************/                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1408
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1409
  declare_toplevel_type(CodeHeap)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1410
  declare_toplevel_type(CodeHeap*)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1411
  declare_toplevel_type(HeapBlock)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1412
  declare_toplevel_type(HeapBlock::Header)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1413
           declare_type(FreeBlock, HeapBlock)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1414
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1415
  /*************************************************************/         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1416
  /* CodeBlob hierarchy (needed for run-time type information) */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1417
  /*************************************************************/         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1418
                                                                          \
10517
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  1419
  declare_toplevel_type(SharedRuntime)                                    \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  1420
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1421
  declare_toplevel_type(CodeBlob)                                         \
49902
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1422
  declare_type(RuntimeBlob,              CodeBlob)                        \
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1423
  declare_type(BufferBlob,               RuntimeBlob)                     \
10517
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  1424
  declare_type(AdapterBlob,              BufferBlob)                      \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  1425
  declare_type(MethodHandlesAdapterBlob, BufferBlob)                      \
38133
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
  1426
  declare_type(CompiledMethod,           CodeBlob)                        \
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
  1427
  declare_type(nmethod,                  CompiledMethod)                  \
49902
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1428
  declare_type(RuntimeStub,              RuntimeBlob)                     \
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1429
  declare_type(SingletonBlob,            RuntimeBlob)                     \
10517
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  1430
  declare_type(SafepointBlob,            SingletonBlob)                   \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  1431
  declare_type(DeoptimizationBlob,       SingletonBlob)                   \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  1432
  declare_c2_type(ExceptionBlob,         SingletonBlob)                   \
49896
ec2dd30adbc1 8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
jgeorge
parents: 49877
diff changeset
  1433
  declare_c2_type(UncommonTrapBlob,      RuntimeBlob)                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1434
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1435
  /***************************************/                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1436
  /* PcDesc and other compiled code info */                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1437
  /***************************************/                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1438
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1439
  declare_toplevel_type(PcDesc)                                           \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1440
  declare_toplevel_type(ExceptionCache)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1441
  declare_toplevel_type(PcDescCache)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1442
  declare_toplevel_type(Dependencies)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1443
  declare_toplevel_type(CompileTask)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1444
  declare_toplevel_type(Deoptimization)                                   \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  1445
  declare_toplevel_type(Deoptimization::UnrollBlock)                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1446
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1447
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1448
  /* OopMap and OopMapSet */                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1449
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1450
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1451
  declare_toplevel_type(OopMap)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1452
  declare_toplevel_type(OopMapSet)                                        \
30590
14f7f48c1377 8064458: OopMap class could be more compact
rbackman
parents: 30291
diff changeset
  1453
  declare_toplevel_type(ImmutableOopMapSet)                               \
14f7f48c1377 8064458: OopMap class could be more compact
rbackman
parents: 30291
diff changeset
  1454
  declare_toplevel_type(ImmutableOopMapPair)                              \
14f7f48c1377 8064458: OopMap class could be more compact
rbackman
parents: 30291
diff changeset
  1455
  declare_toplevel_type(ImmutableOopMap)                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1456
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1457
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1458
  /* CompressedStream */                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1459
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1460
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1461
  declare_toplevel_type(CompressedStream)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1462
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1463
  /**************/                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1464
  /* VMRegImpl  */                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1465
  /**************/                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1466
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1467
  declare_toplevel_type(VMRegImpl)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1468
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1469
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1470
  /* JNIHandles and JNIHandleBlock */                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1471
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1472
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1473
  declare_toplevel_type(JNIHandles)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1474
  declare_toplevel_type(JNIHandleBlock)                                   \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1475
  declare_toplevel_type(jobject)                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1476
                                                                          \
48787
7638bf98a312 8194312: Support parallel and concurrent JNI global handle processing
kbarrett
parents: 48309
diff changeset
  1477
  /**************/                                                        \
7638bf98a312 8194312: Support parallel and concurrent JNI global handle processing
kbarrett
parents: 48309
diff changeset
  1478
  /* OopStorage */                                                        \
7638bf98a312 8194312: Support parallel and concurrent JNI global handle processing
kbarrett
parents: 48309
diff changeset
  1479
  /**************/                                                        \
7638bf98a312 8194312: Support parallel and concurrent JNI global handle processing
kbarrett
parents: 48309
diff changeset
  1480
                                                                          \
7638bf98a312 8194312: Support parallel and concurrent JNI global handle processing
kbarrett
parents: 48309
diff changeset
  1481
  declare_toplevel_type(OopStorage)                                       \
7638bf98a312 8194312: Support parallel and concurrent JNI global handle processing
kbarrett
parents: 48309
diff changeset
  1482
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1483
  /**********************/                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1484
  /* Runtime1 (C1 only) */                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1485
  /**********************/                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1486
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1487
  declare_c1_toplevel_type(Runtime1)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1488
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1489
  /************/                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1490
  /* Monitors */                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1491
  /************/                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1492
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1493
  declare_toplevel_type(ObjectMonitor)                                    \
47634
6a0c42c40cd1 8188220: Remove Atomic::*_ptr() uses and overloads from hotspot
coleenp
parents: 47603
diff changeset
  1494
  declare_toplevel_type(PaddedObjectMonitor)                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1495
  declare_toplevel_type(ObjectSynchronizer)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1496
  declare_toplevel_type(BasicLock)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1497
  declare_toplevel_type(BasicObjectLock)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1498
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1499
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1500
  /* Matcher (C2 only) */                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1501
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1502
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1503
  declare_c2_toplevel_type(Matcher)                                       \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1504
  declare_c2_toplevel_type(Compile)                                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1505
  declare_c2_toplevel_type(InlineTree)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1506
  declare_c2_toplevel_type(OptoRegPair)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1507
  declare_c2_toplevel_type(JVMState)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1508
  declare_c2_toplevel_type(Phase)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1509
    declare_c2_type(PhaseCFG, Phase)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1510
    declare_c2_type(PhaseRegAlloc, Phase)                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1511
    declare_c2_type(PhaseChaitin, PhaseRegAlloc)                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1512
  declare_c2_toplevel_type(CFGElement)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1513
    declare_c2_type(Block, CFGElement)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1514
  declare_c2_toplevel_type(Block_Array)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1515
    declare_c2_type(Block_List, Block_Array)                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1516
  declare_c2_toplevel_type(Node_Array)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1517
  declare_c2_type(Node_List, Node_Array)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1518
  declare_c2_type(Unique_Node_List, Node_List)                            \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1519
  declare_c2_toplevel_type(Node)                                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1520
  declare_c2_type(AddNode, Node)                                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1521
  declare_c2_type(AddINode, AddNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1522
  declare_c2_type(AddLNode, AddNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1523
  declare_c2_type(AddFNode, AddNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1524
  declare_c2_type(AddDNode, AddNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1525
  declare_c2_type(AddPNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1526
  declare_c2_type(OrINode, AddNode)                                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1527
  declare_c2_type(OrLNode, AddNode)                                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1528
  declare_c2_type(XorINode, AddNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1529
  declare_c2_type(XorLNode, AddNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1530
  declare_c2_type(MaxNode, AddNode)                                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1531
  declare_c2_type(MaxINode, MaxNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1532
  declare_c2_type(MinINode, MaxNode)                                      \
53041
f15af1e2c683 8212043: Add floating-point Math.min/max intrinsics
pli
parents: 52784
diff changeset
  1533
  declare_c2_type(MaxFNode, MaxNode)                                      \
f15af1e2c683 8212043: Add floating-point Math.min/max intrinsics
pli
parents: 52784
diff changeset
  1534
  declare_c2_type(MinFNode, MaxNode)                                      \
f15af1e2c683 8212043: Add floating-point Math.min/max intrinsics
pli
parents: 52784
diff changeset
  1535
  declare_c2_type(MaxDNode, MaxNode)                                      \
f15af1e2c683 8212043: Add floating-point Math.min/max intrinsics
pli
parents: 52784
diff changeset
  1536
  declare_c2_type(MinDNode, MaxNode)                                      \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1537
  declare_c2_type(StartNode, MultiNode)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1538
  declare_c2_type(StartOSRNode, StartNode)                                \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1539
  declare_c2_type(ParmNode, ProjNode)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1540
  declare_c2_type(ReturnNode, Node)                                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1541
  declare_c2_type(RethrowNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1542
  declare_c2_type(TailCallNode, ReturnNode)                               \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1543
  declare_c2_type(TailJumpNode, ReturnNode)                               \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1544
  declare_c2_type(SafePointNode, MultiNode)                               \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1545
  declare_c2_type(CallNode, SafePointNode)                                \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1546
  declare_c2_type(CallJavaNode, CallNode)                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1547
  declare_c2_type(CallStaticJavaNode, CallJavaNode)                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1548
  declare_c2_type(CallDynamicJavaNode, CallJavaNode)                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1549
  declare_c2_type(CallRuntimeNode, CallNode)                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1550
  declare_c2_type(CallLeafNode, CallRuntimeNode)                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1551
  declare_c2_type(CallLeafNoFPNode, CallLeafNode)                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1552
  declare_c2_type(AllocateNode, CallNode)                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1553
  declare_c2_type(AllocateArrayNode, AllocateNode)                        \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1554
  declare_c2_type(LockNode, AbstractLockNode)                             \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1555
  declare_c2_type(UnlockNode, AbstractLockNode)                           \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1556
  declare_c2_type(FastLockNode, CmpNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1557
  declare_c2_type(FastUnlockNode, CmpNode)                                \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1558
  declare_c2_type(RegionNode, Node)                                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1559
  declare_c2_type(JProjNode, ProjNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1560
  declare_c2_type(PhiNode, TypeNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1561
  declare_c2_type(GotoNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1562
  declare_c2_type(CProjNode, ProjNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1563
  declare_c2_type(MultiBranchNode, MultiNode)                             \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1564
  declare_c2_type(IfNode, MultiBranchNode)                                \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1565
  declare_c2_type(IfTrueNode, CProjNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1566
  declare_c2_type(IfFalseNode, CProjNode)                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1567
  declare_c2_type(PCTableNode, MultiBranchNode)                           \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1568
  declare_c2_type(JumpNode, PCTableNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1569
  declare_c2_type(JumpProjNode, JProjNode)                                \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1570
  declare_c2_type(CatchNode, PCTableNode)                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1571
  declare_c2_type(CatchProjNode, CProjNode)                               \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1572
  declare_c2_type(CreateExNode, TypeNode)                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1573
  declare_c2_type(ClearArrayNode, Node)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1574
  declare_c2_type(NeverBranchNode, MultiBranchNode)                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1575
  declare_c2_type(ConNode, TypeNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1576
  declare_c2_type(ConINode, ConNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1577
  declare_c2_type(ConPNode, ConNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1578
  declare_c2_type(ConNNode, ConNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1579
  declare_c2_type(ConLNode, ConNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1580
  declare_c2_type(ConFNode, ConNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1581
  declare_c2_type(ConDNode, ConNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1582
  declare_c2_type(BinaryNode, Node)                                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1583
  declare_c2_type(CMoveNode, TypeNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1584
  declare_c2_type(CMoveDNode, CMoveNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1585
  declare_c2_type(CMoveFNode, CMoveNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1586
  declare_c2_type(CMoveINode, CMoveNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1587
  declare_c2_type(CMoveLNode, CMoveNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1588
  declare_c2_type(CMovePNode, CMoveNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1589
  declare_c2_type(CMoveNNode, CMoveNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1590
  declare_c2_type(EncodePNode, TypeNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1591
  declare_c2_type(DecodeNNode, TypeNode)                                  \
13969
d2a189b83b87 7054512: Compress class pointers after perm gen removal
roland
parents: 13925
diff changeset
  1592
  declare_c2_type(EncodePKlassNode, TypeNode)                             \
d2a189b83b87 7054512: Compress class pointers after perm gen removal
roland
parents: 13925
diff changeset
  1593
  declare_c2_type(DecodeNKlassNode, TypeNode)                             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1594
  declare_c2_type(ConstraintCastNode, TypeNode)                           \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1595
  declare_c2_type(CastIINode, ConstraintCastNode)                         \
58019
86b95fc6ca32 8229496: SIGFPE (division by zero) in C2 OSR compiled method
thartmann
parents: 57906
diff changeset
  1596
  declare_c2_type(CastLLNode, ConstraintCastNode)                         \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1597
  declare_c2_type(CastPPNode, ConstraintCastNode)                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1598
  declare_c2_type(CheckCastPPNode, TypeNode)                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1599
  declare_c2_type(Conv2BNode, Node)                                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1600
  declare_c2_type(ConvD2FNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1601
  declare_c2_type(ConvD2INode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1602
  declare_c2_type(ConvD2LNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1603
  declare_c2_type(ConvF2DNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1604
  declare_c2_type(ConvF2INode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1605
  declare_c2_type(ConvF2LNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1606
  declare_c2_type(ConvI2DNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1607
  declare_c2_type(ConvI2FNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1608
  declare_c2_type(ConvI2LNode, TypeNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1609
  declare_c2_type(ConvL2DNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1610
  declare_c2_type(ConvL2FNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1611
  declare_c2_type(ConvL2INode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1612
  declare_c2_type(CastX2PNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1613
  declare_c2_type(CastP2XNode, Node)                                      \
38049
e8541793960f 8153998: Masked vector post loops
mcberg
parents: 38043
diff changeset
  1614
  declare_c2_type(SetVectMaskINode, Node)                                 \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1615
  declare_c2_type(MemBarNode, MultiNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1616
  declare_c2_type(MemBarAcquireNode, MemBarNode)                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1617
  declare_c2_type(MemBarReleaseNode, MemBarNode)                          \
22855
d637fd28a6c3 8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence.
goetz
parents: 22838
diff changeset
  1618
  declare_c2_type(LoadFenceNode, MemBarNode)                              \
d637fd28a6c3 8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence.
goetz
parents: 22838
diff changeset
  1619
  declare_c2_type(StoreFenceNode, MemBarNode)                             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1620
  declare_c2_type(MemBarVolatileNode, MemBarNode)                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1621
  declare_c2_type(MemBarCPUOrderNode, MemBarNode)                         \
38017
55047d16f141 8147844: new method j.l.Runtime.onSpinWait() and the corresponding x86 hotspot instrinsic
ikrylov
parents: 37272
diff changeset
  1622
  declare_c2_type(OnSpinWaitNode, MemBarNode)                             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1623
  declare_c2_type(InitializeNode, MemBarNode)                             \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1624
  declare_c2_type(ThreadLocalNode, Node)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1625
  declare_c2_type(Opaque1Node, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1626
  declare_c2_type(Opaque2Node, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1627
  declare_c2_type(PartialSubtypeCheckNode, Node)                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1628
  declare_c2_type(MoveI2FNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1629
  declare_c2_type(MoveL2DNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1630
  declare_c2_type(MoveF2INode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1631
  declare_c2_type(MoveD2LNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1632
  declare_c2_type(DivINode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1633
  declare_c2_type(DivLNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1634
  declare_c2_type(DivFNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1635
  declare_c2_type(DivDNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1636
  declare_c2_type(ModINode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1637
  declare_c2_type(ModLNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1638
  declare_c2_type(ModFNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1639
  declare_c2_type(ModDNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1640
  declare_c2_type(DivModNode, MultiNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1641
  declare_c2_type(DivModINode, DivModNode)                                \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1642
  declare_c2_type(DivModLNode, DivModNode)                                \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1643
  declare_c2_type(BoxLockNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1644
  declare_c2_type(LoopNode, RegionNode)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1645
  declare_c2_type(CountedLoopNode, LoopNode)                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1646
  declare_c2_type(CountedLoopEndNode, IfNode)                             \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1647
  declare_c2_type(MachNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1648
  declare_c2_type(MachIdealNode, MachNode)                                \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1649
  declare_c2_type(MachTypeNode, MachNode)                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1650
  declare_c2_type(MachBreakpointNode, MachIdealNode)                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1651
  declare_c2_type(MachUEPNode, MachIdealNode)                             \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1652
  declare_c2_type(MachPrologNode, MachIdealNode)                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1653
  declare_c2_type(MachEpilogNode, MachIdealNode)                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1654
  declare_c2_type(MachNopNode, MachIdealNode)                             \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1655
  declare_c2_type(MachSpillCopyNode, MachIdealNode)                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1656
  declare_c2_type(MachNullCheckNode, MachIdealNode)                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1657
  declare_c2_type(MachProjNode, ProjNode)                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1658
  declare_c2_type(MachIfNode, MachNode)                                   \
49877
d84f06a0cae1 8200303: C2 should leverage profiling for lookupswitch/tableswitch
roland
parents: 49860
diff changeset
  1659
  declare_c2_type(MachJumpNode, MachNode)                                 \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1660
  declare_c2_type(MachFastLockNode, MachNode)                             \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1661
  declare_c2_type(MachReturnNode, MachNode)                               \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1662
  declare_c2_type(MachSafePointNode, MachReturnNode)                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1663
  declare_c2_type(MachCallNode, MachSafePointNode)                        \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1664
  declare_c2_type(MachCallJavaNode, MachCallNode)                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1665
  declare_c2_type(MachCallStaticJavaNode, MachCallJavaNode)               \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1666
  declare_c2_type(MachCallDynamicJavaNode, MachCallJavaNode)              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1667
  declare_c2_type(MachCallRuntimeNode, MachCallNode)                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1668
  declare_c2_type(MachHaltNode, MachReturnNode)                           \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1669
  declare_c2_type(MachTempNode, MachNode)                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1670
  declare_c2_type(MemNode, Node)                                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1671
  declare_c2_type(MergeMemNode, Node)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1672
  declare_c2_type(LoadNode, MemNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1673
  declare_c2_type(LoadBNode, LoadNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1674
  declare_c2_type(LoadUSNode, LoadNode)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1675
  declare_c2_type(LoadINode, LoadNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1676
  declare_c2_type(LoadRangeNode, LoadINode)                               \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1677
  declare_c2_type(LoadLNode, LoadNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1678
  declare_c2_type(LoadL_unalignedNode, LoadLNode)                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1679
  declare_c2_type(LoadFNode, LoadNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1680
  declare_c2_type(LoadDNode, LoadNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1681
  declare_c2_type(LoadD_unalignedNode, LoadDNode)                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1682
  declare_c2_type(LoadPNode, LoadNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1683
  declare_c2_type(LoadNNode, LoadNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1684
  declare_c2_type(LoadKlassNode, LoadPNode)                               \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1685
  declare_c2_type(LoadNKlassNode, LoadNNode)                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1686
  declare_c2_type(LoadSNode, LoadNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1687
  declare_c2_type(StoreNode, MemNode)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1688
  declare_c2_type(StoreBNode, StoreNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1689
  declare_c2_type(StoreCNode, StoreNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1690
  declare_c2_type(StoreINode, StoreNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1691
  declare_c2_type(StoreLNode, StoreNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1692
  declare_c2_type(StoreFNode, StoreNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1693
  declare_c2_type(StoreDNode, StoreNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1694
  declare_c2_type(StorePNode, StoreNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1695
  declare_c2_type(StoreNNode, StoreNode)                                  \
13969
d2a189b83b87 7054512: Compress class pointers after perm gen removal
roland
parents: 13925
diff changeset
  1696
  declare_c2_type(StoreNKlassNode, StoreNode)                             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1697
  declare_c2_type(StoreCMNode, StoreNode)                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1698
  declare_c2_type(LoadPLockedNode, LoadPNode)                             \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1699
  declare_c2_type(SCMemProjNode, ProjNode)                                \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1700
  declare_c2_type(LoadStoreNode, Node)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1701
  declare_c2_type(StorePConditionalNode, LoadStoreNode)                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1702
  declare_c2_type(StoreLConditionalNode, LoadStoreNode)                   \
36316
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1703
  declare_c2_type(CompareAndSwapNode, LoadStoreConditionalNode)           \
39419
cc993a4ab581 8157726: VarHandles/Unsafe should support sub-word atomic ops
shade
parents: 38266
diff changeset
  1704
  declare_c2_type(CompareAndSwapBNode, CompareAndSwapNode)                \
cc993a4ab581 8157726: VarHandles/Unsafe should support sub-word atomic ops
shade
parents: 38266
diff changeset
  1705
  declare_c2_type(CompareAndSwapSNode, CompareAndSwapNode)                \
36316
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1706
  declare_c2_type(CompareAndSwapLNode, CompareAndSwapNode)                \
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1707
  declare_c2_type(CompareAndSwapINode, CompareAndSwapNode)                \
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1708
  declare_c2_type(CompareAndSwapPNode, CompareAndSwapNode)                \
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1709
  declare_c2_type(CompareAndSwapNNode, CompareAndSwapNode)                \
39419
cc993a4ab581 8157726: VarHandles/Unsafe should support sub-word atomic ops
shade
parents: 38266
diff changeset
  1710
  declare_c2_type(WeakCompareAndSwapBNode, CompareAndSwapNode)            \
cc993a4ab581 8157726: VarHandles/Unsafe should support sub-word atomic ops
shade
parents: 38266
diff changeset
  1711
  declare_c2_type(WeakCompareAndSwapSNode, CompareAndSwapNode)            \
36316
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1712
  declare_c2_type(WeakCompareAndSwapLNode, CompareAndSwapNode)            \
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1713
  declare_c2_type(WeakCompareAndSwapINode, CompareAndSwapNode)            \
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1714
  declare_c2_type(WeakCompareAndSwapPNode, CompareAndSwapNode)            \
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1715
  declare_c2_type(WeakCompareAndSwapNNode, CompareAndSwapNode)            \
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1716
  declare_c2_type(CompareAndExchangeNode, LoadStoreNode)                  \
39419
cc993a4ab581 8157726: VarHandles/Unsafe should support sub-word atomic ops
shade
parents: 38266
diff changeset
  1717
  declare_c2_type(CompareAndExchangeBNode, CompareAndExchangeNode)        \
cc993a4ab581 8157726: VarHandles/Unsafe should support sub-word atomic ops
shade
parents: 38266
diff changeset
  1718
  declare_c2_type(CompareAndExchangeSNode, CompareAndExchangeNode)        \
36316
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1719
  declare_c2_type(CompareAndExchangeLNode, CompareAndExchangeNode)        \
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1720
  declare_c2_type(CompareAndExchangeINode, CompareAndExchangeNode)        \
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1721
  declare_c2_type(CompareAndExchangePNode, CompareAndExchangeNode)        \
7a83de7aabca 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
shade
parents: 36300
diff changeset
  1722
  declare_c2_type(CompareAndExchangeNNode, CompareAndExchangeNode)        \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1723
  declare_c2_type(MulNode, Node)                                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1724
  declare_c2_type(MulINode, MulNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1725
  declare_c2_type(MulLNode, MulNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1726
  declare_c2_type(MulFNode, MulNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1727
  declare_c2_type(MulDNode, MulNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1728
  declare_c2_type(MulHiLNode, Node)                                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1729
  declare_c2_type(AndINode, MulINode)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1730
  declare_c2_type(AndLNode, MulLNode)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1731
  declare_c2_type(LShiftINode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1732
  declare_c2_type(LShiftLNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1733
  declare_c2_type(RShiftINode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1734
  declare_c2_type(RShiftLNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1735
  declare_c2_type(URShiftINode, Node)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1736
  declare_c2_type(URShiftLNode, Node)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1737
  declare_c2_type(MultiNode, Node)                                        \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1738
  declare_c2_type(ProjNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1739
  declare_c2_type(TypeNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1740
  declare_c2_type(NodeHash, StackObj)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1741
  declare_c2_type(RootNode, LoopNode)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1742
  declare_c2_type(HaltNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1743
  declare_c2_type(SubNode, Node)                                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1744
  declare_c2_type(SubINode, SubNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1745
  declare_c2_type(SubLNode, SubNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1746
  declare_c2_type(SubFPNode, SubNode)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1747
  declare_c2_type(SubFNode, SubFPNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1748
  declare_c2_type(SubDNode, SubFPNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1749
  declare_c2_type(CmpNode, SubNode)                                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1750
  declare_c2_type(CmpINode, CmpNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1751
  declare_c2_type(CmpUNode, CmpNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1752
  declare_c2_type(CmpPNode, CmpNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1753
  declare_c2_type(CmpNNode, CmpNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1754
  declare_c2_type(CmpLNode, CmpNode)                                      \
45965
e29c1363af9a 8173770: Image conversion improvements
thartmann
parents: 45114
diff changeset
  1755
  declare_c2_type(CmpULNode, CmpNode)                                     \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1756
  declare_c2_type(CmpL3Node, CmpLNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1757
  declare_c2_type(CmpFNode, CmpNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1758
  declare_c2_type(CmpF3Node, CmpFNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1759
  declare_c2_type(CmpDNode, CmpNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1760
  declare_c2_type(CmpD3Node, CmpDNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1761
  declare_c2_type(BoolNode, Node)                                         \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1762
  declare_c2_type(AbsNode, Node)                                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1763
  declare_c2_type(AbsINode, AbsNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1764
  declare_c2_type(AbsFNode, AbsNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1765
  declare_c2_type(AbsDNode, AbsNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1766
  declare_c2_type(CmpLTMaskNode, Node)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1767
  declare_c2_type(NegNode, Node)                                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1768
  declare_c2_type(NegFNode, NegNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1769
  declare_c2_type(NegDNode, NegNode)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1770
  declare_c2_type(AtanDNode, Node)                                        \
48089
22c9856fc2c2 8190800: Support vectorization of Math.sqrt() on floats
rlupusoru
parents: 48088
diff changeset
  1771
  declare_c2_type(SqrtFNode, Node)                                        \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1772
  declare_c2_type(SqrtDNode, Node)                                        \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1773
  declare_c2_type(ReverseBytesINode, Node)                                \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1774
  declare_c2_type(ReverseBytesLNode, Node)                                \
30211
442fbbb31f75 8074981: Integer/FP scalar reduction optimization
kvn
parents: 30199
diff changeset
  1775
  declare_c2_type(ReductionNode, Node)                                    \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1776
  declare_c2_type(VectorNode, Node)                                       \
54750
1851a532ddfe 8222074: Enhance auto vectorization for x86
sviswanathan
parents: 54609
diff changeset
  1777
  declare_c2_type(AbsVBNode, VectorNode)                                   \
1851a532ddfe 8222074: Enhance auto vectorization for x86
sviswanathan
parents: 54609
diff changeset
  1778
  declare_c2_type(AbsVSNode, VectorNode)                                   \
1851a532ddfe 8222074: Enhance auto vectorization for x86
sviswanathan
parents: 54609
diff changeset
  1779
  declare_c2_type(AbsVINode, VectorNode)                                   \
1851a532ddfe 8222074: Enhance auto vectorization for x86
sviswanathan
parents: 54609
diff changeset
  1780
  declare_c2_type(AbsVLNode, VectorNode)                                   \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1781
  declare_c2_type(AddVBNode, VectorNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1782
  declare_c2_type(AddVSNode, VectorNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1783
  declare_c2_type(AddVINode, VectorNode)                                  \
30211
442fbbb31f75 8074981: Integer/FP scalar reduction optimization
kvn
parents: 30199
diff changeset
  1784
  declare_c2_type(AddReductionVINode, ReductionNode)                      \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1785
  declare_c2_type(AddVLNode, VectorNode)                                  \
30211
442fbbb31f75 8074981: Integer/FP scalar reduction optimization
kvn
parents: 30199
diff changeset
  1786
  declare_c2_type(AddReductionVLNode, ReductionNode)                      \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1787
  declare_c2_type(AddVFNode, VectorNode)                                  \
30211
442fbbb31f75 8074981: Integer/FP scalar reduction optimization
kvn
parents: 30199
diff changeset
  1788
  declare_c2_type(AddReductionVFNode, ReductionNode)                      \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1789
  declare_c2_type(AddVDNode, VectorNode)                                  \
30211
442fbbb31f75 8074981: Integer/FP scalar reduction optimization
kvn
parents: 30199
diff changeset
  1790
  declare_c2_type(AddReductionVDNode, ReductionNode)                      \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1791
  declare_c2_type(SubVBNode, VectorNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1792
  declare_c2_type(SubVSNode, VectorNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1793
  declare_c2_type(SubVINode, VectorNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1794
  declare_c2_type(SubVLNode, VectorNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1795
  declare_c2_type(SubVFNode, VectorNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1796
  declare_c2_type(SubVDNode, VectorNode)                                  \
54750
1851a532ddfe 8222074: Enhance auto vectorization for x86
sviswanathan
parents: 54609
diff changeset
  1797
  declare_c2_type(MulVBNode, VectorNode)                                  \
13893
8ffaa5b97ca6 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 13891
diff changeset
  1798
  declare_c2_type(MulVSNode, VectorNode)                                  \
30624
2e1803c8a26d 8076276: Add support for AVX512
kvn
parents: 30590
diff changeset
  1799
  declare_c2_type(MulVLNode, VectorNode)                                  \
2e1803c8a26d 8076276: Add support for AVX512
kvn
parents: 30590
diff changeset
  1800
  declare_c2_type(MulReductionVLNode, ReductionNode)                      \
13893
8ffaa5b97ca6 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 13891
diff changeset
  1801
  declare_c2_type(MulVINode, VectorNode)                                  \
30211
442fbbb31f75 8074981: Integer/FP scalar reduction optimization
kvn
parents: 30199
diff changeset
  1802
  declare_c2_type(MulReductionVINode, ReductionNode)                      \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1803
  declare_c2_type(MulVFNode, VectorNode)                                  \
30211
442fbbb31f75 8074981: Integer/FP scalar reduction optimization
kvn
parents: 30199
diff changeset
  1804
  declare_c2_type(MulReductionVFNode, ReductionNode)                      \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1805
  declare_c2_type(MulVDNode, VectorNode)                                  \
54750
1851a532ddfe 8222074: Enhance auto vectorization for x86
sviswanathan
parents: 54609
diff changeset
  1806
  declare_c2_type(NegVFNode, VectorNode)                                  \
1851a532ddfe 8222074: Enhance auto vectorization for x86
sviswanathan
parents: 54609
diff changeset
  1807
  declare_c2_type(NegVDNode, VectorNode)                                  \
46528
cf0da758e7b5 8181616: FMA Vectorization on x86
vdeshpande
parents: 46488
diff changeset
  1808
  declare_c2_type(FmaVDNode, VectorNode)                                  \
cf0da758e7b5 8181616: FMA Vectorization on x86
vdeshpande
parents: 46488
diff changeset
  1809
  declare_c2_type(FmaVFNode, VectorNode)                                  \
48309
1a0499fd252e 8192846: Support cmov vectorization for float
kvn
parents: 48175
diff changeset
  1810
  declare_c2_type(CMoveVFNode, VectorNode)                                \
33469
30f4811eded0 8139340: SuperWord enhancement to support vector conditional move (CMovVD) on Intel AVX cpu
iveresov
parents: 33467
diff changeset
  1811
  declare_c2_type(CMoveVDNode, VectorNode)                                \
30211
442fbbb31f75 8074981: Integer/FP scalar reduction optimization
kvn
parents: 30199
diff changeset
  1812
  declare_c2_type(MulReductionVDNode, ReductionNode)                      \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1813
  declare_c2_type(DivVFNode, VectorNode)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1814
  declare_c2_type(DivVDNode, VectorNode)                                  \
49384
b242a1e3f9cf 8199421: Add support for vector popcount
rlupusoru
parents: 49347
diff changeset
  1815
  declare_c2_type(PopCountVINode, VectorNode)                             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1816
  declare_c2_type(LShiftVBNode, VectorNode)                               \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1817
  declare_c2_type(LShiftVSNode, VectorNode)                               \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1818
  declare_c2_type(LShiftVINode, VectorNode)                               \
13893
8ffaa5b97ca6 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 13891
diff changeset
  1819
  declare_c2_type(LShiftVLNode, VectorNode)                               \
13104
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1820
  declare_c2_type(RShiftVBNode, VectorNode)                               \
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1821
  declare_c2_type(RShiftVSNode, VectorNode)                               \
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1822
  declare_c2_type(RShiftVINode, VectorNode)                               \
13893
8ffaa5b97ca6 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 13891
diff changeset
  1823
  declare_c2_type(RShiftVLNode, VectorNode)                               \
8ffaa5b97ca6 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 13891
diff changeset
  1824
  declare_c2_type(URShiftVBNode, VectorNode)                              \
8ffaa5b97ca6 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 13891
diff changeset
  1825
  declare_c2_type(URShiftVSNode, VectorNode)                              \
8ffaa5b97ca6 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 13891
diff changeset
  1826
  declare_c2_type(URShiftVINode, VectorNode)                              \
8ffaa5b97ca6 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 13891
diff changeset
  1827
  declare_c2_type(URShiftVLNode, VectorNode)                              \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1828
  declare_c2_type(AndVNode, VectorNode)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1829
  declare_c2_type(OrVNode, VectorNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1830
  declare_c2_type(XorVNode, VectorNode)                                   \
54066
1dbe0c210134 8214922: Add vectorization support for fmin/fmax
pli
parents: 53811
diff changeset
  1831
  declare_c2_type(MaxVNode, VectorNode)                                   \
1dbe0c210134 8214922: Add vectorization support for fmin/fmax
pli
parents: 53811
diff changeset
  1832
  declare_c2_type(MinVNode, VectorNode)                                   \
1dbe0c210134 8214922: Add vectorization support for fmin/fmax
pli
parents: 53811
diff changeset
  1833
  declare_c2_type(MaxReductionVNode, ReductionNode)                       \
1dbe0c210134 8214922: Add vectorization support for fmin/fmax
pli
parents: 53811
diff changeset
  1834
  declare_c2_type(MinReductionVNode, ReductionNode)                       \
13104
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1835
  declare_c2_type(LoadVectorNode, LoadNode)                               \
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1836
  declare_c2_type(StoreVectorNode, StoreNode)                             \
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1837
  declare_c2_type(ReplicateBNode, VectorNode)                             \
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1838
  declare_c2_type(ReplicateSNode, VectorNode)                             \
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1839
  declare_c2_type(ReplicateINode, VectorNode)                             \
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1840
  declare_c2_type(ReplicateLNode, VectorNode)                             \
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1841
  declare_c2_type(ReplicateFNode, VectorNode)                             \
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1842
  declare_c2_type(ReplicateDNode, VectorNode)                             \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1843
  declare_c2_type(PackNode, VectorNode)                                   \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1844
  declare_c2_type(PackBNode, PackNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1845
  declare_c2_type(PackSNode, PackNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1846
  declare_c2_type(PackINode, PackNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1847
  declare_c2_type(PackLNode, PackNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1848
  declare_c2_type(PackFNode, PackNode)                                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1849
  declare_c2_type(PackDNode, PackNode)                                    \
13104
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1850
  declare_c2_type(Pack2LNode, PackNode)                                   \
657b387034fb 7119644: Increase superword's vector size up to 256 bits
kvn
parents: 12960
diff changeset
  1851
  declare_c2_type(Pack2DNode, PackNode)                                   \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1852
  declare_c2_type(ExtractNode, Node)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1853
  declare_c2_type(ExtractBNode, ExtractNode)                              \
13893
8ffaa5b97ca6 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 13891
diff changeset
  1854
  declare_c2_type(ExtractUBNode, ExtractNode)                             \
8ffaa5b97ca6 7200233: C2: can't use expand rules for vector instruction rules
kvn
parents: 13891
diff changeset
  1855
  declare_c2_type(ExtractCNode, ExtractNode)                              \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1856
  declare_c2_type(ExtractSNode, ExtractNode)                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1857
  declare_c2_type(ExtractINode, ExtractNode)                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1858
  declare_c2_type(ExtractLNode, ExtractNode)                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1859
  declare_c2_type(ExtractFNode, ExtractNode)                              \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1860
  declare_c2_type(ExtractDNode, ExtractNode)                              \
22911
ff49c48c887d 8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents: 22887
diff changeset
  1861
  declare_c2_type(OverflowNode, CmpNode)                                  \
ff49c48c887d 8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents: 22887
diff changeset
  1862
  declare_c2_type(OverflowINode, OverflowNode)                            \
ff49c48c887d 8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents: 22887
diff changeset
  1863
  declare_c2_type(OverflowAddINode, OverflowINode)                        \
ff49c48c887d 8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents: 22887
diff changeset
  1864
  declare_c2_type(OverflowSubINode, OverflowINode)                        \
ff49c48c887d 8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents: 22887
diff changeset
  1865
  declare_c2_type(OverflowMulINode, OverflowINode)                        \
ff49c48c887d 8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents: 22887
diff changeset
  1866
  declare_c2_type(OverflowLNode, OverflowNode)                            \
ff49c48c887d 8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents: 22887
diff changeset
  1867
  declare_c2_type(OverflowAddLNode, OverflowLNode)                        \
ff49c48c887d 8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents: 22887
diff changeset
  1868
  declare_c2_type(OverflowSubLNode, OverflowLNode)                        \
ff49c48c887d 8027754: Enable loop optimizations for loops with MathExact inside
rbackman
parents: 22887
diff changeset
  1869
  declare_c2_type(OverflowMulLNode, OverflowLNode)                        \
41323
ddd5600d4762 8154122: Intrinsify fused mac operations
vdeshpande
parents: 40356
diff changeset
  1870
  declare_c2_type(FmaDNode, Node)                                         \
ddd5600d4762 8154122: Intrinsify fused mac operations
vdeshpande
parents: 40356
diff changeset
  1871
  declare_c2_type(FmaFNode, Node)                                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1872
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1873
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1874
  /* Adapter Blob Entries */                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1875
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1876
  declare_toplevel_type(AdapterHandlerEntry)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1877
  declare_toplevel_type(AdapterHandlerEntry*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1878
                                                                          \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1879
  /*********************/                                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1880
  /* CI */                                                                \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1881
  /*********************/                                                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1882
  declare_toplevel_type(ciEnv)                                            \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1883
  declare_toplevel_type(ciObjectFactory)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1884
  declare_toplevel_type(ciConstant)                                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1885
  declare_toplevel_type(ciField)                                          \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1886
  declare_toplevel_type(ciSymbol)                                         \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1887
  declare_toplevel_type(ciBaseObject)                                     \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1888
  declare_type(ciObject, ciBaseObject)                                    \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1889
  declare_type(ciInstance, ciObject)                                      \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1890
  declare_type(ciMetadata, ciBaseObject)                                  \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1891
  declare_type(ciMethod, ciMetadata)                                      \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1892
  declare_type(ciMethodData, ciMetadata)                                  \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1893
  declare_type(ciType, ciMetadata)                                        \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1894
  declare_type(ciKlass, ciType)                                           \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1895
  declare_type(ciInstanceKlass, ciKlass)                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1896
  declare_type(ciArrayKlass, ciKlass)                                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1897
  declare_type(ciTypeArrayKlass, ciArrayKlass)                            \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1898
  declare_type(ciObjArrayKlass, ciArrayKlass)                             \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1899
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1900
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1901
  /* -XX flags        */                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1902
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1903
                                                                          \
49902
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1904
  declare_toplevel_type(JVMFlag)                                          \
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1905
  declare_toplevel_type(JVMFlag*)                                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1906
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1907
  /********************/                                                  \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1908
  /* JVMTI            */                                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1909
  /********************/                                                  \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1910
                                                                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1911
  declare_toplevel_type(JvmtiExport)                                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1912
                                                                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1913
  /********************/                                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1914
  /* JDK/VM version   */                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1915
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1916
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1917
  declare_toplevel_type(Abstract_VM_Version)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1918
  declare_toplevel_type(JDK_Version)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1919
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1920
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1921
  /* Arguments */                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1922
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1923
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1924
  declare_toplevel_type(Arguments)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1925
                                                                          \
38266
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1926
  /***********/                                                           \
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1927
  /* VMError */                                                           \
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1928
  /***********/                                                           \
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1929
                                                                          \
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1930
  declare_toplevel_type(VMError)                                          \
aa3dbc37ede9 8156133: FindCrashesAction in HSDB does not work except Solaris platform
ysuenaga
parents: 38241
diff changeset
  1931
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1932
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1933
  /* Other types */                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1934
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1935
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1936
  /* all enum types */                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1937
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1938
   declare_integer_type(Bytecodes::Code)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1939
   declare_integer_type(Generation::Name)                                 \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1940
   declare_integer_type(InstanceKlass::ClassState)                        \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1941
   declare_integer_type(JavaThreadState)                                  \
46636
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  1942
   declare_integer_type(ThreadState)                                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1943
   declare_integer_type(Location::Type)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1944
   declare_integer_type(Location::Where)                                  \
49902
3661f31c6df4 8202150: [REDO] Split globals.hpp to factor out the Flag class
gziemski
parents: 49896
diff changeset
  1945
   declare_integer_type(JVMFlag::Flags)                                   \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1946
   COMPILER2_PRESENT(declare_integer_type(OptoReg::Name))                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1947
                                                                          \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1948
   declare_toplevel_type(CHeapObj<mtInternal>)                            \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1949
            declare_type(Array<int>, MetaspaceObj)                        \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1950
            declare_type(Array<u1>, MetaspaceObj)                         \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1951
            declare_type(Array<u2>, MetaspaceObj)                         \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1952
            declare_type(Array<Klass*>, MetaspaceObj)                     \
20288
e2d549f40de9 8024545: make develop and notproduct flag values available in product builds
twisti
parents: 20017
diff changeset
  1953
            declare_type(Array<Method*>, MetaspaceObj)                    \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  1954
                                                                          \
38177
b0c9cb06506b 8141501: Problems with BitMap buffer management
stefank
parents: 38144
diff changeset
  1955
   declare_toplevel_type(BitMap)                                          \
b0c9cb06506b 8141501: Problems with BitMap buffer management
stefank
parents: 38144
diff changeset
  1956
            declare_type(BitMapView, BitMap)                              \
b0c9cb06506b 8141501: Problems with BitMap buffer management
stefank
parents: 38144
diff changeset
  1957
                                                                          \
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  1958
  declare_integer_type(markWord)                                          \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  1959
  declare_integer_type(AccessFlags)  /* FIXME: wrong type (not integer) */\
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1960
  declare_toplevel_type(address)      /* FIXME: should this be an integer type? */\
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  1961
  declare_integer_type(BasicType)   /* FIXME: wrong type (not integer) */ \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1962
  declare_toplevel_type(BreakpointInfo)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1963
  declare_toplevel_type(BreakpointInfo*)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1964
  declare_toplevel_type(CodeBlob*)                                        \
38133
78b95467b9f1 8151956: Support non-continuous CodeBlobs in HotSpot
rbackman
parents: 38051
diff changeset
  1965
  declare_toplevel_type(RuntimeBlob*)                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1966
  declare_toplevel_type(CompressedWriteStream*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1967
  declare_toplevel_type(ConstantPoolCacheEntry)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1968
  declare_toplevel_type(elapsedTimer)                                     \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1969
  declare_toplevel_type(frame)                                            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1970
  declare_toplevel_type(intptr_t*)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1971
   declare_unsigned_integer_type(InvocationCounter) /* FIXME: wrong type (not integer) */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1972
  declare_toplevel_type(JavaThread*)                                      \
54955
46409371a691 8223306: Remove threads linked list (use ThreadsList's array in SA)
rehn
parents: 54780
diff changeset
  1973
  declare_toplevel_type(JavaThread *const *const)                         \
8725
8c1e3dd5fe1b 7017732: move static fields into Class to prepare for perm gen removal
never
parents: 8330
diff changeset
  1974
  declare_toplevel_type(java_lang_Class)                                  \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1975
  declare_integer_type(JavaThread::AsyncRequests)                         \
45371
5d0b68ea07c3 6760477: Update SA to include stack traces in the heap dump
sballal
parents: 45171
diff changeset
  1976
  declare_integer_type(JavaThread::TerminatedTypes)                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1977
  declare_toplevel_type(jbyte*)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1978
  declare_toplevel_type(jbyte**)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1979
  declare_toplevel_type(jint*)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1980
  declare_toplevel_type(jniIdMapBase*)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1981
  declare_unsigned_integer_type(juint)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1982
  declare_unsigned_integer_type(julong)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1983
  declare_toplevel_type(JNIHandleBlock*)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1984
  declare_toplevel_type(JNIid)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1985
  declare_toplevel_type(JNIid*)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1986
  declare_toplevel_type(jmethodID*)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1987
  declare_toplevel_type(Mutex*)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1988
  declare_toplevel_type(nmethod*)                                         \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  1989
  COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t))            \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1990
  declare_toplevel_type(ObjectMonitor*)                                   \
47634
6a0c42c40cd1 8188220: Remove Atomic::*_ptr() uses and overloads from hotspot
coleenp
parents: 47603
diff changeset
  1991
  declare_toplevel_type(PaddedObjectMonitor*)                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1992
  declare_toplevel_type(oop*)                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1993
  declare_toplevel_type(OopMap**)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1994
  declare_toplevel_type(OopMapCache*)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1995
  declare_toplevel_type(OopMapSet*)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1996
  declare_toplevel_type(VMReg)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1997
  declare_toplevel_type(OSThread*)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1998
   declare_integer_type(ReferenceType)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1999
  declare_toplevel_type(StubQueue*)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2000
  declare_toplevel_type(Thread*)                                          \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2001
  declare_toplevel_type(Universe)                                         \
54780
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
  2002
  declare_toplevel_type(CompressedOops)                                   \
f8d182aedc92 8223136: Move compressed oops functions to CompressedOops class
stefank
parents: 54750
diff changeset
  2003
  declare_toplevel_type(CompressedKlassPointers)                          \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2004
  declare_toplevel_type(os)                                               \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2005
  declare_toplevel_type(vframeArray)                                      \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2006
  declare_toplevel_type(vframeArrayElement)                               \
14123
944e56f74fba 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 13978
diff changeset
  2007
  declare_toplevel_type(Annotations*)                                     \
47816
ac0af7750da9 8189798: SA cleanup - part 1
jgeorge
parents: 47765
diff changeset
  2008
  declare_type(OopMapValue, StackObj)                                     \
49896
ec2dd30adbc1 8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
jgeorge
parents: 49877
diff changeset
  2009
  declare_type(FileMapInfo, CHeapObj<mtInternal>)                         \
51477
e77d7687c831 8209657: Refactor filemap.hpp to simplify integration with Serviceability Agent
iklam
parents: 51444
diff changeset
  2010
  declare_toplevel_type(FileMapHeader)                                    \
e77d7687c831 8209657: Refactor filemap.hpp to simplify integration with Serviceability Agent
iklam
parents: 51444
diff changeset
  2011
  declare_toplevel_type(CDSFileMapRegion)                                 \
14123
944e56f74fba 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 13978
diff changeset
  2012
                                                                          \
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2013
  /************/                                                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2014
  /* GC types */                                                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2015
  /************/                                                          \
14123
944e56f74fba 7045397: NPG: Add freelists to class loader arenas.
jmasa
parents: 13978
diff changeset
  2016
                                                                          \
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2017
  VM_TYPES_GC(declare_type,                                               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2018
              declare_toplevel_type,                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2019
              declare_integer_type)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2020
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2021
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2022
// VM_INT_CONSTANTS
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2023
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2024
// This table contains integer constants required over in the
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2025
// serviceability agent. The "declare_constant" macro is used for all
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2026
// enums, etc., while "declare_preprocessor_constant" must be used for
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2027
// all #defined constants.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2028
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2029
#define VM_INT_CONSTANTS(declare_constant,                                \
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2030
                         declare_constant_with_value,                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2031
                         declare_preprocessor_constant,                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2032
                         declare_c1_constant,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2033
                         declare_c2_constant,                             \
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2034
                         declare_c2_preprocessor_constant)                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2035
                                                                          \
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2036
  /****************/                                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2037
  /* GC constants */                                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2038
  /****************/                                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2039
                                                                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2040
  VM_INT_CONSTANTS_GC(declare_constant,                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2041
                      declare_constant_with_value)                        \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2042
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2043
  /******************/                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2044
  /* Useful globals */                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2045
  /******************/                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2046
                                                                          \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2047
  declare_preprocessor_constant("ASSERT", DEBUG_ONLY(1) NOT_DEBUG(0))     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2048
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2049
  /**************/                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2050
  /* Stack bias */                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2051
  /**************/                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2052
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2053
  declare_preprocessor_constant("STACK_BIAS", STACK_BIAS)                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2054
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2055
  /****************/                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2056
  /* Object sizes */                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2057
  /****************/                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2058
                                                                          \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
  2059
  declare_constant(oopSize)                                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2060
  declare_constant(LogBytesPerWord)                                       \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2061
  declare_constant(BytesPerWord)                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2062
  declare_constant(BytesPerLong)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2063
                                                                          \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2064
  declare_constant(LogKlassAlignmentInBytes)                              \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2065
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2066
  declare_constant(HeapWordSize)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2067
  declare_constant(LogHeapWordSize)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2068
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2069
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2070
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2071
  /* PerfMemory - jvmstat */                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2072
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2073
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2074
  declare_preprocessor_constant("PERFDATA_MAJOR_VERSION", PERFDATA_MAJOR_VERSION) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2075
  declare_preprocessor_constant("PERFDATA_MINOR_VERSION", PERFDATA_MINOR_VERSION) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2076
  declare_preprocessor_constant("PERFDATA_BIG_ENDIAN", PERFDATA_BIG_ENDIAN)       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2077
  declare_preprocessor_constant("PERFDATA_LITTLE_ENDIAN", PERFDATA_LITTLE_ENDIAN) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2078
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2079
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2080
  /************************************************************/          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2081
  /* HotSpot specific JVM_ACC constants from global anon enum */          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2082
  /************************************************************/          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2083
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2084
  declare_constant(JVM_ACC_WRITTEN_FLAGS)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2085
  declare_constant(JVM_ACC_MONITOR_MATCH)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2086
  declare_constant(JVM_ACC_HAS_MONITOR_BYTECODES)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2087
  declare_constant(JVM_ACC_HAS_LOOPS)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2088
  declare_constant(JVM_ACC_LOOPS_FLAG_INIT)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2089
  declare_constant(JVM_ACC_QUEUED)                                        \
13891
35dabd293e56 7200001: failed C1 OSR compile doesn't get recompiled with C2
twisti
parents: 13738
diff changeset
  2090
  declare_constant(JVM_ACC_NOT_C2_OSR_COMPILABLE)                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2091
  declare_constant(JVM_ACC_HAS_LINE_NUMBER_TABLE)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2092
  declare_constant(JVM_ACC_HAS_CHECKED_EXCEPTIONS)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2093
  declare_constant(JVM_ACC_HAS_JSRS)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2094
  declare_constant(JVM_ACC_IS_OLD)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2095
  declare_constant(JVM_ACC_IS_OBSOLETE)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2096
  declare_constant(JVM_ACC_IS_PREFIXED_NATIVE)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2097
  declare_constant(JVM_ACC_HAS_MIRANDA_METHODS)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2098
  declare_constant(JVM_ACC_HAS_VANILLA_CONSTRUCTOR)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2099
  declare_constant(JVM_ACC_HAS_FINALIZER)                                 \
35544
c7ec868d0923 8133612: new clone logic added in 8042235 is missing from compiler intrinsics
vlivanov
parents: 35540
diff changeset
  2100
  declare_constant(JVM_ACC_IS_CLONEABLE_FAST)                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2101
  declare_constant(JVM_ACC_HAS_LOCAL_VARIABLE_TABLE)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2102
  declare_constant(JVM_ACC_PROMOTED_FLAGS)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2103
  declare_constant(JVM_ACC_FIELD_ACCESS_WATCHED)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2104
  declare_constant(JVM_ACC_FIELD_MODIFICATION_WATCHED)                    \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2105
  declare_constant(JVM_ACC_FIELD_INTERNAL)                                \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2106
  declare_constant(JVM_ACC_FIELD_STABLE)                                  \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2107
  declare_constant(JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE)                   \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2108
                                                                          \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2109
  declare_constant(JVM_CONSTANT_Utf8)                                     \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2110
  declare_constant(JVM_CONSTANT_Unicode)                                  \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2111
  declare_constant(JVM_CONSTANT_Integer)                                  \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2112
  declare_constant(JVM_CONSTANT_Float)                                    \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2113
  declare_constant(JVM_CONSTANT_Long)                                     \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2114
  declare_constant(JVM_CONSTANT_Double)                                   \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2115
  declare_constant(JVM_CONSTANT_Class)                                    \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2116
  declare_constant(JVM_CONSTANT_String)                                   \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2117
  declare_constant(JVM_CONSTANT_Fieldref)                                 \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2118
  declare_constant(JVM_CONSTANT_Methodref)                                \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2119
  declare_constant(JVM_CONSTANT_InterfaceMethodref)                       \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2120
  declare_constant(JVM_CONSTANT_NameAndType)                              \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2121
  declare_constant(JVM_CONSTANT_MethodHandle)                             \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2122
  declare_constant(JVM_CONSTANT_MethodType)                               \
48826
c4d9d1b08e2e 8186209: Tool support for ConstantDynamic
psandoz
parents: 48819
diff changeset
  2123
  declare_constant(JVM_CONSTANT_Dynamic)                                  \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2124
  declare_constant(JVM_CONSTANT_InvokeDynamic)                            \
54595
a61da18408c1 8222502: Replace 19,20 case alternatives with JVM_CONSTANT_Module/Package names
lfoltan
parents: 54122
diff changeset
  2125
  declare_constant(JVM_CONSTANT_Module)                                   \
a61da18408c1 8222502: Replace 19,20 case alternatives with JVM_CONSTANT_Module/Package names
lfoltan
parents: 54122
diff changeset
  2126
  declare_constant(JVM_CONSTANT_Package)                                  \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2127
  declare_constant(JVM_CONSTANT_ExternalMax)                              \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2128
                                                                          \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2129
  declare_constant(JVM_CONSTANT_Invalid)                                  \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2130
  declare_constant(JVM_CONSTANT_InternalMin)                              \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2131
  declare_constant(JVM_CONSTANT_UnresolvedClass)                          \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2132
  declare_constant(JVM_CONSTANT_ClassIndex)                               \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2133
  declare_constant(JVM_CONSTANT_StringIndex)                              \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2134
  declare_constant(JVM_CONSTANT_UnresolvedClassInError)                   \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2135
  declare_constant(JVM_CONSTANT_MethodHandleInError)                      \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2136
  declare_constant(JVM_CONSTANT_MethodTypeInError)                        \
48826
c4d9d1b08e2e 8186209: Tool support for ConstantDynamic
psandoz
parents: 48819
diff changeset
  2137
  declare_constant(JVM_CONSTANT_DynamicInError)                           \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2138
  declare_constant(JVM_CONSTANT_InternalMax)                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2139
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2140
  /*****************************/                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2141
  /* Thread::SuspendFlags enum */                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2142
  /*****************************/                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2143
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2144
  declare_constant(Thread::_external_suspend)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2145
  declare_constant(Thread::_ext_suspended)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2146
  declare_constant(Thread::_has_async_exception)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2147
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2148
  /*******************/                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2149
  /* JavaThreadState */                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2150
  /*******************/                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2151
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2152
  declare_constant(_thread_uninitialized)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2153
  declare_constant(_thread_new)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2154
  declare_constant(_thread_new_trans)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2155
  declare_constant(_thread_in_native)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2156
  declare_constant(_thread_in_native_trans)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2157
  declare_constant(_thread_in_vm)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2158
  declare_constant(_thread_in_vm_trans)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2159
  declare_constant(_thread_in_Java)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2160
  declare_constant(_thread_in_Java_trans)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2161
  declare_constant(_thread_blocked)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2162
  declare_constant(_thread_blocked_trans)                                 \
45371
5d0b68ea07c3 6760477: Update SA to include stack traces in the heap dump
sballal
parents: 45171
diff changeset
  2163
  declare_constant(JavaThread::_not_terminated)                           \
5d0b68ea07c3 6760477: Update SA to include stack traces in the heap dump
sballal
parents: 45171
diff changeset
  2164
  declare_constant(JavaThread::_thread_exiting)                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2165
                                                                          \
46636
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2166
  /*******************/                                                   \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2167
  /* JavaThreadState */                                                   \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2168
  /*******************/                                                   \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2169
                                                                          \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2170
  declare_constant(ALLOCATED)                                             \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2171
  declare_constant(INITIALIZED)                                           \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2172
  declare_constant(RUNNABLE)                                              \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2173
  declare_constant(MONITOR_WAIT)                                          \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2174
  declare_constant(CONDVAR_WAIT)                                          \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2175
  declare_constant(OBJECT_WAIT)                                           \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2176
  declare_constant(BREAKPOINTED)                                          \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2177
  declare_constant(SLEEPING)                                              \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2178
  declare_constant(ZOMBIE)                                                \
26b8de0359a0 8181647: jhsdb jstack could not output thread name
dbuck
parents: 46542
diff changeset
  2179
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2180
  /******************************/                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2181
  /* Klass misc. enum constants */                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2182
  /******************************/                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2183
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2184
  declare_constant(Klass::_primary_super_limit)                           \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2185
  declare_constant(Klass::_lh_neutral_value)                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2186
  declare_constant(Klass::_lh_instance_slow_path_bit)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2187
  declare_constant(Klass::_lh_log2_element_size_shift)                    \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2188
  declare_constant(Klass::_lh_log2_element_size_mask)                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2189
  declare_constant(Klass::_lh_element_type_shift)                         \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2190
  declare_constant(Klass::_lh_element_type_mask)                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2191
  declare_constant(Klass::_lh_header_size_shift)                          \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2192
  declare_constant(Klass::_lh_header_size_mask)                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2193
  declare_constant(Klass::_lh_array_tag_shift)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2194
  declare_constant(Klass::_lh_array_tag_type_value)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2195
  declare_constant(Klass::_lh_array_tag_obj_value)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2196
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2197
  /********************************/                                      \
15601
df8faef6efaf 8007320: NPG: move method annotations
coleenp
parents: 15497
diff changeset
  2198
  /* ConstMethod anon-enum */                                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2199
  /********************************/                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2200
                                                                          \
23219
69e72eaf9f51 8037043: put Method flag bits in predictable positions
twisti
parents: 22915
diff changeset
  2201
  declare_constant(Method::_caller_sensitive)                             \
69e72eaf9f51 8037043: put Method flag bits in predictable positions
twisti
parents: 22915
diff changeset
  2202
  declare_constant(Method::_force_inline)                                 \
69e72eaf9f51 8037043: put Method flag bits in predictable positions
twisti
parents: 22915
diff changeset
  2203
  declare_constant(Method::_dont_inline)                                  \
69e72eaf9f51 8037043: put Method flag bits in predictable positions
twisti
parents: 22915
diff changeset
  2204
  declare_constant(Method::_hidden)                                       \
69e72eaf9f51 8037043: put Method flag bits in predictable positions
twisti
parents: 22915
diff changeset
  2205
                                                                          \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2206
  declare_constant(Method::nonvirtual_vtable_index)                       \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2207
                                                                          \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2208
  declare_constant(Method::extra_stack_entries_for_jsr292)                \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2209
                                                                          \
15601
df8faef6efaf 8007320: NPG: move method annotations
coleenp
parents: 15497
diff changeset
  2210
  declare_constant(ConstMethod::_has_linenumber_table)                    \
df8faef6efaf 8007320: NPG: move method annotations
coleenp
parents: 15497
diff changeset
  2211
  declare_constant(ConstMethod::_has_checked_exceptions)                  \
df8faef6efaf 8007320: NPG: move method annotations
coleenp
parents: 15497
diff changeset
  2212
  declare_constant(ConstMethod::_has_localvariable_table)                 \
df8faef6efaf 8007320: NPG: move method annotations
coleenp
parents: 15497
diff changeset
  2213
  declare_constant(ConstMethod::_has_exception_table)                     \
df8faef6efaf 8007320: NPG: move method annotations
coleenp
parents: 15497
diff changeset
  2214
  declare_constant(ConstMethod::_has_generic_signature)                   \
21072
79f352543307 8005810: Update Hotspot Serviceability Agent for Method Parameter Reflection and Generic Type Signature Data
dsamersoff
parents: 20408
diff changeset
  2215
  declare_constant(ConstMethod::_has_method_parameters)                   \
15601
df8faef6efaf 8007320: NPG: move method annotations
coleenp
parents: 15497
diff changeset
  2216
  declare_constant(ConstMethod::_has_method_annotations)                  \
df8faef6efaf 8007320: NPG: move method annotations
coleenp
parents: 15497
diff changeset
  2217
  declare_constant(ConstMethod::_has_parameter_annotations)               \
df8faef6efaf 8007320: NPG: move method annotations
coleenp
parents: 15497
diff changeset
  2218
  declare_constant(ConstMethod::_has_default_annotations)                 \
df8faef6efaf 8007320: NPG: move method annotations
coleenp
parents: 15497
diff changeset
  2219
  declare_constant(ConstMethod::_has_type_annotations)                    \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2220
                                                                          \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2221
  /**************/                                                        \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2222
  /* DataLayout */                                                        \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2223
  /**************/                                                        \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2224
                                                                          \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2225
  declare_constant(DataLayout::cell_size)                                 \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2226
  declare_constant(DataLayout::no_tag)                                    \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2227
  declare_constant(DataLayout::bit_data_tag)                              \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2228
  declare_constant(DataLayout::counter_data_tag)                          \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2229
  declare_constant(DataLayout::jump_data_tag)                             \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2230
  declare_constant(DataLayout::receiver_type_data_tag)                    \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2231
  declare_constant(DataLayout::virtual_call_data_tag)                     \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2232
  declare_constant(DataLayout::ret_data_tag)                              \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2233
  declare_constant(DataLayout::branch_data_tag)                           \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2234
  declare_constant(DataLayout::multi_branch_data_tag)                     \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2235
  declare_constant(DataLayout::arg_info_data_tag)                         \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2236
  declare_constant(DataLayout::call_type_data_tag)                        \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2237
  declare_constant(DataLayout::virtual_call_type_data_tag)                \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2238
  declare_constant(DataLayout::parameters_type_data_tag)                  \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2239
  declare_constant(DataLayout::speculative_trap_data_tag)                 \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2240
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2241
  /*************************************/                                 \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2242
  /* InstanceKlass enum                */                                 \
10546
e79347eebbc5 7086585: make Java field injection more flexible
never
parents: 10517
diff changeset
  2243
  /*************************************/                                 \
e79347eebbc5 7086585: make Java field injection more flexible
never
parents: 10517
diff changeset
  2244
                                                                          \
e79347eebbc5 7086585: make Java field injection more flexible
never
parents: 10517
diff changeset
  2245
                                                                          \
e79347eebbc5 7086585: make Java field injection more flexible
never
parents: 10517
diff changeset
  2246
  /*************************************/                                 \
e79347eebbc5 7086585: make Java field injection more flexible
never
parents: 10517
diff changeset
  2247
  /* FieldInfo FieldOffset enum        */                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2248
  /*************************************/                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2249
                                                                          \
10546
e79347eebbc5 7086585: make Java field injection more flexible
never
parents: 10517
diff changeset
  2250
  declare_constant(FieldInfo::access_flags_offset)                        \
e79347eebbc5 7086585: make Java field injection more flexible
never
parents: 10517
diff changeset
  2251
  declare_constant(FieldInfo::name_index_offset)                          \
e79347eebbc5 7086585: make Java field injection more flexible
never
parents: 10517
diff changeset
  2252
  declare_constant(FieldInfo::signature_index_offset)                     \
e79347eebbc5 7086585: make Java field injection more flexible
never
parents: 10517
diff changeset
  2253
  declare_constant(FieldInfo::initval_index_offset)                       \
15193
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15190
diff changeset
  2254
  declare_constant(FieldInfo::low_packed_offset)                          \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15190
diff changeset
  2255
  declare_constant(FieldInfo::high_packed_offset)                         \
10546
e79347eebbc5 7086585: make Java field injection more flexible
never
parents: 10517
diff changeset
  2256
  declare_constant(FieldInfo::field_slots)                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2257
                                                                          \
15193
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15190
diff changeset
  2258
  /*************************************/                                 \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15190
diff changeset
  2259
  /* FieldInfo tag constants           */                                 \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15190
diff changeset
  2260
  /*************************************/                                 \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15190
diff changeset
  2261
                                                                          \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15190
diff changeset
  2262
  declare_preprocessor_constant("FIELDINFO_TAG_SIZE", FIELDINFO_TAG_SIZE) \
15225
40677d8847bd 8006403: Regression: jstack failed due to the FieldInfo regression in SA
sla
parents: 15196
diff changeset
  2263
  declare_preprocessor_constant("FIELDINFO_TAG_MASK", FIELDINFO_TAG_MASK) \
15193
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15190
diff changeset
  2264
  declare_preprocessor_constant("FIELDINFO_TAG_OFFSET", FIELDINFO_TAG_OFFSET) \
8e6b5694267f 8003985: Support @Contended Annotation - JEP 142
jwilhelm
parents: 15190
diff changeset
  2265
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2266
  /************************************************/                      \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2267
  /* InstanceKlass InnerClassAttributeOffset enum */                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2268
  /************************************************/                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2269
                                                                          \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2270
  declare_constant(InstanceKlass::inner_class_inner_class_info_offset)    \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2271
  declare_constant(InstanceKlass::inner_class_outer_class_info_offset)    \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2272
  declare_constant(InstanceKlass::inner_class_inner_name_offset)          \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2273
  declare_constant(InstanceKlass::inner_class_access_flags_offset)        \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2274
  declare_constant(InstanceKlass::inner_class_next_offset)                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2275
                                                                          \
48166
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2276
  /*****************************************************/                 \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2277
  /* InstanceKlass EnclosingMethodAttributeOffset enum */                 \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2278
  /*****************************************************/                 \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2279
                                                                          \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2280
  declare_constant(InstanceKlass::enclosing_method_attribute_size)        \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2281
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2282
  /*********************************/                                     \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2283
  /* InstanceKlass ClassState enum */                                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2284
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2285
                                                                          \
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2286
  declare_constant(InstanceKlass::allocated)                              \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2287
  declare_constant(InstanceKlass::loaded)                                 \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2288
  declare_constant(InstanceKlass::linked)                                 \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2289
  declare_constant(InstanceKlass::being_initialized)                      \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2290
  declare_constant(InstanceKlass::fully_initialized)                      \
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  2291
  declare_constant(InstanceKlass::initialization_error)                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2292
                                                                          \
42650
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2293
  /***************************************/                               \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2294
  /* InstanceKlass enums for _misc_flags */                               \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2295
  /***************************************/                               \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2296
                                                                          \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2297
  declare_constant(InstanceKlass::_misc_rewritten)                        \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2298
  declare_constant(InstanceKlass::_misc_has_nonstatic_fields)             \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2299
  declare_constant(InstanceKlass::_misc_should_verify_class)              \
51444
3e5d28e6de32 8209301: JVM rename is_anonymous, host_klass to unsafe specific terminology ahead of Unsafe.defineAnonymousClass deprecation
lfoltan
parents: 51405
diff changeset
  2300
  declare_constant(InstanceKlass::_misc_is_unsafe_anonymous)              \
42650
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2301
  declare_constant(InstanceKlass::_misc_is_contended)                     \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2302
  declare_constant(InstanceKlass::_misc_has_nonstatic_concrete_methods)   \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2303
  declare_constant(InstanceKlass::_misc_declares_nonstatic_concrete_methods)\
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2304
  declare_constant(InstanceKlass::_misc_has_been_redefined)               \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2305
  declare_constant(InstanceKlass::_misc_has_passed_fingerprint_check)     \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2306
  declare_constant(InstanceKlass::_misc_is_scratch_class)                 \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2307
  declare_constant(InstanceKlass::_misc_is_shared_boot_class)             \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2308
  declare_constant(InstanceKlass::_misc_is_shared_platform_class)         \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2309
  declare_constant(InstanceKlass::_misc_is_shared_app_class)              \
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2310
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2311
  /*********************************/                                     \
13391
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13286
diff changeset
  2312
  /* Symbol* - symbol max length */                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2313
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2314
                                                                          \
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  2315
  declare_constant(Symbol::max_symbol_length)                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2316
                                                                          \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2317
  /***********************************************/                       \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2318
  /* ConstantPool* layout enum for InvokeDynamic */                       \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2319
  /***********************************************/                       \
7114
65d21c4c6337 6984311: JSR 292 needs optional bootstrap method parameters
jrose
parents: 6418
diff changeset
  2320
                                                                          \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2321
  declare_constant(ConstantPool::_indy_bsm_offset)                        \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2322
  declare_constant(ConstantPool::_indy_argc_offset)                       \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2323
  declare_constant(ConstantPool::_indy_argv_offset)                       \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2324
  declare_constant(ConstantPool::CPCACHE_INDEX_TAG)                       \
7114
65d21c4c6337 6984311: JSR 292 needs optional bootstrap method parameters
jrose
parents: 6418
diff changeset
  2325
                                                                          \
13391
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13286
diff changeset
  2326
  /********************************/                                      \
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13286
diff changeset
  2327
  /* ConstantPoolCacheEntry enums */                                      \
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13286
diff changeset
  2328
  /********************************/                                      \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2329
                                                                          \
13391
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13286
diff changeset
  2330
  declare_constant(ConstantPoolCacheEntry::is_volatile_shift)             \
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13286
diff changeset
  2331
  declare_constant(ConstantPoolCacheEntry::is_final_shift)                \
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13286
diff changeset
  2332
  declare_constant(ConstantPoolCacheEntry::is_forced_virtual_shift)       \
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13286
diff changeset
  2333
  declare_constant(ConstantPoolCacheEntry::is_vfinal_shift)               \
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13286
diff changeset
  2334
  declare_constant(ConstantPoolCacheEntry::is_field_entry_shift)          \
30245956af37 7023639: JSR 292 method handle invocation needs a fast path for compiled code
twisti
parents: 13286
diff changeset
  2335
  declare_constant(ConstantPoolCacheEntry::tos_state_shift)               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2336
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2337
  /***************************************/                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2338
  /* java_lang_Thread::ThreadStatus enum */                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2339
  /***************************************/                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2340
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2341
  declare_constant(java_lang_Thread::NEW)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2342
  declare_constant(java_lang_Thread::RUNNABLE)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2343
  declare_constant(java_lang_Thread::SLEEPING)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2344
  declare_constant(java_lang_Thread::IN_OBJECT_WAIT)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2345
  declare_constant(java_lang_Thread::IN_OBJECT_WAIT_TIMED)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2346
  declare_constant(java_lang_Thread::PARKED)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2347
  declare_constant(java_lang_Thread::PARKED_TIMED)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2348
  declare_constant(java_lang_Thread::BLOCKED_ON_MONITOR_ENTER)            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2349
  declare_constant(java_lang_Thread::TERMINATED)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2350
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2351
  /******************************/                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2352
  /* Debug info                 */                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2353
  /******************************/                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2354
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2355
  declare_constant(Location::OFFSET_MASK)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2356
  declare_constant(Location::OFFSET_SHIFT)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2357
  declare_constant(Location::TYPE_MASK)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2358
  declare_constant(Location::TYPE_SHIFT)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2359
  declare_constant(Location::WHERE_MASK)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2360
  declare_constant(Location::WHERE_SHIFT)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2361
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2362
  /* constants from Location::Type enum  */                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2363
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2364
  declare_constant(Location::normal)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2365
  declare_constant(Location::oop)                                         \
1135
9487203e5789 6706829: Compressed Oops: add debug info for narrow oops
kvn
parents: 1066
diff changeset
  2366
  declare_constant(Location::narrowoop)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2367
  declare_constant(Location::int_in_long)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2368
  declare_constant(Location::lng)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2369
  declare_constant(Location::float_in_dbl)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2370
  declare_constant(Location::dbl)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2371
  declare_constant(Location::addr)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2372
  declare_constant(Location::invalid)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2373
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2374
  /* constants from Location::Where enum */                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2375
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2376
  declare_constant(Location::on_stack)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2377
  declare_constant(Location::in_register)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2378
                                                                          \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2379
  declare_constant(Deoptimization::Reason_many)                           \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2380
  declare_constant(Deoptimization::Reason_none)                           \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2381
  declare_constant(Deoptimization::Reason_null_check)                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2382
  declare_constant(Deoptimization::Reason_null_assert)                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2383
  declare_constant(Deoptimization::Reason_range_check)                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2384
  declare_constant(Deoptimization::Reason_class_check)                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2385
  declare_constant(Deoptimization::Reason_array_check)                    \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2386
  declare_constant(Deoptimization::Reason_intrinsic)                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2387
  declare_constant(Deoptimization::Reason_bimorphic)                      \
50623
5209d8a6303e 8203197: C2: consider all paths in loop body for loop predication
roland
parents: 50577
diff changeset
  2388
  declare_constant(Deoptimization::Reason_profile_predicate)              \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2389
  declare_constant(Deoptimization::Reason_unloaded)                       \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2390
  declare_constant(Deoptimization::Reason_uninitialized)                  \
55105
9ad765641e8f 8223213: Implement fast class initialization checks on x86-64
vlivanov
parents: 54955
diff changeset
  2391
  declare_constant(Deoptimization::Reason_initialized)                    \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2392
  declare_constant(Deoptimization::Reason_unreached)                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2393
  declare_constant(Deoptimization::Reason_unhandled)                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2394
  declare_constant(Deoptimization::Reason_constraint)                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2395
  declare_constant(Deoptimization::Reason_div0_check)                     \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2396
  declare_constant(Deoptimization::Reason_age)                            \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2397
  declare_constant(Deoptimization::Reason_predicate)                      \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2398
  declare_constant(Deoptimization::Reason_loop_limit_check)               \
24476
912595db2e75 8026694: New type profiling points break compilation replay
roland
parents: 24442
diff changeset
  2399
  declare_constant(Deoptimization::Reason_speculate_class_check)          \
912595db2e75 8026694: New type profiling points break compilation replay
roland
parents: 24442
diff changeset
  2400
  declare_constant(Deoptimization::Reason_speculate_null_check)           \
46542
73dd19b96b5d 8181211: C2: Use profiling data to optimize on/off heap unsafe accesses
roland
parents: 46530
diff changeset
  2401
  declare_constant(Deoptimization::Reason_speculate_null_assert)          \
24476
912595db2e75 8026694: New type profiling points break compilation replay
roland
parents: 24442
diff changeset
  2402
  declare_constant(Deoptimization::Reason_rtm_state_change)               \
24934
43a6fc13b7d4 8030976: Untaken paths should be more vigorously pruned at highest optimization level
rbackman
parents: 24481
diff changeset
  2403
  declare_constant(Deoptimization::Reason_unstable_if)                    \
30183
a6588c0a3259 8073480: C2 should optimize explicit range checks
roland
parents: 29362
diff changeset
  2404
  declare_constant(Deoptimization::Reason_unstable_fused_if)              \
40893
12787d18650e 8163150: SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
dsamersoff
parents: 40892
diff changeset
  2405
  NOT_ZERO(JVMCI_ONLY(declare_constant(Deoptimization::Reason_aliasing)))                       \
12787d18650e 8163150: SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
dsamersoff
parents: 40892
diff changeset
  2406
  NOT_ZERO(JVMCI_ONLY(declare_constant(Deoptimization::Reason_transfer_to_interpreter)))        \
12787d18650e 8163150: SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
dsamersoff
parents: 40892
diff changeset
  2407
  NOT_ZERO(JVMCI_ONLY(declare_constant(Deoptimization::Reason_not_compiled_exception_handler))) \
12787d18650e 8163150: SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
dsamersoff
parents: 40892
diff changeset
  2408
  NOT_ZERO(JVMCI_ONLY(declare_constant(Deoptimization::Reason_unresolved)))                     \
12787d18650e 8163150: SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
dsamersoff
parents: 40892
diff changeset
  2409
  NOT_ZERO(JVMCI_ONLY(declare_constant(Deoptimization::Reason_jsr_mismatch)))                   \
24476
912595db2e75 8026694: New type profiling points break compilation replay
roland
parents: 24442
diff changeset
  2410
  declare_constant(Deoptimization::Reason_tenured)                        \
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2411
  declare_constant(Deoptimization::Reason_LIMIT)                          \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2412
  declare_constant(Deoptimization::Reason_RECORDED_LIMIT)                 \
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  2413
                                                                          \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2414
  declare_constant(Deoptimization::Action_none)                           \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2415
  declare_constant(Deoptimization::Action_maybe_recompile)                \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2416
  declare_constant(Deoptimization::Action_reinterpret)                    \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2417
  declare_constant(Deoptimization::Action_make_not_entrant)               \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2418
  declare_constant(Deoptimization::Action_make_not_compilable)            \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2419
  declare_constant(Deoptimization::Action_LIMIT)                          \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2420
                                                                          \
27165
785a8d56024c 8049737: Contended Locking reorder and cache line bucket
dcubed
parents: 26796
diff changeset
  2421
  /***************************************************/                   \
785a8d56024c 8049737: Contended Locking reorder and cache line bucket
dcubed
parents: 26796
diff changeset
  2422
  /* DEFAULT_CACHE_LINE_SIZE (globalDefinitions.hpp) */                   \
785a8d56024c 8049737: Contended Locking reorder and cache line bucket
dcubed
parents: 26796
diff changeset
  2423
  /***************************************************/                   \
785a8d56024c 8049737: Contended Locking reorder and cache line bucket
dcubed
parents: 26796
diff changeset
  2424
                                                                          \
40356
df5e8cabdf10 8163580: Cannot get Monitor Cache Dump in HSDB
ysuenaga
parents: 40010
diff changeset
  2425
  declare_preprocessor_constant("DEFAULT_CACHE_LINE_SIZE", DEFAULT_CACHE_LINE_SIZE) \
27165
785a8d56024c 8049737: Contended Locking reorder and cache line bucket
dcubed
parents: 26796
diff changeset
  2426
                                                                          \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2427
  declare_constant(Deoptimization::Unpack_deopt)                          \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2428
  declare_constant(Deoptimization::Unpack_exception)                      \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2429
  declare_constant(Deoptimization::Unpack_uncommon_trap)                  \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2430
  declare_constant(Deoptimization::Unpack_reexecute)                      \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2431
                                                                          \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2432
  declare_constant(Deoptimization::_action_bits)                          \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2433
  declare_constant(Deoptimization::_reason_bits)                          \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2434
  declare_constant(Deoptimization::_debug_id_bits)                        \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2435
  declare_constant(Deoptimization::_action_shift)                         \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2436
  declare_constant(Deoptimization::_reason_shift)                         \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2437
  declare_constant(Deoptimization::_debug_id_shift)                       \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2438
                                                                          \
48175
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2439
  /******************************************/                            \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2440
  /* BasicType enum (globalDefinitions.hpp) */                            \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2441
  /******************************************/                            \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2442
                                                                          \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2443
  declare_constant(T_BOOLEAN)                                             \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2444
  declare_constant(T_CHAR)                                                \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2445
  declare_constant(T_FLOAT)                                               \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2446
  declare_constant(T_DOUBLE)                                              \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2447
  declare_constant(T_BYTE)                                                \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2448
  declare_constant(T_SHORT)                                               \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2449
  declare_constant(T_INT)                                                 \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2450
  declare_constant(T_LONG)                                                \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2451
  declare_constant(T_OBJECT)                                              \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2452
  declare_constant(T_ARRAY)                                               \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2453
  declare_constant(T_VOID)                                                \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2454
  declare_constant(T_ADDRESS)                                             \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2455
  declare_constant(T_NARROWOOP)                                           \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2456
  declare_constant(T_METADATA)                                            \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2457
  declare_constant(T_NARROWKLASS)                                         \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2458
  declare_constant(T_CONFLICT)                                            \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2459
  declare_constant(T_ILLEGAL)                                             \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2460
                                                                          \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2461
  /**********************************************/                        \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2462
  /* BasicTypeSize enum (globalDefinitions.hpp) */                        \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2463
  /**********************************************/                        \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2464
                                                                          \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2465
  declare_constant(T_BOOLEAN_size)                                        \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2466
  declare_constant(T_CHAR_size)                                           \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2467
  declare_constant(T_FLOAT_size)                                          \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2468
  declare_constant(T_DOUBLE_size)                                         \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2469
  declare_constant(T_BYTE_size)                                           \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2470
  declare_constant(T_SHORT_size)                                          \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2471
  declare_constant(T_INT_size)                                            \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2472
  declare_constant(T_LONG_size)                                           \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2473
  declare_constant(T_OBJECT_size)                                         \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2474
  declare_constant(T_ARRAY_size)                                          \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2475
  declare_constant(T_NARROWOOP_size)                                      \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2476
  declare_constant(T_NARROWKLASS_size)                                    \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2477
  declare_constant(T_VOID_size)                                           \
babef393c286 8190837: BasicType and BasicTypeSize should refer to HotSpot values
ysuenaga
parents: 48166
diff changeset
  2478
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2479
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2480
  /* Matcher (C2 only) */                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2481
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2482
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2483
  declare_c2_preprocessor_constant("Matcher::interpreter_frame_pointer_reg", Matcher::interpreter_frame_pointer_reg()) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2484
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2485
  /*********************************************/                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2486
  /* MethodCompilation (globalDefinitions.hpp) */                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2487
  /*********************************************/                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2488
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2489
  declare_constant(InvocationEntryBci)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2490
                                                                          \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2491
  /*************/                                                         \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2492
  /* CompLevel */                                                         \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2493
  /*************/                                                         \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2494
                                                                          \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2495
  declare_constant(CompLevel_any)                                         \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2496
  declare_constant(CompLevel_all)                                         \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2497
  declare_constant(CompLevel_none)                                        \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2498
  declare_constant(CompLevel_simple)                                      \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2499
  declare_constant(CompLevel_limited_profile)                             \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2500
  declare_constant(CompLevel_full_profile)                                \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2501
  declare_constant(CompLevel_full_optimization)                           \
42650
1f304d0c888b 8171008: Integrate AOT compiler into JDK
kvn
parents: 41338
diff changeset
  2502
  declare_constant(CompLevel_aot)                                         \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2503
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2504
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2505
  /* OopMapValue */                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2506
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2507
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2508
  declare_constant(OopMapValue::type_bits)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2509
  declare_constant(OopMapValue::register_bits)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2510
  declare_constant(OopMapValue::type_shift)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2511
  declare_constant(OopMapValue::register_shift)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2512
  declare_constant(OopMapValue::type_mask)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2513
  declare_constant(OopMapValue::type_mask_in_place)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2514
  declare_constant(OopMapValue::register_mask)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2515
  declare_constant(OopMapValue::register_mask_in_place)                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2516
  declare_constant(OopMapValue::unused_value)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2517
  declare_constant(OopMapValue::oop_value)                                \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
  2518
  declare_constant(OopMapValue::narrowoop_value)                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2519
  declare_constant(OopMapValue::callee_saved_value)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2520
  declare_constant(OopMapValue::derived_oop_value)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2521
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2522
  /******************/                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2523
  /* JNIHandleBlock */                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2524
  /******************/                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2525
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2526
  declare_constant(JNIHandleBlock::block_size_in_oops)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2527
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2528
  /**********************/                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2529
  /* ObjectSynchronizer */                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2530
  /**********************/                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2531
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2532
  declare_constant(ObjectSynchronizer::_BLOCKSIZE)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2533
                                                                          \
10517
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2534
  /**********************/                                                \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2535
  /* PcDesc             */                                                \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2536
  /**********************/                                                \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2537
                                                                          \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2538
  declare_constant(PcDesc::PCDESC_reexecute)                              \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2539
  declare_constant(PcDesc::PCDESC_is_method_handle_invoke)                \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2540
  declare_constant(PcDesc::PCDESC_return_oop)                             \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2541
                                                                          \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2542
  /**********************/                                                \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2543
  /* frame              */                                                \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2544
  /**********************/                                                \
28369
a62a208f18de 8049716: PPC64: Implement SA on Linux/PPC64
simonis
parents: 28032
diff changeset
  2545
  NOT_ZERO(PPC64_ONLY(declare_constant(frame::entry_frame_locals_size)))  \
10517
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2546
                                                                          \
14294
130e947dfbe6 8000780: make Zero build and run with JDK8
twisti
parents: 14123
diff changeset
  2547
  NOT_ZERO(X86_ONLY(declare_constant(frame::entry_frame_call_wrapper_offset)))      \
10517
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2548
  declare_constant(frame::pc_return_offset)                               \
f92c9ff3a15f 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
never
parents: 10256
diff changeset
  2549
                                                                          \
10567
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
  2550
  /*************/                                                         \
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
  2551
  /* vmSymbols */                                                         \
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
  2552
  /*************/                                                         \
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
  2553
                                                                          \
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
  2554
  declare_constant(vmSymbols::FIRST_SID)                                  \
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
  2555
  declare_constant(vmSymbols::SID_LIMIT)                                  \
149651837c4a 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137"
never
parents: 10565
diff changeset
  2556
                                                                          \
20011
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2557
  /****************/                                                      \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2558
  /* vmIntrinsics */                                                      \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2559
  /****************/                                                      \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2560
                                                                          \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2561
  declare_constant(vmIntrinsics::_invokeBasic)                            \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2562
  declare_constant(vmIntrinsics::_linkToVirtual)                          \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2563
  declare_constant(vmIntrinsics::_linkToStatic)                           \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2564
  declare_constant(vmIntrinsics::_linkToSpecial)                          \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2565
  declare_constant(vmIntrinsics::_linkToInterface)                        \
d74937287461 8024760: add more types, fields and constants to VMStructs
twisti
parents: 19338
diff changeset
  2566
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2567
  /********************************/                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2568
  /* Calling convention constants */                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2569
  /********************************/                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2570
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2571
  declare_constant(RegisterImpl::number_of_registers)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2572
  declare_constant(ConcreteRegisterImpl::number_of_registers)             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2573
  declare_preprocessor_constant("REG_COUNT", REG_COUNT)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2574
  declare_c2_preprocessor_constant("SAVED_ON_ENTRY_REG_COUNT", SAVED_ON_ENTRY_REG_COUNT) \
40893
12787d18650e 8163150: SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
dsamersoff
parents: 40892
diff changeset
  2575
  declare_c2_preprocessor_constant("C_SAVED_ON_ENTRY_REG_COUNT", C_SAVED_ON_ENTRY_REG_COUNT) \
12787d18650e 8163150: SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
dsamersoff
parents: 40892
diff changeset
  2576
                                                                          \
48166
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2577
  /************/                                                          \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2578
  /* PerfData */                                                          \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2579
  /************/                                                          \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2580
                                                                          \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2581
  /***********************/                                               \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2582
  /* PerfData Units enum */                                               \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2583
  /***********************/                                               \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2584
                                                                          \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2585
  declare_constant(PerfData::U_None)                                      \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2586
  declare_constant(PerfData::U_Bytes)                                     \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2587
  declare_constant(PerfData::U_Ticks)                                     \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2588
  declare_constant(PerfData::U_Events)                                    \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2589
  declare_constant(PerfData::U_String)                                    \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2590
  declare_constant(PerfData::U_Hertz)                                     \
2659c4fe8ea7 8191324: SA cleanup -- part 2
jgeorge
parents: 48089
diff changeset
  2591
                                                                          \
40893
12787d18650e 8163150: SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
dsamersoff
parents: 40892
diff changeset
  2592
  /****************/                                                      \
12787d18650e 8163150: SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
dsamersoff
parents: 40892
diff changeset
  2593
  /* JVMCI */                                                             \
12787d18650e 8163150: SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
dsamersoff
parents: 40892
diff changeset
  2594
  /****************/                                                      \
12787d18650e 8163150: SA: CLHSDB printmdo throws an exception with "java.lang.InternalError: missing reason for 22"
dsamersoff
parents: 40892
diff changeset
  2595
                                                                          \
47566
4011de223231 8187402: UnknownOopException is occurred on Stack Memory window in HSDB
ysuenaga
parents: 47216
diff changeset
  2596
  declare_preprocessor_constant("INCLUDE_JVMCI", INCLUDE_JVMCI)           \
4011de223231 8187402: UnknownOopException is occurred on Stack Memory window in HSDB
ysuenaga
parents: 47216
diff changeset
  2597
                                                                          \
4011de223231 8187402: UnknownOopException is occurred on Stack Memory window in HSDB
ysuenaga
parents: 47216
diff changeset
  2598
  /****************/                                                      \
4011de223231 8187402: UnknownOopException is occurred on Stack Memory window in HSDB
ysuenaga
parents: 47216
diff changeset
  2599
  /*  VMRegImpl   */                                                      \
4011de223231 8187402: UnknownOopException is occurred on Stack Memory window in HSDB
ysuenaga
parents: 47216
diff changeset
  2600
  /****************/                                                      \
53637
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2601
  declare_constant(VMRegImpl::stack_slot_size)                            \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2602
                                                                          \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2603
  /******************************/                                        \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2604
  /*  -XX flags (value origin)  */                                        \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2605
  /******************************/                                        \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2606
  declare_constant(JVMFlag::DEFAULT)                                      \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2607
  declare_constant(JVMFlag::COMMAND_LINE)                                 \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2608
  declare_constant(JVMFlag::ENVIRON_VAR)                                  \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2609
  declare_constant(JVMFlag::CONFIG_FILE)                                  \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2610
  declare_constant(JVMFlag::MANAGEMENT)                                   \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2611
  declare_constant(JVMFlag::ERGONOMIC)                                    \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2612
  declare_constant(JVMFlag::ATTACH_ON_DEMAND)                             \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2613
  declare_constant(JVMFlag::INTERNAL)                                     \
58842
6c255334120d 8232080: jlink plugins for vendor information and run-time options
mr
parents: 58503
diff changeset
  2614
  declare_constant(JVMFlag::JIMAGE_RESOURCE)                              \
53637
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2615
  declare_constant(JVMFlag::VALUE_ORIGIN_MASK)                            \
4366a1e4a021 8217845: SA should refer const values for JVMFlag from HotSpot
ysuenaga
parents: 53041
diff changeset
  2616
  declare_constant(JVMFlag::ORIG_COMMAND_LINE)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2617
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2618
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2619
// VM_LONG_CONSTANTS
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2620
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2621
// This table contains long constants required over in the
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2622
// serviceability agent. The "declare_constant" macro is used for all
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2623
// enums, etc., while "declare_preprocessor_constant" must be used for
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2624
// all #defined constants.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2625
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2626
#define VM_LONG_CONSTANTS(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2627
                                                                          \
50525
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50445
diff changeset
  2628
  /****************/                                                      \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50445
diff changeset
  2629
  /* GC constants */                                                      \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50445
diff changeset
  2630
  /****************/                                                      \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50445
diff changeset
  2631
                                                                          \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50445
diff changeset
  2632
  VM_LONG_CONSTANTS_GC(declare_constant)                                  \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50445
diff changeset
  2633
                                                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2634
  /*********************/                                                 \
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2635
  /* markWord constants */                                                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2636
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2637
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2638
  /* Note: some of these are declared as long constants just for */       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2639
  /* consistency. The mask constants are the only ones requiring */       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2640
  /* 64 bits (on 64-bit platforms). */                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2641
                                                                          \
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2642
  declare_constant(markWord::age_bits)                                    \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2643
  declare_constant(markWord::lock_bits)                                   \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2644
  declare_constant(markWord::biased_lock_bits)                            \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2645
  declare_constant(markWord::max_hash_bits)                               \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2646
  declare_constant(markWord::hash_bits)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2647
                                                                          \
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2648
  declare_constant(markWord::lock_shift)                                  \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2649
  declare_constant(markWord::biased_lock_shift)                           \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2650
  declare_constant(markWord::age_shift)                                   \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2651
  declare_constant(markWord::hash_shift)                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2652
                                                                          \
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2653
  declare_constant(markWord::lock_mask)                                   \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2654
  declare_constant(markWord::lock_mask_in_place)                          \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2655
  declare_constant(markWord::biased_lock_mask)                            \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2656
  declare_constant(markWord::biased_lock_mask_in_place)                   \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2657
  declare_constant(markWord::biased_lock_bit_in_place)                    \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2658
  declare_constant(markWord::age_mask)                                    \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2659
  declare_constant(markWord::age_mask_in_place)                           \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2660
  declare_constant(markWord::epoch_mask)                                  \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2661
  declare_constant(markWord::epoch_mask_in_place)                         \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2662
  declare_constant(markWord::hash_mask)                                   \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2663
  declare_constant(markWord::hash_mask_in_place)                          \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2664
  declare_constant(markWord::biased_lock_alignment)                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2665
                                                                          \
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2666
  declare_constant(markWord::locked_value)                                \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2667
  declare_constant(markWord::unlocked_value)                              \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2668
  declare_constant(markWord::monitor_value)                               \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2669
  declare_constant(markWord::marked_value)                                \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2670
  declare_constant(markWord::biased_lock_pattern)                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2671
                                                                          \
57777
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2672
  declare_constant(markWord::no_hash)                                     \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2673
  declare_constant(markWord::no_hash_in_place)                            \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2674
  declare_constant(markWord::no_lock_in_place)                            \
90ead0febf56 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
stefank
parents: 55635
diff changeset
  2675
  declare_constant(markWord::max_age)                                     \
613
2aa2b913106c 6687581: Make CMS work with compressed oops
coleenp
parents: 394
diff changeset
  2676
                                                                          \
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2677
  /* InvocationCounter constants */                                       \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2678
  declare_constant(InvocationCounter::count_increment)                    \
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2679
  declare_constant(InvocationCounter::count_shift)
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2680
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2681
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2682
//--------------------------------------------------------------------------------
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2683
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2684
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2685
// Generate and check a nonstatic field in non-product builds
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2686
#ifndef PRODUCT
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2687
# define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2688
# define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)    CHECK_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2689
# define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c)          ENSURE_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2690
# define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2691
# define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)    CHECK_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2692
# define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c)          ENSURE_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2693
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2694
# define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2695
# define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2696
# define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2697
# define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2698
# define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2699
# define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2700
#endif /* PRODUCT */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2701
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2702
// Generate and check a nonstatic field in C1 builds
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2703
#ifdef COMPILER1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2704
# define GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2705
# define CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)    CHECK_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2706
# define ENSURE_C1_FIELD_TYPE_PRESENT(a, b, c)          ENSURE_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2707
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2708
# define GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2709
# define CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2710
# define ENSURE_C1_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2711
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2712
// Generate and check a nonstatic field in C2 builds
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2713
#ifdef COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2714
# define GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2715
# define CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)    CHECK_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2716
# define ENSURE_C2_FIELD_TYPE_PRESENT(a, b, c)          ENSURE_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2717
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2718
# define GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2719
# define CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2720
# define ENSURE_C2_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2721
#endif /* COMPILER2 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2722
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2723
// Generate but do not check a static field in C1 builds
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2724
#ifdef COMPILER1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2725
# define GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2726
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2727
# define GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2728
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2729
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2730
// Generate but do not check a static field in C2 builds
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2731
#ifdef COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2732
# define GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c) GENERATE_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2733
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2734
# define GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2735
#endif /* COMPILER2 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2736
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2737
//--------------------------------------------------------------------------------
35123
b0b89d83bcf5 8134994: use separate VMStructs databases for SA and JVMCI
twisti
parents: 35110
diff changeset
  2738
// VMTypeEntry build-specific macros
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2739
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2740
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2741
#ifdef COMPILER1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2742
# define GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY(a)               GENERATE_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2743
# define CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2744
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2745
# define GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2746
# define CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2747
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2748
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2749
#ifdef COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2750
# define GENERATE_C2_VM_TYPE_ENTRY(a, b)                     GENERATE_VM_TYPE_ENTRY(a, b)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2751
# define CHECK_C2_VM_TYPE_ENTRY(a, b)                        CHECK_VM_TYPE_ENTRY(a, b)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2752
# define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a)               GENERATE_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2753
# define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2754
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2755
# define GENERATE_C2_VM_TYPE_ENTRY(a, b)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2756
# define CHECK_C2_VM_TYPE_ENTRY(a, b)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2757
# define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2758
# define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2759
#endif /* COMPILER2 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2760
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2761
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2762
//--------------------------------------------------------------------------------
35123
b0b89d83bcf5 8134994: use separate VMStructs databases for SA and JVMCI
twisti
parents: 35110
diff changeset
  2763
// VMIntConstantEntry build-specific macros
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2764
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2765
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2766
// Generate an int constant for a C1 build
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2767
#ifdef COMPILER1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2768
# define GENERATE_C1_VM_INT_CONSTANT_ENTRY(name)  GENERATE_VM_INT_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2769
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2770
# define GENERATE_C1_VM_INT_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2771
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2772
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2773
// Generate an int constant for a C2 build
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2774
#ifdef COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2775
# define GENERATE_C2_VM_INT_CONSTANT_ENTRY(name)                      GENERATE_VM_INT_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2776
# define GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value)  GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2777
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2778
# define GENERATE_C2_VM_INT_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2779
# define GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2780
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2781
35123
b0b89d83bcf5 8134994: use separate VMStructs databases for SA and JVMCI
twisti
parents: 35110
diff changeset
  2782
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2783
//--------------------------------------------------------------------------------
35123
b0b89d83bcf5 8134994: use separate VMStructs databases for SA and JVMCI
twisti
parents: 35110
diff changeset
  2784
// VMLongConstantEntry build-specific macros
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2785
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2786
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2787
// Generate a long constant for a C1 build
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2788
#ifdef COMPILER1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2789
# define GENERATE_C1_VM_LONG_CONSTANT_ENTRY(name)  GENERATE_VM_LONG_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2790
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2791
# define GENERATE_C1_VM_LONG_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2792
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2793
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2794
// Generate a long constant for a C2 build
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2795
#ifdef COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2796
# define GENERATE_C2_VM_LONG_CONSTANT_ENTRY(name)                     GENERATE_VM_LONG_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2797
# define GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value) GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2798
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2799
# define GENERATE_C2_VM_LONG_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2800
# define GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2801
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2802
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2803
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2804
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2805
// Instantiation of VMStructEntries, VMTypeEntries and VMIntConstantEntries
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2806
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2807
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2808
// These initializers are allowed to access private fields in classes
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2809
// as long as class VMStructs is a friend
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2810
VMStructEntry VMStructs::localHotSpotVMStructs[] = {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2811
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2812
  VM_STRUCTS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2813
             GENERATE_STATIC_VM_STRUCT_ENTRY,
33595
5830c3ae532d 8047212: runtime/ParallelClassLoading/bootstrap/random/inner-complex assert(ObjectSynchronizer::verify_objmon_isinpool(inf)) failed: monitor is invalid
dcubed
parents: 33230
diff changeset
  2814
             GENERATE_STATIC_PTR_VOLATILE_VM_STRUCT_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2815
             GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2816
             GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2817
             GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2818
             GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2819
             GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2820
             GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2821
             GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2822
25335
2557b9b45520 8046282: SA update
poonam
parents: 24934
diff changeset
  2823
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2824
  VM_STRUCTS_OS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2825
                GENERATE_STATIC_VM_STRUCT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2826
                GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2827
                GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2828
                GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2829
                GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2830
                GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2831
                GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2832
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2833
  VM_STRUCTS_CPU(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2834
                 GENERATE_STATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2835
                 GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2836
                 GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2837
                 GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2838
                 GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2839
                 GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2840
                 GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2841
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2842
  VM_STRUCTS_OS_CPU(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2843
                    GENERATE_STATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2844
                    GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2845
                    GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2846
                    GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2847
                    GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2848
                    GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2849
                    GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2850
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2851
  GENERATE_VM_STRUCT_LAST_ENTRY()
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2852
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2853
46343
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2854
size_t VMStructs::localHotSpotVMStructsLength() {
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2855
  return sizeof(localHotSpotVMStructs) / sizeof(VMStructEntry);
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2856
}
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2857
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2858
VMTypeEntry VMStructs::localHotSpotVMTypes[] = {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2859
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2860
  VM_TYPES(GENERATE_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2861
           GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2862
           GENERATE_OOP_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2863
           GENERATE_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2864
           GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2865
           GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2866
           GENERATE_C2_VM_TYPE_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2867
           GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2868
25335
2557b9b45520 8046282: SA update
poonam
parents: 24934
diff changeset
  2869
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2870
  VM_TYPES_OS(GENERATE_VM_TYPE_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2871
              GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2872
              GENERATE_OOP_VM_TYPE_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2873
              GENERATE_INTEGER_VM_TYPE_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2874
              GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2875
              GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2876
              GENERATE_C2_VM_TYPE_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2877
              GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY)
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2878
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2879
  VM_TYPES_CPU(GENERATE_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2880
               GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2881
               GENERATE_OOP_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2882
               GENERATE_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2883
               GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2884
               GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2885
               GENERATE_C2_VM_TYPE_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2886
               GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2887
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2888
  VM_TYPES_OS_CPU(GENERATE_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2889
                  GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2890
                  GENERATE_OOP_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2891
                  GENERATE_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2892
                  GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2893
                  GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2894
                  GENERATE_C2_VM_TYPE_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2895
                  GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY)
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2896
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2897
  GENERATE_VM_TYPE_LAST_ENTRY()
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2898
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2899
46343
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2900
size_t VMStructs::localHotSpotVMTypesLength() {
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2901
  return sizeof(localHotSpotVMTypes) / sizeof(VMTypeEntry);
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2902
}
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2903
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2904
VMIntConstantEntry VMStructs::localHotSpotVMIntConstants[] = {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2905
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2906
  VM_INT_CONSTANTS(GENERATE_VM_INT_CONSTANT_ENTRY,
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents: 49628
diff changeset
  2907
                   GENERATE_VM_INT_CONSTANT_WITH_VALUE_ENTRY,
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2908
                   GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2909
                   GENERATE_C1_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2910
                   GENERATE_C2_VM_INT_CONSTANT_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2911
                   GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2912
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2913
  VM_INT_CONSTANTS_OS(GENERATE_VM_INT_CONSTANT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2914
                      GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2915
                      GENERATE_C1_VM_INT_CONSTANT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2916
                      GENERATE_C2_VM_INT_CONSTANT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2917
                      GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2918
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2919
  VM_INT_CONSTANTS_CPU(GENERATE_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2920
                       GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2921
                       GENERATE_C1_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2922
                       GENERATE_C2_VM_INT_CONSTANT_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2923
                       GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2924
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2925
  VM_INT_CONSTANTS_OS_CPU(GENERATE_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2926
                          GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2927
                          GENERATE_C1_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2928
                          GENERATE_C2_VM_INT_CONSTANT_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2929
                          GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY)
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2930
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2931
  GENERATE_VM_INT_CONSTANT_LAST_ENTRY()
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2932
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2933
46343
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2934
size_t VMStructs::localHotSpotVMIntConstantsLength() {
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2935
  return sizeof(localHotSpotVMIntConstants) / sizeof(VMIntConstantEntry);
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2936
}
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2937
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2938
VMLongConstantEntry VMStructs::localHotSpotVMLongConstants[] = {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2939
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2940
  VM_LONG_CONSTANTS(GENERATE_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2941
                    GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2942
                    GENERATE_C1_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2943
                    GENERATE_C2_VM_LONG_CONSTANT_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2944
                    GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2945
33160
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2946
  VM_LONG_CONSTANTS_OS(GENERATE_VM_LONG_CONSTANT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2947
                       GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2948
                       GENERATE_C1_VM_LONG_CONSTANT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2949
                       GENERATE_C2_VM_LONG_CONSTANT_ENTRY,
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2950
                       GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY)
c59f1676d27e 8136421: JEP 243: Java-Level JVM Compiler Interface
twisti
parents: 33089
diff changeset
  2951
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2952
  VM_LONG_CONSTANTS_CPU(GENERATE_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2953
                        GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2954
                        GENERATE_C1_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2955
                        GENERATE_C2_VM_LONG_CONSTANT_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2956
                        GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY)
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2957
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2958
  VM_LONG_CONSTANTS_OS_CPU(GENERATE_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2959
                           GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2960
                           GENERATE_C1_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2961
                           GENERATE_C2_VM_LONG_CONSTANT_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2962
                           GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY)
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2963
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2964
  GENERATE_VM_LONG_CONSTANT_LAST_ENTRY()
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2965
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2966
46343
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2967
size_t VMStructs::localHotSpotVMLongConstantsLength() {
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2968
  return sizeof(localHotSpotVMLongConstants) / sizeof(VMLongConstantEntry);
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2969
}
3c2650b86bf7 8171090: Convert VMStruct_test to GTest
kzhaldyb
parents: 46329
diff changeset
  2970
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2971
// This is used both to check the types of referenced fields and, in
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2972
// debug builds, to ensure that all of the field types are present.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2973
void
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2974
VMStructs::init() {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2975
  VM_STRUCTS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2976
             CHECK_STATIC_VM_STRUCT_ENTRY,
33595
5830c3ae532d 8047212: runtime/ParallelClassLoading/bootstrap/random/inner-complex assert(ObjectSynchronizer::verify_objmon_isinpool(inf)) failed: monitor is invalid
dcubed
parents: 33230
diff changeset
  2977
             CHECK_STATIC_PTR_VOLATILE_VM_STRUCT_ENTRY,
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2978
             CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2979
             CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2980
             CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2981
             CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2982
             CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2983
             CHECK_NO_OP,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2984
             CHECK_NO_OP);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2985
25335
2557b9b45520 8046282: SA update
poonam
parents: 24934
diff changeset
  2986
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2987
  VM_STRUCTS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2988
                 CHECK_STATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2989
                 CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2990
                 CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2991
                 CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2992
                 CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2993
                 CHECK_NO_OP,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  2994
                 CHECK_NO_OP);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2995
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2996
  VM_STRUCTS_OS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2997
                    CHECK_STATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2998
                    CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2999
                    CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3000
                    CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3001
                    CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3002
                    CHECK_NO_OP,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3003
                    CHECK_NO_OP);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3004
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3005
  VM_TYPES(CHECK_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3006
           CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3007
           CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3008
           CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3009
           CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3010
           CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3011
           CHECK_C2_VM_TYPE_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3012
           CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3013
25335
2557b9b45520 8046282: SA update
poonam
parents: 24934
diff changeset
  3014
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3015
  VM_TYPES_CPU(CHECK_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3016
               CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3017
               CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3018
               CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3019
               CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3020
               CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3021
               CHECK_C2_VM_TYPE_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3022
               CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3023
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3024
  VM_TYPES_OS_CPU(CHECK_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3025
                  CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3026
                  CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3027
                  CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3028
                  CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3029
                  CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3030
                  CHECK_C2_VM_TYPE_ENTRY,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3031
                  CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3032
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3033
  //
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3034
  // Split VM_STRUCTS() invocation into two parts to allow MS VC++ 6.0
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3035
  // to build with the source mounted over SNC3.2. Symptom was that
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3036
  // debug build failed with an internal compiler error. Has been seen
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3037
  // mounting sources from Solaris 2.6 and 2.7 hosts, but so far not
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3038
  // 2.8 hosts. Appears to occur because line is too long.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3039
  //
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3040
  // If an assertion failure is triggered here it means that an entry
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3041
  // in VMStructs::localHotSpotVMStructs[] was not found in
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3042
  // VMStructs::localHotSpotVMTypes[]. (The assertion itself had to be
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3043
  // made less descriptive because of this above bug -- see the
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3044
  // definition of ENSURE_FIELD_TYPE_PRESENT.)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3045
  //
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3046
  // NOTE: taken out because this was just not working on everyone's
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3047
  // Solstice NFS setup. If everyone switches to local workspaces on
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3048
  // Win32, we can put this back in.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3049
#ifndef _WINDOWS
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3050
  debug_only(VM_STRUCTS(ENSURE_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3051
                        CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3052
                        CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3053
                        CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3054
                        CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3055
                        CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3056
                        CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3057
                        CHECK_NO_OP,
33595
5830c3ae532d 8047212: runtime/ParallelClassLoading/bootstrap/random/inner-complex assert(ObjectSynchronizer::verify_objmon_isinpool(inf)) failed: monitor is invalid
dcubed
parents: 33230
diff changeset
  3058
                        CHECK_NO_OP,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3059
                        CHECK_NO_OP));
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3060
  debug_only(VM_STRUCTS(CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3061
                        ENSURE_FIELD_TYPE_PRESENT,
33595
5830c3ae532d 8047212: runtime/ParallelClassLoading/bootstrap/random/inner-complex assert(ObjectSynchronizer::verify_objmon_isinpool(inf)) failed: monitor is invalid
dcubed
parents: 33230
diff changeset
  3062
                        ENSURE_FIELD_TYPE_PRESENT,
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3063
                        CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3064
                        ENSURE_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3065
                        ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3066
                        ENSURE_C1_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3067
                        ENSURE_C2_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3068
                        CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3069
                        CHECK_NO_OP));
25335
2557b9b45520 8046282: SA update
poonam
parents: 24934
diff changeset
  3070
15189
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3071
  debug_only(VM_STRUCTS_CPU(ENSURE_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3072
                            ENSURE_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3073
                            CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3074
                            ENSURE_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3075
                            ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3076
                            ENSURE_C2_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3077
                            CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3078
                            CHECK_NO_OP));
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3079
  debug_only(VM_STRUCTS_OS_CPU(ENSURE_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3080
                               ENSURE_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3081
                               CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3082
                               ENSURE_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3083
                               ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3084
                               ENSURE_C2_FIELD_TYPE_PRESENT,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3085
                               CHECK_NO_OP,
53ce4c2c2e8a 8004747: Remove last_entry from VM_STRUCT macros
mikael
parents: 14745
diff changeset
  3086
                               CHECK_NO_OP));
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3087
#endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3088
}
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3089
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3090
extern "C" {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3091
33466
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3092
#define STRIDE(array) ((char*)&array[1] - (char*)&array[0])
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3093
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3094
JNIEXPORT VMStructEntry* gHotSpotVMStructs = VMStructs::localHotSpotVMStructs;
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3095
JNIEXPORT uint64_t gHotSpotVMStructEntryTypeNameOffset = offset_of(VMStructEntry, typeName);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3096
JNIEXPORT uint64_t gHotSpotVMStructEntryFieldNameOffset = offset_of(VMStructEntry, fieldName);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3097
JNIEXPORT uint64_t gHotSpotVMStructEntryTypeStringOffset = offset_of(VMStructEntry, typeString);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3098
JNIEXPORT uint64_t gHotSpotVMStructEntryIsStaticOffset = offset_of(VMStructEntry, isStatic);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3099
JNIEXPORT uint64_t gHotSpotVMStructEntryOffsetOffset = offset_of(VMStructEntry, offset);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3100
JNIEXPORT uint64_t gHotSpotVMStructEntryAddressOffset = offset_of(VMStructEntry, address);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3101
JNIEXPORT uint64_t gHotSpotVMStructEntryArrayStride = STRIDE(gHotSpotVMStructs);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3102
33466
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3103
JNIEXPORT VMTypeEntry* gHotSpotVMTypes = VMStructs::localHotSpotVMTypes;
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3104
JNIEXPORT uint64_t gHotSpotVMTypeEntryTypeNameOffset = offset_of(VMTypeEntry, typeName);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3105
JNIEXPORT uint64_t gHotSpotVMTypeEntrySuperclassNameOffset = offset_of(VMTypeEntry, superclassName);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3106
JNIEXPORT uint64_t gHotSpotVMTypeEntryIsOopTypeOffset = offset_of(VMTypeEntry, isOopType);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3107
JNIEXPORT uint64_t gHotSpotVMTypeEntryIsIntegerTypeOffset = offset_of(VMTypeEntry, isIntegerType);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3108
JNIEXPORT uint64_t gHotSpotVMTypeEntryIsUnsignedOffset = offset_of(VMTypeEntry, isUnsigned);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3109
JNIEXPORT uint64_t gHotSpotVMTypeEntrySizeOffset = offset_of(VMTypeEntry, size);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3110
JNIEXPORT uint64_t gHotSpotVMTypeEntryArrayStride = STRIDE(gHotSpotVMTypes);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3111
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3112
JNIEXPORT VMIntConstantEntry* gHotSpotVMIntConstants = VMStructs::localHotSpotVMIntConstants;
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3113
JNIEXPORT uint64_t gHotSpotVMIntConstantEntryNameOffset = offset_of(VMIntConstantEntry, name);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3114
JNIEXPORT uint64_t gHotSpotVMIntConstantEntryValueOffset = offset_of(VMIntConstantEntry, value);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3115
JNIEXPORT uint64_t gHotSpotVMIntConstantEntryArrayStride = STRIDE(gHotSpotVMIntConstants);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3116
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3117
JNIEXPORT VMLongConstantEntry* gHotSpotVMLongConstants = VMStructs::localHotSpotVMLongConstants;
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3118
JNIEXPORT uint64_t gHotSpotVMLongConstantEntryNameOffset = offset_of(VMLongConstantEntry, name);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3119
JNIEXPORT uint64_t gHotSpotVMLongConstantEntryValueOffset = offset_of(VMLongConstantEntry, value);
ca5ee1f94b60 8140091: remove VMStructs cast_uint64_t workaround for GCC 4.1.1 bug
twisti
parents: 33160
diff changeset
  3120
JNIEXPORT uint64_t gHotSpotVMLongConstantEntryArrayStride = STRIDE(gHotSpotVMLongConstants);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3121
}
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3122
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3123
#ifdef ASSERT
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3124
static int recursiveFindType(VMTypeEntry* origtypes, const char* typeName, bool isRecurse) {
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3125
  {
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3126
    VMTypeEntry* types = origtypes;
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3127
    while (types->typeName != NULL) {
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  3128
      if (strcmp(typeName, types->typeName) == 0) {
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  3129
        // Found it
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3130
        return 1;
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3131
      }
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3132
      ++types;
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3133
    }
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3134
  }
10547
ea4a2ec31ae2 7088955: add C2 IR support to the SA
never
parents: 10546
diff changeset
  3135
  // Search for the base type by peeling off const and *
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3136
  size_t len = strlen(typeName);
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3137
  if (typeName[len-1] == '*') {
17376
4ee999c3c007 8012902: remove use of global operator new - take 2
minqi
parents: 17128
diff changeset
  3138
    char * s = NEW_C_HEAP_ARRAY(char, len, mtInternal);
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3139
    strncpy(s, typeName, len - 1);
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3140
    s[len-1] = '\0';
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3141
    // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3142
    if (recursiveFindType(origtypes, s, true) == 1) {
27880
afb974a04396 8060074: os::free() takes MemoryTrackingLevel but doesn't need it
coleenp
parents: 27673
diff changeset
  3143
      FREE_C_HEAP_ARRAY(char, s);
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3144
      return 1;
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3145
    }
27880
afb974a04396 8060074: os::free() takes MemoryTrackingLevel but doesn't need it
coleenp
parents: 27673
diff changeset
  3146
    FREE_C_HEAP_ARRAY(char, s);
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3147
  }
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  3148
  const char* start = NULL;
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3149
  if (strstr(typeName, "GrowableArray<") == typeName) {
13728
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  3150
    start = typeName + strlen("GrowableArray<");
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  3151
  } else if (strstr(typeName, "Array<") == typeName) {
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  3152
    start = typeName + strlen("Array<");
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  3153
  }
882756847a04 6964458: Reimplement class meta-data storage to use native memory
coleenp
parents: 13529
diff changeset
  3154
  if (start != NULL) {
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3155
    const char * end = strrchr(typeName, '>');
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3156
    int len = end - start + 1;
17376
4ee999c3c007 8012902: remove use of global operator new - take 2
minqi
parents: 17128
diff changeset
  3157
    char * s = NEW_C_HEAP_ARRAY(char, len, mtInternal);
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3158
    strncpy(s, start, len - 1);
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3159
    s[len-1] = '\0';
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3160
    // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3161
    if (recursiveFindType(origtypes, s, true) == 1) {
27880
afb974a04396 8060074: os::free() takes MemoryTrackingLevel but doesn't need it
coleenp
parents: 27673
diff changeset
  3162
      FREE_C_HEAP_ARRAY(char, s);
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3163
      return 1;
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3164
    }
27880
afb974a04396 8060074: os::free() takes MemoryTrackingLevel but doesn't need it
coleenp
parents: 27673
diff changeset
  3165
    FREE_C_HEAP_ARRAY(char, s);
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3166
  }
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3167
  if (strstr(typeName, "const ") == typeName) {
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3168
    const char * s = typeName + strlen("const ");
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3169
    // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3170
    if (recursiveFindType(origtypes, s, true) == 1) {
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3171
      return 1;
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3172
    }
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3173
  }
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3174
  if (strstr(typeName, " const") == typeName + len - 6) {
25949
34557722059b 6424123: JVM crashes on failed 'strdup' call
zgu
parents: 25715
diff changeset
  3175
    char * s = os::strdup_check_oom(typeName);
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3176
    s[len - 6] = '\0';
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3177
    // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3178
    if (recursiveFindType(origtypes, s, true) == 1) {
25949
34557722059b 6424123: JVM crashes on failed 'strdup' call
zgu
parents: 25715
diff changeset
  3179
      os::free(s);
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3180
      return 1;
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3181
    }
25949
34557722059b 6424123: JVM crashes on failed 'strdup' call
zgu
parents: 25715
diff changeset
  3182
    os::free(s);
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3183
  }
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3184
  if (!isRecurse) {
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3185
    tty->print_cr("type \"%s\" not found", typeName);
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3186
  }
10548
25c3d1aaade6 7089709: type "jushort" not found
never
parents: 10547
diff changeset
  3187
  return 0;
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3188
}
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3189
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3190
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3191
int
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3192
VMStructs::findType(const char* typeName) {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3193
  VMTypeEntry* types = gHotSpotVMTypes;
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3194
8076
96d498ec7ae1 6990754: Use native memory and reference counting to implement SymbolTable
coleenp
parents: 7890
diff changeset
  3195
  return recursiveFindType(types, typeName, false);
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3196
}
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3197
#endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3198
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3199
void vmStructs_init() {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3200
  debug_only(VMStructs::init());
489c9b5090e2 Initial load
duke
parents:
diff changeset
  3201
}