hotspot/src/share/vm/runtime/vmStructs.cpp
author phh
Wed, 28 Oct 2009 16:25:51 -0400
changeset 4434 4b41e5b42f81
parent 3912 3aaaaad1ccb0
child 4095 6e0acfda1d47
permissions -rw-r--r--
6887571: Increase default heap config sizes Summary: Apply modification of existing server heap size ergo to all collectors except CMS. Reviewed-by: jmasa, ysr, xlu
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
/*
3261
c7d5aae8d3f7 6862919: Update copyright year
xdono
parents: 2526
diff changeset
     2
 * Copyright 2000-2009 Sun Microsystems, Inc.  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
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
    19
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    20
 * CA 95054 USA or visit www.sun.com if you need additional information or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    21
 * have any questions.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    22
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
489c9b5090e2 Initial load
duke
parents:
diff changeset
    25
# include "incls/_precompiled.incl"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    26
# include "incls/_vmStructs.cpp.incl"
489c9b5090e2 Initial load
duke
parents:
diff changeset
    27
489c9b5090e2 Initial load
duke
parents:
diff changeset
    28
// Note: the cross-product of (c1, c2, product, nonproduct, ...),
489c9b5090e2 Initial load
duke
parents:
diff changeset
    29
// (nonstatic, static), and (unchecked, checked) has not been taken.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    30
// Only the macros currently needed have been defined.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    31
489c9b5090e2 Initial load
duke
parents:
diff changeset
    32
// A field whose type is not checked is given a null string as the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    33
// type name, indicating an "opaque" type to the serviceability agent.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    34
489c9b5090e2 Initial load
duke
parents:
diff changeset
    35
// NOTE: there is an interdependency between this file and
489c9b5090e2 Initial load
duke
parents:
diff changeset
    36
// HotSpotTypeDataBase.java, which parses the type strings.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
489c9b5090e2 Initial load
duke
parents:
diff changeset
    38
#ifndef REG_COUNT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    39
  #define REG_COUNT 0
489c9b5090e2 Initial load
duke
parents:
diff changeset
    40
#endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    41
489c9b5090e2 Initial load
duke
parents:
diff changeset
    42
// whole purpose of this function is to work around bug c++/27724 in gcc 4.1.1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    43
// with optimization turned on it doesn't affect produced code
489c9b5090e2 Initial load
duke
parents:
diff changeset
    44
static inline uint64_t cast_uint64_t(size_t x)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    45
{
489c9b5090e2 Initial load
duke
parents:
diff changeset
    46
  return x;
489c9b5090e2 Initial load
duke
parents:
diff changeset
    47
}
489c9b5090e2 Initial load
duke
parents:
diff changeset
    48
489c9b5090e2 Initial load
duke
parents:
diff changeset
    49
489c9b5090e2 Initial load
duke
parents:
diff changeset
    50
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
    51
// VM_STRUCTS
489c9b5090e2 Initial load
duke
parents:
diff changeset
    52
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
    53
// This list enumerates all of the fields the serviceability agent
489c9b5090e2 Initial load
duke
parents:
diff changeset
    54
// needs to know about. Be sure to see also the type table below this one.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    55
// NOTE that there are platform-specific additions to this table in
489c9b5090e2 Initial load
duke
parents:
diff changeset
    56
// vmStructs_<os>_<cpu>.hpp.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    57
489c9b5090e2 Initial load
duke
parents:
diff changeset
    58
#define VM_STRUCTS(nonstatic_field, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    59
                   static_field, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    60
                   unchecked_nonstatic_field, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    61
                   volatile_nonstatic_field, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    62
                   nonproduct_nonstatic_field, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    63
                   c1_nonstatic_field, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    64
                   c2_nonstatic_field, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    65
                   unchecked_c1_static_field, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    66
                   unchecked_c2_static_field, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    67
                   last_entry) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    68
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    69
  /******************************************************************/                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    70
  /* OopDesc and Klass hierarchies (NOTE: methodDataOop incomplete) */                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    71
  /******************************************************************/                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    72
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    73
  volatile_nonstatic_field(oopDesc,            _mark,                                         markOop)                               \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
    74
  volatile_nonstatic_field(oopDesc,            _metadata._klass,                              wideKlassOop)                          \
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
    75
  volatile_nonstatic_field(oopDesc,            _metadata._compressed_klass,                   narrowOop)                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    76
     static_field(oopDesc,                     _bs,                                           BarrierSet*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    77
  nonstatic_field(arrayKlass,                  _dimension,                                    int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    78
  nonstatic_field(arrayKlass,                  _higher_dimension,                             klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    79
  nonstatic_field(arrayKlass,                  _lower_dimension,                              klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    80
  nonstatic_field(arrayKlass,                  _vtable_len,                                   int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    81
  nonstatic_field(arrayKlass,                  _alloc_size,                                   juint)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    82
  nonstatic_field(arrayKlass,                  _component_mirror,                             oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    83
  nonstatic_field(compiledICHolderKlass,       _alloc_size,                                   juint)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    84
  nonstatic_field(compiledICHolderOopDesc,     _holder_method,                                methodOop)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    85
  nonstatic_field(compiledICHolderOopDesc,     _holder_klass,                                 klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    86
  nonstatic_field(constantPoolOopDesc,         _tags,                                         typeArrayOop)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    87
  nonstatic_field(constantPoolOopDesc,         _cache,                                        constantPoolCacheOop)                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    88
  nonstatic_field(constantPoolOopDesc,         _pool_holder,                                  klassOop)                              \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
    89
  nonstatic_field(constantPoolOopDesc,         _length,                                       int)                                   \
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
    90
  nonstatic_field(constantPoolCacheOopDesc,    _length,                                       int)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    91
  nonstatic_field(constantPoolCacheOopDesc,    _constant_pool,                                constantPoolOop)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    92
  nonstatic_field(instanceKlass,               _array_klasses,                                klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    93
  nonstatic_field(instanceKlass,               _methods,                                      objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    94
  nonstatic_field(instanceKlass,               _method_ordering,                              typeArrayOop)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    95
  nonstatic_field(instanceKlass,               _local_interfaces,                             objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    96
  nonstatic_field(instanceKlass,               _transitive_interfaces,                        objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    97
  nonstatic_field(instanceKlass,               _nof_implementors,                             int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    98
  nonstatic_field(instanceKlass,               _implementors[0],                              klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
    99
  nonstatic_field(instanceKlass,               _fields,                                       typeArrayOop)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   100
  nonstatic_field(instanceKlass,               _constants,                                    constantPoolOop)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   101
  nonstatic_field(instanceKlass,               _class_loader,                                 oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   102
  nonstatic_field(instanceKlass,               _protection_domain,                            oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   103
  nonstatic_field(instanceKlass,               _signers,                                      objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   104
  nonstatic_field(instanceKlass,               _source_file_name,                             symbolOop)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   105
  nonstatic_field(instanceKlass,               _source_debug_extension,                       symbolOop)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   106
  nonstatic_field(instanceKlass,               _inner_classes,                                typeArrayOop)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   107
  nonstatic_field(instanceKlass,               _nonstatic_field_size,                         int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   108
  nonstatic_field(instanceKlass,               _static_field_size,                            int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   109
  nonstatic_field(instanceKlass,               _static_oop_field_size,                        int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   110
  nonstatic_field(instanceKlass,               _nonstatic_oop_map_size,                       int)                                   \
3822
388b0393a042 6879572: SA fails _is_marked_dependent not found
acorn
parents: 3820
diff changeset
   111
  nonstatic_field(instanceKlass,               _is_marked_dependent,                          bool)                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   112
  nonstatic_field(instanceKlass,               _minor_version,                                u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   113
  nonstatic_field(instanceKlass,               _major_version,                                u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   114
  nonstatic_field(instanceKlass,               _init_state,                                   instanceKlass::ClassState)             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   115
  nonstatic_field(instanceKlass,               _init_thread,                                  Thread*)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   116
  nonstatic_field(instanceKlass,               _vtable_len,                                   int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   117
  nonstatic_field(instanceKlass,               _itable_len,                                   int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   118
  nonstatic_field(instanceKlass,               _reference_type,                               ReferenceType)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   119
  volatile_nonstatic_field(instanceKlass,      _oop_map_cache,                                OopMapCache*)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   120
  nonstatic_field(instanceKlass,               _jni_ids,                                      JNIid*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   121
  nonstatic_field(instanceKlass,               _osr_nmethods_head,                            nmethod*)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   122
  nonstatic_field(instanceKlass,               _breakpoints,                                  BreakpointInfo*)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   123
  nonstatic_field(instanceKlass,               _generic_signature,                            symbolOop)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   124
  nonstatic_field(instanceKlass,               _methods_jmethod_ids,                          jmethodID*)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   125
  nonstatic_field(instanceKlass,               _methods_cached_itable_indices,                int*)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   126
  volatile_nonstatic_field(instanceKlass,      _idnum_allocated_count,                        u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   127
  nonstatic_field(instanceKlass,               _class_annotations,                            typeArrayOop)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   128
  nonstatic_field(instanceKlass,               _fields_annotations,                           objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   129
  nonstatic_field(instanceKlass,               _methods_annotations,                          objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   130
  nonstatic_field(instanceKlass,               _methods_parameter_annotations,                objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   131
  nonstatic_field(instanceKlass,               _methods_default_annotations,                  objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   132
  nonstatic_field(Klass,                       _super_check_offset,                           juint)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   133
  nonstatic_field(Klass,                       _secondary_super_cache,                        klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   134
  nonstatic_field(Klass,                       _secondary_supers,                             objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   135
  nonstatic_field(Klass,                       _primary_supers[0],                            klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   136
  nonstatic_field(Klass,                       _java_mirror,                                  oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   137
  nonstatic_field(Klass,                       _modifier_flags,                               jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   138
  nonstatic_field(Klass,                       _super,                                        klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   139
  nonstatic_field(Klass,                       _layout_helper,                                jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   140
  nonstatic_field(Klass,                       _name,                                         symbolOop)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   141
  nonstatic_field(Klass,                       _access_flags,                                 AccessFlags)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   142
  nonstatic_field(Klass,                       _subklass,                                     klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   143
  nonstatic_field(Klass,                       _next_sibling,                                 klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   144
  nonproduct_nonstatic_field(Klass,            _verify_count,                                 int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   145
  nonstatic_field(Klass,                       _alloc_count,                                  juint)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   146
  nonstatic_field(klassKlass,                  _alloc_size,                                   juint)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   147
  nonstatic_field(methodKlass,                 _alloc_size,                                   juint)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   148
  nonstatic_field(methodDataOopDesc,           _size,                                         int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   149
  nonstatic_field(methodDataOopDesc,           _method,                                       methodOop)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   150
  nonstatic_field(methodOopDesc,               _constMethod,                                  constMethodOop)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   151
  nonstatic_field(methodOopDesc,               _constants,                                    constantPoolOop)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   152
  c2_nonstatic_field(methodOopDesc,            _method_data,                                  methodDataOop)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   153
  c2_nonstatic_field(methodOopDesc,            _interpreter_invocation_count,                 int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   154
  nonstatic_field(methodOopDesc,               _access_flags,                                 AccessFlags)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   155
  nonstatic_field(methodOopDesc,               _vtable_index,                                 int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   156
  nonstatic_field(methodOopDesc,               _method_size,                                  u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   157
  nonstatic_field(methodOopDesc,               _max_stack,                                    u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   158
  nonstatic_field(methodOopDesc,               _max_locals,                                   u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   159
  nonstatic_field(methodOopDesc,               _size_of_parameters,                           u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   160
  c2_nonstatic_field(methodOopDesc,            _interpreter_throwout_count,                   u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   161
  nonstatic_field(methodOopDesc,               _number_of_breakpoints,                        u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   162
  nonstatic_field(methodOopDesc,               _invocation_counter,                           InvocationCounter)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   163
  nonstatic_field(methodOopDesc,               _backedge_counter,                             InvocationCounter)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   164
  nonproduct_nonstatic_field(methodOopDesc,    _compiled_invocation_count,                    int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   165
  volatile_nonstatic_field(methodOopDesc,      _code,                                         nmethod*)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   166
  nonstatic_field(methodOopDesc,               _i2i_entry,                                    address)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   167
  nonstatic_field(methodOopDesc,               _adapter,                                      AdapterHandlerEntry*)                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   168
  volatile_nonstatic_field(methodOopDesc,      _from_compiled_entry,                          address)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   169
  volatile_nonstatic_field(methodOopDesc,      _from_interpreted_entry,                       address)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   170
  volatile_nonstatic_field(constMethodOopDesc, _fingerprint,                                  uint64_t)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   171
  nonstatic_field(constMethodOopDesc,          _method,                                       methodOop)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   172
  nonstatic_field(constMethodOopDesc,          _stackmap_data,                                typeArrayOop)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   173
  nonstatic_field(constMethodOopDesc,          _exception_table,                              typeArrayOop)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   174
  nonstatic_field(constMethodOopDesc,          _constMethod_size,                             int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   175
  nonstatic_field(constMethodOopDesc,          _interpreter_kind,                             jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   176
  nonstatic_field(constMethodOopDesc,          _flags,                                        jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   177
  nonstatic_field(constMethodOopDesc,          _code_size,                                    u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   178
  nonstatic_field(constMethodOopDesc,          _name_index,                                   u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   179
  nonstatic_field(constMethodOopDesc,          _signature_index,                              u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   180
  nonstatic_field(constMethodOopDesc,          _method_idnum,                                 u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   181
  nonstatic_field(constMethodOopDesc,          _generic_signature_index,                      u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   182
  nonstatic_field(objArrayKlass,               _element_klass,                                klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   183
  nonstatic_field(objArrayKlass,               _bottom_klass,                                 klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   184
  nonstatic_field(symbolKlass,                 _alloc_size,                                   juint)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   185
  nonstatic_field(symbolOopDesc,               _length,                                       unsigned short)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   186
  unchecked_nonstatic_field(symbolOopDesc,     _body,                                         sizeof(jbyte)) /* NOTE: no type */     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   187
  nonstatic_field(typeArrayKlass,              _max_length,                                   int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   188
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   189
  /***********************/                                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   190
  /* Constant Pool Cache */                                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   191
  /***********************/                                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   192
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   193
  volatile_nonstatic_field(ConstantPoolCacheEntry,      _indices,                                      intx)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   194
  volatile_nonstatic_field(ConstantPoolCacheEntry,      _f1,                                           oop)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   195
  volatile_nonstatic_field(ConstantPoolCacheEntry,      _f2,                                           intx)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   196
  volatile_nonstatic_field(ConstantPoolCacheEntry,      _flags,                                        intx)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   197
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   198
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   199
  /* MethodOop-related structures */                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   200
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   201
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   202
  nonstatic_field(CheckedExceptionElement,     class_cp_index,                                u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   203
  nonstatic_field(LocalVariableTableElement,   start_bci,                                     u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   204
  nonstatic_field(LocalVariableTableElement,   length,                                        u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   205
  nonstatic_field(LocalVariableTableElement,   name_cp_index,                                 u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   206
  nonstatic_field(LocalVariableTableElement,   descriptor_cp_index,                           u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   207
  nonstatic_field(LocalVariableTableElement,   signature_cp_index,                            u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   208
  nonstatic_field(LocalVariableTableElement,   slot,                                          u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   209
  nonstatic_field(BreakpointInfo,              _orig_bytecode,                                Bytecodes::Code)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   210
  nonstatic_field(BreakpointInfo,              _bci,                                          int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   211
  nonstatic_field(BreakpointInfo,              _name_index,                                   u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   212
  nonstatic_field(BreakpointInfo,              _signature_index,                              u2)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   213
  nonstatic_field(BreakpointInfo,              _next,                                         BreakpointInfo*)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   214
  /***********/                                                                                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   215
  /* JNI IDs */                                                                                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   216
  /***********/                                                                                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   217
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   218
  nonstatic_field(JNIid,                       _holder,                                       klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   219
  nonstatic_field(JNIid,                       _next,                                         JNIid*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   220
  nonstatic_field(JNIid,                       _offset,                                       int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   221
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   222
  /* Universe */                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   223
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   224
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   225
     static_field(Universe,                    _boolArrayKlassObj,                            klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   226
     static_field(Universe,                    _byteArrayKlassObj,                            klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   227
     static_field(Universe,                    _charArrayKlassObj,                            klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   228
     static_field(Universe,                    _intArrayKlassObj,                             klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   229
     static_field(Universe,                    _shortArrayKlassObj,                           klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   230
     static_field(Universe,                    _longArrayKlassObj,                            klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   231
     static_field(Universe,                    _singleArrayKlassObj,                          klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   232
     static_field(Universe,                    _doubleArrayKlassObj,                          klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   233
     static_field(Universe,                    _symbolKlassObj,                               klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   234
     static_field(Universe,                    _methodKlassObj,                               klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   235
     static_field(Universe,                    _constMethodKlassObj,                          klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   236
     static_field(Universe,                    _methodDataKlassObj,                           klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   237
     static_field(Universe,                    _klassKlassObj,                                klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   238
     static_field(Universe,                    _arrayKlassKlassObj,                           klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   239
     static_field(Universe,                    _objArrayKlassKlassObj,                        klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   240
     static_field(Universe,                    _typeArrayKlassKlassObj,                       klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   241
     static_field(Universe,                    _instanceKlassKlassObj,                        klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   242
     static_field(Universe,                    _constantPoolKlassObj,                         klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   243
     static_field(Universe,                    _constantPoolCacheKlassObj,                    klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   244
     static_field(Universe,                    _compiledICHolderKlassObj,                     klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   245
     static_field(Universe,                    _systemObjArrayKlassObj,                       klassOop)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   246
     static_field(Universe,                    _mirrors[0],                                   oop)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   247
     static_field(Universe,                    _main_thread_group,                            oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   248
     static_field(Universe,                    _system_thread_group,                          oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   249
     static_field(Universe,                    _the_empty_byte_array,                         typeArrayOop)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   250
     static_field(Universe,                    _the_empty_short_array,                        typeArrayOop)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   251
     static_field(Universe,                    _the_empty_int_array,                          typeArrayOop)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   252
     static_field(Universe,                    _the_empty_system_obj_array,                   objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   253
     static_field(Universe,                    _the_empty_class_klass_array,                  objArrayOop)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   254
     static_field(Universe,                    _out_of_memory_error_java_heap,                oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   255
     static_field(Universe,                    _out_of_memory_error_perm_gen,                 oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   256
     static_field(Universe,                    _out_of_memory_error_array_size,               oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   257
     static_field(Universe,                    _out_of_memory_error_gc_overhead_limit,        oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   258
     static_field(Universe,                    _null_ptr_exception_instance,                  oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   259
     static_field(Universe,                    _arithmetic_exception_instance,                oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   260
     static_field(Universe,                    _vm_exception,                                 oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   261
     static_field(Universe,                    _collectedHeap,                                CollectedHeap*)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   262
     static_field(Universe,                    _base_vtable_size,                             int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   263
     static_field(Universe,                    _bootstrapping,                                bool)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   264
     static_field(Universe,                    _fully_initialized,                            bool)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   265
     static_field(Universe,                    _verify_count,                                 int)                                   \
2254
f13dda645a4b 6791178: Specialize for zero as the compressed oop vm heap base
kvn
parents: 1397
diff changeset
   266
     static_field(Universe,                    _narrow_oop._base,                             address)                               \
f13dda645a4b 6791178: Specialize for zero as the compressed oop vm heap base
kvn
parents: 1397
diff changeset
   267
     static_field(Universe,                    _narrow_oop._shift,                            int)                                   \
f13dda645a4b 6791178: Specialize for zero as the compressed oop vm heap base
kvn
parents: 1397
diff changeset
   268
     static_field(Universe,                    _narrow_oop._use_implicit_null_checks,         bool)                                  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   269
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   270
  /**********************************************************************************/                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   271
  /* Generation and Space hierarchies                                               */                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   272
  /**********************************************************************************/                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   273
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   274
  unchecked_nonstatic_field(ageTable,          sizes,                                         sizeof(ageTable::sizes))               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   275
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   276
  nonstatic_field(BarrierSet,                  _max_covered_regions,                          int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   277
  nonstatic_field(BlockOffsetTable,            _bottom,                                       HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   278
  nonstatic_field(BlockOffsetTable,            _end,                                          HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   279
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   280
  nonstatic_field(BlockOffsetSharedArray,      _reserved,                                     MemRegion)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   281
  nonstatic_field(BlockOffsetSharedArray,      _end,                                          HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   282
  nonstatic_field(BlockOffsetSharedArray,      _vs,                                           VirtualSpace)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   283
  nonstatic_field(BlockOffsetSharedArray,      _offset_array,                                 u_char*)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   284
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   285
  nonstatic_field(BlockOffsetArray,            _array,                                        BlockOffsetSharedArray*)               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   286
  nonstatic_field(BlockOffsetArray,            _sp,                                           Space*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   287
  nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_threshold,                        HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   288
  nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_index,                            size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   289
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   290
  nonstatic_field(BlockOffsetArrayNonContigSpace, _unallocated_block,                         HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   291
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   292
  nonstatic_field(CardGeneration,              _rs,                                           GenRemSet*)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   293
  nonstatic_field(CardGeneration,              _bts,                                          BlockOffsetSharedArray*)               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   294
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   295
  nonstatic_field(CardTableModRefBS,           _whole_heap,                                   const MemRegion)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   296
  nonstatic_field(CardTableModRefBS,           _guard_index,                                  const size_t)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   297
  nonstatic_field(CardTableModRefBS,           _last_valid_index,                             const size_t)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   298
  nonstatic_field(CardTableModRefBS,           _page_size,                                    const size_t)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   299
  nonstatic_field(CardTableModRefBS,           _byte_map_size,                                const size_t)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   300
  nonstatic_field(CardTableModRefBS,           _byte_map,                                     jbyte*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   301
  nonstatic_field(CardTableModRefBS,           _cur_covered_regions,                          int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   302
  nonstatic_field(CardTableModRefBS,           _covered,                                      MemRegion*)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   303
  nonstatic_field(CardTableModRefBS,           _committed,                                    MemRegion*)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   304
  nonstatic_field(CardTableModRefBS,           _guard_region,                                 MemRegion)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   305
  nonstatic_field(CardTableModRefBS,           byte_map_base,                                 jbyte*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   306
                                                                                                                                     \
1374
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 394
diff changeset
   307
  nonstatic_field(CardTableRS,                 _ct_bs,                                        CardTableModRefBSForCTRS*)             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   308
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   309
  nonstatic_field(CollectedHeap,               _reserved,                                     MemRegion)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   310
  nonstatic_field(SharedHeap,                  _perm_gen,                                     PermGen*)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   311
  nonstatic_field(CollectedHeap,               _barrier_set,                                  BarrierSet*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   312
  nonstatic_field(CollectedHeap,               _is_gc_active,                                 bool)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   313
  nonstatic_field(CompactibleSpace,            _compaction_top,                               HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   314
  nonstatic_field(CompactibleSpace,            _first_dead,                                   HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   315
  nonstatic_field(CompactibleSpace,            _end_of_live,                                  HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   316
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   317
  nonstatic_field(CompactingPermGen,           _gen,                                          OneContigSpaceCardGeneration*)         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   318
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   319
  nonstatic_field(ContiguousSpace,             _top,                                          HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   320
  nonstatic_field(ContiguousSpace,             _concurrent_iteration_safe_limit,              HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   321
  nonstatic_field(ContiguousSpace,             _saved_mark_word,                              HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   322
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   323
  nonstatic_field(DefNewGeneration,            _next_gen,                                     Generation*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   324
  nonstatic_field(DefNewGeneration,            _tenuring_threshold,                           int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   325
  nonstatic_field(DefNewGeneration,            _age_table,                                    ageTable)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   326
  nonstatic_field(DefNewGeneration,            _eden_space,                                   EdenSpace*)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   327
  nonstatic_field(DefNewGeneration,            _from_space,                                   ContiguousSpace*)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   328
  nonstatic_field(DefNewGeneration,            _to_space,                                     ContiguousSpace*)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   329
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   330
  nonstatic_field(EdenSpace,                   _gen,                                          DefNewGeneration*)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   331
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   332
  nonstatic_field(Generation,                  _reserved,                                     MemRegion)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   333
  nonstatic_field(Generation,                  _virtual_space,                                VirtualSpace)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   334
  nonstatic_field(Generation,                  _level,                                        int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   335
  nonstatic_field(Generation,                  _stat_record,                                  Generation::StatRecord)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   336
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   337
  nonstatic_field(Generation::StatRecord,      invocations,                                   int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   338
  nonstatic_field(Generation::StatRecord,      accumulated_time,                              elapsedTimer)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   339
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   340
  nonstatic_field(GenerationSpec,              _name,                                         Generation::Name)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   341
  nonstatic_field(GenerationSpec,              _init_size,                                    size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   342
  nonstatic_field(GenerationSpec,              _max_size,                                     size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   343
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   344
    static_field(GenCollectedHeap,             _gch,                                          GenCollectedHeap*)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   345
 nonstatic_field(GenCollectedHeap,             _n_gens,                                       int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   346
 unchecked_nonstatic_field(GenCollectedHeap,   _gens,                                         sizeof(GenCollectedHeap::_gens)) /* NOTE: no type */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   347
  nonstatic_field(GenCollectedHeap,            _gen_specs,                                    GenerationSpec**)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   348
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   349
  nonstatic_field(HeapWord,                    i,                                             char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   350
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   351
  nonstatic_field(MemRegion,                   _start,                                        HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   352
  nonstatic_field(MemRegion,                   _word_size,                                    size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   353
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   354
  nonstatic_field(OffsetTableContigSpace,      _offsets,                                      BlockOffsetArray)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   355
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   356
  nonstatic_field(OneContigSpaceCardGeneration, _min_heap_delta_bytes,                        size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   357
  nonstatic_field(OneContigSpaceCardGeneration, _the_space,                                   ContiguousSpace*)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   358
  nonstatic_field(OneContigSpaceCardGeneration, _last_gc,                                     WaterMark)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   359
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   360
  nonstatic_field(CompactingPermGenGen,        _ro_vs,                                        VirtualSpace)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   361
  nonstatic_field(CompactingPermGenGen,        _rw_vs,                                        VirtualSpace)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   362
  nonstatic_field(CompactingPermGenGen,        _md_vs,                                        VirtualSpace)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   363
  nonstatic_field(CompactingPermGenGen,        _mc_vs,                                        VirtualSpace)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   364
  nonstatic_field(CompactingPermGenGen,        _ro_space,                                     OffsetTableContigSpace*)               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   365
  nonstatic_field(CompactingPermGenGen,        _rw_space,                                     OffsetTableContigSpace*)               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   366
     static_field(CompactingPermGenGen,        unshared_bottom,                               HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   367
     static_field(CompactingPermGenGen,        unshared_end,                                  HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   368
     static_field(CompactingPermGenGen,        shared_bottom,                                 HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   369
     static_field(CompactingPermGenGen,        readonly_bottom,                               HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   370
     static_field(CompactingPermGenGen,        readonly_end,                                  HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   371
     static_field(CompactingPermGenGen,        readwrite_bottom,                              HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   372
     static_field(CompactingPermGenGen,        readwrite_end,                                 HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   373
     static_field(CompactingPermGenGen,        miscdata_bottom,                               HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   374
     static_field(CompactingPermGenGen,        miscdata_end,                                  HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   375
     static_field(CompactingPermGenGen,        misccode_bottom,                               HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   376
     static_field(CompactingPermGenGen,        misccode_end,                                  HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   377
     static_field(CompactingPermGenGen,        shared_end,                                    HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   378
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   379
  nonstatic_field(PermGen,                     _capacity_expansion_limit,                     size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   380
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   381
  nonstatic_field(PermanentGenerationSpec,     _name,                                         PermGen::Name)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   382
  nonstatic_field(PermanentGenerationSpec,     _init_size,                                    size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   383
  nonstatic_field(PermanentGenerationSpec,     _max_size,                                     size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   384
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   385
  nonstatic_field(Space,                       _bottom,                                       HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   386
  nonstatic_field(Space,                       _end,                                          HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   387
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   388
  nonstatic_field(TenuredGeneration,           _shrink_factor,                                size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   389
  nonstatic_field(TenuredGeneration,           _capacity_at_prologue,                         size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   390
  nonstatic_field(ThreadLocalAllocBuffer,      _start,                                        HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   391
  nonstatic_field(ThreadLocalAllocBuffer,      _top,                                          HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   392
  nonstatic_field(ThreadLocalAllocBuffer,      _end,                                          HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   393
  nonstatic_field(ThreadLocalAllocBuffer,      _desired_size,                                 size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   394
  nonstatic_field(ThreadLocalAllocBuffer,      _refill_waste_limit,                           size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   395
     static_field(ThreadLocalAllocBuffer,      _target_refills,                               unsigned)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   396
  nonstatic_field(VirtualSpace,                _low_boundary,                                 char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   397
  nonstatic_field(VirtualSpace,                _high_boundary,                                char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   398
  nonstatic_field(VirtualSpace,                _low,                                          char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   399
  nonstatic_field(VirtualSpace,                _high,                                         char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   400
  nonstatic_field(VirtualSpace,                _lower_high,                                   char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   401
  nonstatic_field(VirtualSpace,                _middle_high,                                  char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   402
  nonstatic_field(VirtualSpace,                _upper_high,                                   char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   403
  nonstatic_field(WaterMark,                   _point,                                        HeapWord*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   404
  nonstatic_field(WaterMark,                   _space,                                        Space*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   405
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   406
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   407
  /* PerfMemory - jvmstat */                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   408
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   409
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   410
  nonstatic_field(PerfDataPrologue,            magic,                                         jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   411
  nonstatic_field(PerfDataPrologue,            byte_order,                                    jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   412
  nonstatic_field(PerfDataPrologue,            major_version,                                 jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   413
  nonstatic_field(PerfDataPrologue,            minor_version,                                 jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   414
  nonstatic_field(PerfDataPrologue,            accessible,                                    jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   415
  nonstatic_field(PerfDataPrologue,            used,                                          jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   416
  nonstatic_field(PerfDataPrologue,            overflow,                                      jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   417
  nonstatic_field(PerfDataPrologue,            mod_time_stamp,                                jlong)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   418
  nonstatic_field(PerfDataPrologue,            entry_offset,                                  jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   419
  nonstatic_field(PerfDataPrologue,            num_entries,                                   jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   420
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   421
  nonstatic_field(PerfDataEntry,               entry_length,                                  jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   422
  nonstatic_field(PerfDataEntry,               name_offset,                                   jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   423
  nonstatic_field(PerfDataEntry,               vector_length,                                 jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   424
  nonstatic_field(PerfDataEntry,               data_type,                                     jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   425
  nonstatic_field(PerfDataEntry,               flags,                                         jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   426
  nonstatic_field(PerfDataEntry,               data_units,                                    jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   427
  nonstatic_field(PerfDataEntry,               data_variability,                              jbyte)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   428
  nonstatic_field(PerfDataEntry,               data_offset,                                   jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   429
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   430
     static_field(PerfMemory,                  _start,                                        char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   431
     static_field(PerfMemory,                  _end,                                          char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   432
     static_field(PerfMemory,                  _top,                                          char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   433
     static_field(PerfMemory,                  _capacity,                                     size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   434
     static_field(PerfMemory,                  _prologue,                                     PerfDataPrologue*)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   435
     static_field(PerfMemory,                  _initialized,                                  jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   436
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   437
  /***************/                                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   438
  /* SymbolTable */                                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   439
  /***************/                                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   440
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   441
     static_field(SymbolTable,                  _the_table,                                   SymbolTable*)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   442
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   443
  /***************/                                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   444
  /* StringTable */                                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   445
  /***************/                                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   446
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   447
     static_field(StringTable,                  _the_table,                                   StringTable*)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   448
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   449
  /********************/                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   450
  /* SystemDictionary */                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   451
  /********************/                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   452
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   453
      static_field(SystemDictionary,            _dictionary,                                   Dictionary*)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   454
      static_field(SystemDictionary,            _placeholders,                                 PlaceholderTable*)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   455
      static_field(SystemDictionary,            _shared_dictionary,                            Dictionary*)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   456
      static_field(SystemDictionary,            _system_loader_lock_obj,                       oop)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   457
      static_field(SystemDictionary,            _loader_constraints,                           LoaderConstraintTable*)               \
394
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   458
      static_field(SystemDictionary,            WK_KLASS(object_klass),                        klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   459
      static_field(SystemDictionary,            WK_KLASS(string_klass),                        klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   460
      static_field(SystemDictionary,            WK_KLASS(class_klass),                         klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   461
      static_field(SystemDictionary,            WK_KLASS(cloneable_klass),                     klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   462
      static_field(SystemDictionary,            WK_KLASS(classloader_klass),                   klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   463
      static_field(SystemDictionary,            WK_KLASS(serializable_klass),                  klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   464
      static_field(SystemDictionary,            WK_KLASS(system_klass),                        klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   465
      static_field(SystemDictionary,            WK_KLASS(throwable_klass),                     klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   466
      static_field(SystemDictionary,            WK_KLASS(threaddeath_klass),                   klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   467
      static_field(SystemDictionary,            WK_KLASS(error_klass),                         klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   468
      static_field(SystemDictionary,            WK_KLASS(exception_klass),                     klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   469
      static_field(SystemDictionary,            WK_KLASS(runtime_exception_klass),             klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   470
      static_field(SystemDictionary,            WK_KLASS(classNotFoundException_klass),        klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   471
      static_field(SystemDictionary,            WK_KLASS(noClassDefFoundError_klass),          klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   472
      static_field(SystemDictionary,            WK_KLASS(linkageError_klass),                  klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   473
      static_field(SystemDictionary,            WK_KLASS(ClassCastException_klass),            klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   474
      static_field(SystemDictionary,            WK_KLASS(ArrayStoreException_klass),           klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   475
      static_field(SystemDictionary,            WK_KLASS(virtualMachineError_klass),           klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   476
      static_field(SystemDictionary,            WK_KLASS(OutOfMemoryError_klass),              klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   477
      static_field(SystemDictionary,            WK_KLASS(StackOverflowError_klass),            klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   478
      static_field(SystemDictionary,            WK_KLASS(protectionDomain_klass),              klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   479
      static_field(SystemDictionary,            WK_KLASS(AccessControlContext_klass),          klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   480
      static_field(SystemDictionary,            WK_KLASS(reference_klass),                     klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   481
      static_field(SystemDictionary,            WK_KLASS(soft_reference_klass),                klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   482
      static_field(SystemDictionary,            WK_KLASS(weak_reference_klass),                klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   483
      static_field(SystemDictionary,            WK_KLASS(final_reference_klass),               klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   484
      static_field(SystemDictionary,            WK_KLASS(phantom_reference_klass),             klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   485
      static_field(SystemDictionary,            WK_KLASS(finalizer_klass),                     klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   486
      static_field(SystemDictionary,            WK_KLASS(thread_klass),                        klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   487
      static_field(SystemDictionary,            WK_KLASS(threadGroup_klass),                   klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   488
      static_field(SystemDictionary,            WK_KLASS(properties_klass),                    klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   489
      static_field(SystemDictionary,            WK_KLASS(stringBuffer_klass),                  klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   490
      static_field(SystemDictionary,            WK_KLASS(vector_klass),                        klassOop)                             \
c33507c3ac75 6701024: SAJDI functionality is broken
jrose
parents: 379
diff changeset
   491
      static_field(SystemDictionary,            WK_KLASS(hashtable_klass),                     klassOop)                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   492
      static_field(SystemDictionary,            _box_klasses[0],                               klassOop)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   493
      static_field(SystemDictionary,            _java_system_loader,                           oop)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   494
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   495
  /*******************/                                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   496
  /* HashtableBucket */                                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   497
  /*******************/                                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   498
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   499
  nonstatic_field(HashtableBucket,             _entry,                                        BasicHashtableEntry*)                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   500
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   501
  /******************/                                                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   502
  /* HashtableEntry */                                                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   503
  /******************/                                                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   504
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   505
  nonstatic_field(BasicHashtableEntry,         _next,                                         BasicHashtableEntry*)                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   506
  nonstatic_field(BasicHashtableEntry,         _hash,                                         unsigned int)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   507
  nonstatic_field(HashtableEntry,              _literal,                                      oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   508
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   509
  /*************/                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   510
  /* Hashtable */                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   511
  /*************/                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   512
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   513
  nonstatic_field(BasicHashtable,              _table_size,                                   int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   514
  nonstatic_field(BasicHashtable,              _buckets,                                      HashtableBucket*)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   515
  nonstatic_field(BasicHashtable,              _free_list,                                    BasicHashtableEntry*)                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   516
  nonstatic_field(BasicHashtable,              _first_free_entry,                             char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   517
  nonstatic_field(BasicHashtable,              _end_block,                                    char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   518
  nonstatic_field(BasicHashtable,              _entry_size,                                   int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   519
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   520
  /*******************/                                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   521
  /* DictionaryEntry */                                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   522
  /*******************/                                                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   523
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   524
  nonstatic_field(DictionaryEntry,             _loader,                                       oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   525
  nonstatic_field(DictionaryEntry,             _pd_set,                                       ProtectionDomainEntry*)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   526
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   527
  /********************/                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   528
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   529
  nonstatic_field(PlaceholderEntry,            _loader,                                       oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   530
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   531
  /**************************/                                                                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   532
  /* ProctectionDomainEntry */                                                                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   533
  /**************************/                                                                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   534
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   535
  nonstatic_field(ProtectionDomainEntry,       _next,                                         ProtectionDomainEntry*)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   536
  nonstatic_field(ProtectionDomainEntry,       _protection_domain,                            oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   537
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   538
  /*************************/                                                                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   539
  /* LoaderConstraintEntry */                                                                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   540
  /*************************/                                                                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   541
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   542
  nonstatic_field(LoaderConstraintEntry,       _name,                                         symbolOop)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   543
  nonstatic_field(LoaderConstraintEntry,       _num_loaders,                                  int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   544
  nonstatic_field(LoaderConstraintEntry,       _max_loaders,                                  int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   545
  nonstatic_field(LoaderConstraintEntry,       _loaders,                                      oop*)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   546
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   547
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   548
  /* CodeCache (NOTE: incomplete) */                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   549
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   550
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   551
     static_field(CodeCache,                   _heap,                                         CodeHeap*)                             \
3908
24b55ad4c228 6863023: need non-perm oops in code cache for JSR 292
jrose
parents: 3686
diff changeset
   552
     static_field(CodeCache,                   _scavenge_root_nmethods,                       nmethod*)                              \
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
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   588
     static_field(StubRoutines,                _call_stub_return_address,                     address)                               \
1066
717c3345024f 5108146: Merge i486 and amd64 cpu directories
never
parents: 950
diff changeset
   589
     IA32_ONLY(static_field(StubRoutines::x86,_call_stub_compiled_return,                     address))                              \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   590
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   591
  /***************************************/                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   592
  /* PcDesc and other compiled code info */                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   593
  /***************************************/                                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   594
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   595
  nonstatic_field(PcDesc,                      _pc_offset,                                    int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   596
  nonstatic_field(PcDesc,                      _scope_decode_offset,                          int)                                   \
3686
69c1b5228547 6873116: Modify reexecute implementation to use pcDesc to record the reexecute bit
cfang
parents: 3261
diff changeset
   597
  nonstatic_field(PcDesc,                      _flags,                        PcDesc::PcDescFlags)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   598
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   599
  /***************************************************/                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   600
  /* CodeBlobs (NOTE: incomplete, but only a little) */                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   601
  /***************************************************/                                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   602
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   603
  nonstatic_field(CodeBlob,                    _name,                                         const char*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   604
  nonstatic_field(CodeBlob,                    _size,                                         int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   605
  nonstatic_field(CodeBlob,                    _header_size,                                  int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   606
  nonstatic_field(CodeBlob,                    _relocation_size,                              int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   607
  nonstatic_field(CodeBlob,                    _instructions_offset,                          int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   608
  nonstatic_field(CodeBlob,                    _frame_complete_offset,                        int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   609
  nonstatic_field(CodeBlob,                    _data_offset,                                  int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   610
  nonstatic_field(CodeBlob,                    _oops_offset,                                  int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   611
  nonstatic_field(CodeBlob,                    _oops_length,                                  int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   612
  nonstatic_field(CodeBlob,                    _frame_size,                                   int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   613
  nonstatic_field(CodeBlob,                    _oop_maps,                                     OopMapSet*)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   614
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   615
  /**************************************************/                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   616
  /* NMethods (NOTE: incomplete, but only a little) */                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   617
  /**************************************************/                                                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   618
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   619
     static_field(nmethod,             _zombie_instruction_size,                      int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   620
  nonstatic_field(nmethod,             _method,                                       methodOop)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   621
  nonstatic_field(nmethod,             _entry_bci,                                    int)                                   \
3908
24b55ad4c228 6863023: need non-perm oops in code cache for JSR 292
jrose
parents: 3686
diff changeset
   622
  nonstatic_field(nmethod,             _osr_link,                                     nmethod*)                              \
24b55ad4c228 6863023: need non-perm oops in code cache for JSR 292
jrose
parents: 3686
diff changeset
   623
  nonstatic_field(nmethod,             _scavenge_root_link,                           nmethod*)                              \
24b55ad4c228 6863023: need non-perm oops in code cache for JSR 292
jrose
parents: 3686
diff changeset
   624
  nonstatic_field(nmethod,             _scavenge_root_state,                          jbyte)                                 \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   625
  nonstatic_field(nmethod,             _exception_offset,                             int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   626
  nonstatic_field(nmethod,             _deoptimize_offset,                            int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   627
  nonstatic_field(nmethod,             _orig_pc_offset,                               int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   628
  nonstatic_field(nmethod,             _stub_offset,                                  int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   629
  nonstatic_field(nmethod,             _scopes_data_offset,                           int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   630
  nonstatic_field(nmethod,             _scopes_pcs_offset,                            int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   631
  nonstatic_field(nmethod,             _dependencies_offset,                          int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   632
  nonstatic_field(nmethod,             _handler_table_offset,                         int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   633
  nonstatic_field(nmethod,             _nul_chk_table_offset,                         int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   634
  nonstatic_field(nmethod,             _nmethod_end_offset,                           int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   635
  nonstatic_field(nmethod,             _entry_point,                                  address)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   636
  nonstatic_field(nmethod,             _verified_entry_point,                         address)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   637
  nonstatic_field(nmethod,             _osr_entry_point,                              address)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   638
  nonstatic_field(nmethod,             _lock_count,                                   jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   639
  nonstatic_field(nmethod,             _stack_traversal_mark,                         long)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   640
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   641
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   642
  /* JavaCalls (NOTE: incomplete) */                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   643
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   644
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   645
  nonstatic_field(JavaCallWrapper,             _anchor,                                       JavaFrameAnchor)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   646
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   647
  /* JavaFrameAnchor (NOTE: incomplete) */                                                                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   648
  /********************************/                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   649
  volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_sp,                                 intptr_t*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   650
  volatile_nonstatic_field(JavaFrameAnchor,    _last_Java_pc,                                 address)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   651
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   652
  /******************************/                                                                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   653
  /* Threads (NOTE: incomplete) */                                                                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   654
  /******************************/                                                                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   655
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   656
     static_field(Threads,                     _thread_list,                                  JavaThread*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   657
     static_field(Threads,                     _number_of_threads,                            int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   658
     static_field(Threads,                     _number_of_non_daemon_threads,                 int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   659
     static_field(Threads,                     _return_code,                                  int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   660
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   661
   volatile_nonstatic_field(Thread,            _suspend_flags,                                uint32_t)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   662
  nonstatic_field(Thread,                      _active_handles,                               JNIHandleBlock*)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   663
  nonstatic_field(Thread,                      _tlab,                                         ThreadLocalAllocBuffer)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   664
  nonstatic_field(Thread,                      _current_pending_monitor,                      ObjectMonitor*)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   665
  nonstatic_field(Thread,                      _current_pending_monitor_is_from_java,         bool)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   666
  nonstatic_field(Thread,                      _current_waiting_monitor,                      ObjectMonitor*)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   667
  nonstatic_field(NamedThread,                 _name,                                         char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   668
  nonstatic_field(JavaThread,                  _next,                                         JavaThread*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   669
  nonstatic_field(JavaThread,                  _threadObj,                                    oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   670
  nonstatic_field(JavaThread,                  _anchor,                                       JavaFrameAnchor)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   671
   volatile_nonstatic_field(JavaThread,        _thread_state,                                 JavaThreadState)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   672
  nonstatic_field(JavaThread,                  _osthread,                                     OSThread*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   673
  nonstatic_field(JavaThread,                  _stack_base,                                   address)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   674
  nonstatic_field(JavaThread,                  _stack_size,                                   size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   675
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   676
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   677
  /* OSThread */                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   678
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   679
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   680
  nonstatic_field(OSThread,                    _interrupted,                                  jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   681
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   682
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   683
  /* OopMap and OopMapSet */                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   684
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   685
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   686
  nonstatic_field(OopMap,                      _pc_offset,                                    int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   687
  nonstatic_field(OopMap,                      _omv_count,                                    int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   688
  nonstatic_field(OopMap,                      _omv_data_size,                                int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   689
  nonstatic_field(OopMap,                      _omv_data,                                     unsigned char*)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   690
  nonstatic_field(OopMap,                      _write_stream,                                 CompressedWriteStream*)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   691
  nonstatic_field(OopMapSet,                   _om_count,                                     int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   692
  nonstatic_field(OopMapSet,                   _om_size,                                      int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   693
  nonstatic_field(OopMapSet,                   _om_data,                                      OopMap**)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   694
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   695
  /*********************************/                                                                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   696
  /* JNIHandles and JNIHandleBlock */                                                                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   697
  /*********************************/                                                                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   698
     static_field(JNIHandles,                  _global_handles,                               JNIHandleBlock*)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   699
     static_field(JNIHandles,                  _weak_global_handles,                          JNIHandleBlock*)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   700
     static_field(JNIHandles,                  _deleted_handle,                               oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   701
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   702
  unchecked_nonstatic_field(JNIHandleBlock,    _handles,                                      JNIHandleBlock::block_size_in_oops * sizeof(Oop)) /* Note: no type */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   703
  nonstatic_field(JNIHandleBlock,              _top,                                          int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   704
  nonstatic_field(JNIHandleBlock,              _next,                                         JNIHandleBlock*)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   705
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   706
  /********************/                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   707
  /* CompressedStream */                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   708
  /********************/                                                                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   709
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   710
  nonstatic_field(CompressedStream,            _buffer,                                       u_char*)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   711
  nonstatic_field(CompressedStream,            _position,                                     int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   712
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   713
  /*********************************/                                                                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   714
  /* VMRegImpl (NOTE: incomplete) */                                                                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   715
  /*********************************/                                                                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   716
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   717
     static_field(VMRegImpl,                   regName[0],                                    const char*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   718
     static_field(VMRegImpl,                   stack0,                                        VMReg)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   719
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   720
  /*******************************/                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   721
  /* Runtime1 (NOTE: incomplete) */                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   722
  /*******************************/                                                                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   723
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   724
  unchecked_c1_static_field(Runtime1,          _blobs,                                        sizeof(Runtime1::_blobs)) /* NOTE: no type */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   725
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   726
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   727
  /* Monitors */                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   728
  /************/                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   729
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   730
  volatile_nonstatic_field(ObjectMonitor,      _header,                                       markOop)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   731
  unchecked_nonstatic_field(ObjectMonitor,     _object,                                       sizeof(void *)) /* NOTE: no type */    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   732
  unchecked_nonstatic_field(ObjectMonitor,     _owner,                                        sizeof(void *)) /* NOTE: no type */    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   733
  volatile_nonstatic_field(ObjectMonitor,      _count,                                        intptr_t)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   734
  volatile_nonstatic_field(ObjectMonitor,      _waiters,                                      intptr_t)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   735
  volatile_nonstatic_field(ObjectMonitor,      _recursions,                                   intptr_t)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   736
  nonstatic_field(ObjectMonitor,               FreeNext,                                      ObjectMonitor*)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   737
  volatile_nonstatic_field(BasicLock,          _displaced_header,                             markOop)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   738
  nonstatic_field(BasicObjectLock,             _lock,                                         BasicLock)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   739
  nonstatic_field(BasicObjectLock,             _obj,                                          oop)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   740
  static_field(ObjectSynchronizer,             gBlockList,                                    ObjectMonitor*)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   741
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   742
  /*********************/                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   743
  /* Matcher (C2 only) */                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   744
  /*********************/                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   745
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   746
  unchecked_c2_static_field(Matcher,           _regEncode,                                    sizeof(Matcher::_regEncode)) /* NOTE: no type */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   747
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   748
  /*********************/                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   749
  /* -XX flags         */                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   750
  /*********************/                                                                                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   751
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   752
  nonstatic_field(Flag,                        type,                                          const char*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   753
  nonstatic_field(Flag,                        name,                                          const char*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   754
  unchecked_nonstatic_field(Flag,              addr,                                          sizeof(void*)) /* NOTE: no type */     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   755
  nonstatic_field(Flag,                        kind,                                          const char*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   756
  static_field(Flag,                           flags,                                         Flag*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   757
  static_field(Flag,                           numFlags,                                      size_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   758
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   759
  /*************************/                                                                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   760
  /* JDK / VM version info */                                                                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   761
  /*************************/                                                                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   762
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   763
  static_field(Abstract_VM_Version,            _s_vm_release,                                 const char*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   764
  static_field(Abstract_VM_Version,            _s_internal_vm_info_string,                    const char*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   765
  static_field(Abstract_VM_Version,            _vm_major_version,                             int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   766
  static_field(Abstract_VM_Version,            _vm_minor_version,                             int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   767
  static_field(Abstract_VM_Version,            _vm_build_number,                              int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   768
                                                                                                                                     \
950
6112b627bb36 6721093: -XX:AppendRatio=N not supported
kamg
parents: 670
diff changeset
   769
  static_field(JDK_Version,                    _current,                                      JDK_Version)                           \
6112b627bb36 6721093: -XX:AppendRatio=N not supported
kamg
parents: 670
diff changeset
   770
  nonstatic_field(JDK_Version,                 _partially_initialized,                        bool)                                  \
6112b627bb36 6721093: -XX:AppendRatio=N not supported
kamg
parents: 670
diff changeset
   771
  nonstatic_field(JDK_Version,                 _major,                                        unsigned char)                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   772
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   773
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   774
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   775
  /*************/                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   776
  /* Arguments */                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   777
  /*************/                                                                                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   778
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   779
  static_field(Arguments,                      _jvm_flags_array,                              char**)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   780
  static_field(Arguments,                      _num_jvm_flags,                                int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   781
  static_field(Arguments,                      _jvm_args_array,                               char**)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   782
  static_field(Arguments,                      _num_jvm_args,                                 int)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   783
  static_field(Arguments,                      _java_command,                                 char*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   784
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   785
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   786
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   787
  /* Miscellaneous fields */                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   788
  /************************/                                                                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   789
                                                                                                                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   790
  nonstatic_field(AccessFlags,                 _flags,                                        jint)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   791
  nonstatic_field(elapsedTimer,                _counter,                                      jlong)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   792
  nonstatic_field(elapsedTimer,                _active,                                       bool)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   793
  nonstatic_field(InvocationCounter,           _counter,                                      unsigned int)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   794
489c9b5090e2 Initial load
duke
parents:
diff changeset
   795
  /* NOTE that we do not use the last_entry() macro here; it is used  */
489c9b5090e2 Initial load
duke
parents:
diff changeset
   796
  /* in vmStructs_<os>_<cpu>.hpp's VM_STRUCTS_OS_CPU macro (and must  */
489c9b5090e2 Initial load
duke
parents:
diff changeset
   797
  /* be present there)                                                */
489c9b5090e2 Initial load
duke
parents:
diff changeset
   798
489c9b5090e2 Initial load
duke
parents:
diff changeset
   799
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
   800
// VM_TYPES
489c9b5090e2 Initial load
duke
parents:
diff changeset
   801
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
   802
// This list must enumerate at least all of the types in the above
489c9b5090e2 Initial load
duke
parents:
diff changeset
   803
// list. For the types in the above list, the entry below must have
489c9b5090e2 Initial load
duke
parents:
diff changeset
   804
// exactly the same spacing since string comparisons are done in the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   805
// code which verifies the consistency of these tables (in the debug
489c9b5090e2 Initial load
duke
parents:
diff changeset
   806
// build).
489c9b5090e2 Initial load
duke
parents:
diff changeset
   807
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
   808
// In addition to the above types, this list is required to enumerate
489c9b5090e2 Initial load
duke
parents:
diff changeset
   809
// the JNI's java types, which are used to indicate the size of Java
489c9b5090e2 Initial load
duke
parents:
diff changeset
   810
// fields in this VM to the SA. Further, oop types are currently
489c9b5090e2 Initial load
duke
parents:
diff changeset
   811
// distinguished by name (i.e., ends with "oop") over in the SA.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   812
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
   813
// The declare_toplevel_type macro should be used to declare types
489c9b5090e2 Initial load
duke
parents:
diff changeset
   814
// which do not have a superclass.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   815
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
   816
// The declare_integer_type and declare_unsigned_integer_type macros
489c9b5090e2 Initial load
duke
parents:
diff changeset
   817
// are required in order to properly identify C integer types over in
489c9b5090e2 Initial load
duke
parents:
diff changeset
   818
// the SA. They should be used for any type which is otherwise opaque
489c9b5090e2 Initial load
duke
parents:
diff changeset
   819
// and which it is necessary to coerce into an integer value. This
489c9b5090e2 Initial load
duke
parents:
diff changeset
   820
// includes, for example, the type uintptr_t. Note that while they
489c9b5090e2 Initial load
duke
parents:
diff changeset
   821
// will properly identify the type's size regardless of the platform,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   822
// since it is does not seem possible to deduce or check signedness at
489c9b5090e2 Initial load
duke
parents:
diff changeset
   823
// compile time using the pointer comparison tricks, it is currently
489c9b5090e2 Initial load
duke
parents:
diff changeset
   824
// required that the given types have the same signedness across all
489c9b5090e2 Initial load
duke
parents:
diff changeset
   825
// platforms.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   826
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
   827
// NOTE that there are platform-specific additions to this table in
489c9b5090e2 Initial load
duke
parents:
diff changeset
   828
// vmStructs_<os>_<cpu>.hpp.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   829
489c9b5090e2 Initial load
duke
parents:
diff changeset
   830
#define VM_TYPES(declare_type,                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   831
                 declare_toplevel_type,                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   832
                 declare_oop_type,                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   833
                 declare_integer_type,                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   834
                 declare_unsigned_integer_type,                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   835
                 declare_c1_toplevel_type,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   836
                 declare_c2_type,                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   837
                 declare_c2_toplevel_type,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   838
                 last_entry)                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   839
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   840
  /*************************************************************/         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   841
  /* Java primitive types -- required by the SA implementation */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   842
  /* in order to determine the size of Java fields in this VM  */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   843
  /* (the implementation looks up these names specifically)    */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   844
  /* NOTE: since we fetch these sizes from the remote VM, we   */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   845
  /* have a bootstrapping sequence during which it is not      */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   846
  /* valid to fetch Java values from the remote process, only  */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   847
  /* C integer values (of known size). NOTE also that we do    */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   848
  /* NOT include "Java unsigned" types like juint here; since  */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   849
  /* Java does not have unsigned primitive types, those can    */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   850
  /* not be mapped directly and are considered to be C integer */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   851
  /* types in this system (see the "other types" section,      */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   852
  /* below.)                                                   */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   853
  /*************************************************************/         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   854
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   855
  declare_toplevel_type(jboolean)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   856
  declare_toplevel_type(jbyte)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   857
  declare_toplevel_type(jchar)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   858
  declare_toplevel_type(jdouble)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   859
  declare_toplevel_type(jfloat)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   860
  declare_toplevel_type(jint)                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   861
  declare_toplevel_type(jlong)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   862
  declare_toplevel_type(jshort)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   863
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   864
  /*********************************************************************/ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   865
  /* C integer types. User-defined typedefs (like "size_t" or          */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   866
  /* "intptr_t") are guaranteed to be present with the same names over */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   867
  /* in the SA's type database. Names like "unsigned short" are not    */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   868
  /* guaranteed to be visible through the SA's type database lookup    */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   869
  /* mechanism, though they will have a Type object created for them   */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   870
  /* and are valid types for Fields.                                   */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   871
  /*********************************************************************/ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   872
  declare_integer_type(bool)                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   873
  declare_integer_type(int)                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   874
  declare_integer_type(long)                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   875
  declare_integer_type(char)                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   876
  declare_unsigned_integer_type(unsigned char)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   877
  declare_unsigned_integer_type(unsigned int)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   878
  declare_unsigned_integer_type(unsigned short)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   879
  declare_unsigned_integer_type(unsigned long)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   880
  /* The compiler thinks this is a different type than */                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   881
  /* unsigned short on Win32 */                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   882
  declare_unsigned_integer_type(u2)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   883
  declare_unsigned_integer_type(unsigned)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   884
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   885
  /*****************************/                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   886
  /* C primitive pointer types */                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   887
  /*****************************/                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   888
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   889
  declare_toplevel_type(int*)                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   890
  declare_toplevel_type(char*)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   891
  declare_toplevel_type(char**)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   892
  declare_toplevel_type(const char*)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   893
  declare_toplevel_type(u_char*)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   894
  declare_toplevel_type(unsigned char*)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   895
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   896
  /*******************************************************************/   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   897
  /* Types which it will be handy to have available over in the SA   */   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   898
  /* in order to do platform-independent address -> integer coercion */   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   899
  /* (note: these will be looked up by name)                         */   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   900
  /*******************************************************************/   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   901
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   902
  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
   903
  declare_integer_type(ssize_t)                                           \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   904
  declare_unsigned_integer_type(const size_t)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   905
  declare_integer_type(intx)                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   906
  declare_integer_type(intptr_t)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   907
  declare_unsigned_integer_type(uintx)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   908
  declare_unsigned_integer_type(uintptr_t)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   909
  declare_unsigned_integer_type(uint32_t)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   910
  declare_unsigned_integer_type(uint64_t)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   911
  declare_integer_type(const int)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   912
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   913
  /*******************************************************************************/ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   914
  /* OopDesc and Klass hierarchies (NOTE: missing methodDataOop-related classes) */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   915
  /*******************************************************************************/ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   916
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   917
  declare_toplevel_type(oopDesc)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   918
  declare_toplevel_type(Klass_vtbl)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   919
           declare_type(Klass, Klass_vtbl)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   920
           declare_type(arrayKlass, Klass)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   921
           declare_type(arrayKlassKlass, klassKlass)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   922
           declare_type(arrayOopDesc, oopDesc)                            \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
   923
   declare_type(compiledICHolderKlass, Klass)                             \
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
   924
   declare_type(compiledICHolderOopDesc, oopDesc)                         \
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
   925
           declare_type(constantPoolKlass, Klass)                         \
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
   926
           declare_type(constantPoolOopDesc, oopDesc)                     \
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
   927
           declare_type(constantPoolCacheKlass, Klass)                    \
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
   928
           declare_type(constantPoolCacheOopDesc, oopDesc)                \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   929
           declare_type(instanceKlass, Klass)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   930
           declare_type(instanceKlassKlass, klassKlass)                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   931
           declare_type(instanceOopDesc, oopDesc)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   932
           declare_type(instanceRefKlass, instanceKlass)                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   933
           declare_type(klassKlass, Klass)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   934
           declare_type(klassOopDesc, oopDesc)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   935
           declare_type(markOopDesc, oopDesc)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   936
   declare_type(methodDataKlass, Klass)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   937
   declare_type(methodDataOopDesc, oopDesc)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   938
           declare_type(methodKlass, Klass)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   939
           declare_type(constMethodKlass, Klass)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   940
           declare_type(methodOopDesc, oopDesc)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   941
           declare_type(objArrayKlass, arrayKlass)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   942
           declare_type(objArrayKlassKlass, arrayKlassKlass)              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   943
           declare_type(objArrayOopDesc, arrayOopDesc)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   944
           declare_type(constMethodOopDesc, oopDesc)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   945
           declare_type(symbolKlass, Klass)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   946
           declare_type(symbolOopDesc, oopDesc)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   947
           declare_type(typeArrayKlass, arrayKlass)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   948
           declare_type(typeArrayKlassKlass, arrayKlassKlass)             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   949
           declare_type(typeArrayOopDesc, arrayOopDesc)                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   950
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   951
  /********/                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   952
  /* Oops */                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   953
  /********/                                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   954
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   955
  declare_oop_type(constantPoolOop)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   956
  declare_oop_type(constantPoolCacheOop)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   957
  declare_oop_type(klassOop)                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   958
  declare_oop_type(markOop)                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   959
  declare_oop_type(methodOop)                                             \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
   960
  declare_oop_type(methodDataOop)                                         \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   961
  declare_oop_type(objArrayOop)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   962
  declare_oop_type(oop)                                                   \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
   963
  declare_oop_type(narrowOop)                                             \
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
   964
  declare_oop_type(wideKlassOop)                                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   965
  declare_oop_type(constMethodOop)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   966
  declare_oop_type(symbolOop)                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   967
  declare_oop_type(typeArrayOop)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   968
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   969
  /*************************************/                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   970
  /* MethodOop-related data structures */                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   971
  /*************************************/                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   972
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   973
  declare_toplevel_type(CheckedExceptionElement)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   974
  declare_toplevel_type(LocalVariableTableElement)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   975
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   976
  /******************************************/                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   977
  /* Generation and space hierarchies       */                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   978
  /* (needed for run-time type information) */                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   979
  /******************************************/                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   980
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   981
  declare_toplevel_type(CollectedHeap)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   982
           declare_type(SharedHeap,                   CollectedHeap)      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   983
           declare_type(GenCollectedHeap,             SharedHeap)         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   984
  declare_toplevel_type(Generation)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   985
           declare_type(DefNewGeneration,             Generation)         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   986
           declare_type(CardGeneration,               Generation)         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   987
           declare_type(OneContigSpaceCardGeneration, CardGeneration)     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   988
           declare_type(TenuredGeneration,            OneContigSpaceCardGeneration) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   989
           declare_type(CompactingPermGenGen,         OneContigSpaceCardGeneration) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   990
  declare_toplevel_type(Space)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   991
  declare_toplevel_type(BitMap)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   992
           declare_type(CompactibleSpace,             Space)              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   993
           declare_type(ContiguousSpace,              CompactibleSpace)   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   994
           declare_type(EdenSpace,                    ContiguousSpace)    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   995
           declare_type(OffsetTableContigSpace,       ContiguousSpace)    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   996
           declare_type(TenuredSpace,                 OffsetTableContigSpace) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   997
           declare_type(ContigPermSpace,              OffsetTableContigSpace) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   998
  declare_toplevel_type(PermGen)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
   999
           declare_type(CompactingPermGen,            PermGen)            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1000
  declare_toplevel_type(BarrierSet)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1001
           declare_type(ModRefBarrierSet,             BarrierSet)         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1002
           declare_type(CardTableModRefBS,            ModRefBarrierSet)   \
1374
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 394
diff changeset
  1003
           declare_type(CardTableModRefBSForCTRS,     CardTableModRefBS)  \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1004
  declare_toplevel_type(GenRemSet)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1005
           declare_type(CardTableRS,                  GenRemSet)          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1006
  declare_toplevel_type(BlockOffsetSharedArray)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1007
  declare_toplevel_type(BlockOffsetTable)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1008
           declare_type(BlockOffsetArray,             BlockOffsetTable)   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1009
           declare_type(BlockOffsetArrayContigSpace,  BlockOffsetArray)   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1010
           declare_type(BlockOffsetArrayNonContigSpace, BlockOffsetArray) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1011
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1012
  /* Miscellaneous other GC types */                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1013
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1014
  declare_toplevel_type(ageTable)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1015
  declare_toplevel_type(Generation::StatRecord)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1016
  declare_toplevel_type(GenerationSpec)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1017
  declare_toplevel_type(HeapWord)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1018
  declare_toplevel_type(MemRegion)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1019
  declare_toplevel_type(const MemRegion)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1020
  declare_toplevel_type(PermanentGenerationSpec)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1021
  declare_toplevel_type(ThreadLocalAllocBuffer)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1022
  declare_toplevel_type(VirtualSpace)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1023
  declare_toplevel_type(WaterMark)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1024
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1025
  /* Pointers to Garbage Collection types */                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1026
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1027
  declare_toplevel_type(BarrierSet*)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1028
  declare_toplevel_type(BlockOffsetSharedArray*)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1029
  declare_toplevel_type(GenRemSet*)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1030
  declare_toplevel_type(CardTableRS*)                                     \
1374
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 394
diff changeset
  1031
  declare_toplevel_type(CardTableModRefBS*)                               \
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 394
diff changeset
  1032
  declare_toplevel_type(CardTableModRefBS**)                              \
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 394
diff changeset
  1033
  declare_toplevel_type(CardTableModRefBSForCTRS*)                        \
4c24294029a9 6711316: Open source the Garbage-First garbage collector
ysr
parents: 394
diff changeset
  1034
  declare_toplevel_type(CardTableModRefBSForCTRS**)                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1035
  declare_toplevel_type(CollectedHeap*)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1036
  declare_toplevel_type(ContiguousSpace*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1037
  declare_toplevel_type(DefNewGeneration*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1038
  declare_toplevel_type(EdenSpace*)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1039
  declare_toplevel_type(GenCollectedHeap*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1040
  declare_toplevel_type(Generation*)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1041
  declare_toplevel_type(GenerationSpec**)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1042
  declare_toplevel_type(HeapWord*)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1043
  declare_toplevel_type(MemRegion*)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1044
  declare_toplevel_type(OffsetTableContigSpace*)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1045
  declare_toplevel_type(OneContigSpaceCardGeneration*)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1046
  declare_toplevel_type(PermGen*)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1047
  declare_toplevel_type(Space*)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1048
  declare_toplevel_type(ThreadLocalAllocBuffer*)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1049
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1050
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1051
  /* PerfMemory - jvmstat */                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1052
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1053
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1054
  declare_toplevel_type(PerfDataPrologue)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1055
  declare_toplevel_type(PerfDataPrologue*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1056
  declare_toplevel_type(PerfDataEntry)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1057
  declare_toplevel_type(PerfMemory)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1058
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1059
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1060
  /* SymbolTable, SystemDictionary */                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1061
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1062
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1063
  declare_toplevel_type(BasicHashtable)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1064
    declare_type(Hashtable, BasicHashtable)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1065
    declare_type(SymbolTable, Hashtable)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1066
    declare_type(StringTable, Hashtable)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1067
    declare_type(LoaderConstraintTable, Hashtable)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1068
    declare_type(TwoOopHashtable, Hashtable)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1069
    declare_type(Dictionary, TwoOopHashtable)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1070
    declare_type(PlaceholderTable, TwoOopHashtable)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1071
  declare_toplevel_type(Hashtable*)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1072
  declare_toplevel_type(SymbolTable*)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1073
  declare_toplevel_type(StringTable*)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1074
  declare_toplevel_type(LoaderConstraintTable*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1075
  declare_toplevel_type(TwoOopHashtable*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1076
  declare_toplevel_type(Dictionary*)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1077
  declare_toplevel_type(PlaceholderTable*)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1078
  declare_toplevel_type(BasicHashtableEntry)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1079
  declare_toplevel_type(BasicHashtableEntry*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1080
    declare_type(HashtableEntry, BasicHashtableEntry)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1081
    declare_type(DictionaryEntry, HashtableEntry)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1082
    declare_type(PlaceholderEntry, HashtableEntry)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1083
    declare_type(LoaderConstraintEntry, HashtableEntry)                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1084
  declare_toplevel_type(HashtableEntry*)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1085
  declare_toplevel_type(DictionaryEntry*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1086
  declare_toplevel_type(HashtableBucket)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1087
  declare_toplevel_type(HashtableBucket*)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1088
  declare_toplevel_type(SystemDictionary)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1089
  declare_toplevel_type(ProtectionDomainEntry)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1090
  declare_toplevel_type(ProtectionDomainEntry*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1091
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1092
  /***********************************************************/           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1093
  /* Thread hierarchy (needed for run-time type information) */           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1094
  /***********************************************************/           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1095
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1096
  declare_toplevel_type(Threads)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1097
  declare_toplevel_type(ThreadShadow)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1098
           declare_type(Thread, ThreadShadow)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1099
           declare_type(NamedThread, Thread)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1100
           declare_type(WatcherThread, Thread)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1101
           declare_type(JavaThread, Thread)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1102
           declare_type(JvmtiAgentThread, JavaThread)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1103
           declare_type(LowMemoryDetectorThread, JavaThread)              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1104
  declare_type(CompilerThread, JavaThread)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1105
  declare_toplevel_type(OSThread)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1106
  declare_toplevel_type(JavaFrameAnchor)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1107
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1108
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1109
  /* Interpreter */                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1110
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1111
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1112
  declare_toplevel_type(AbstractInterpreter)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1113
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1114
  /*********/                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1115
  /* Stubs */                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1116
  /*********/                                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1117
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1118
  declare_toplevel_type(StubQueue)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1119
  declare_toplevel_type(StubRoutines)                                     \
1066
717c3345024f 5108146: Merge i486 and amd64 cpu directories
never
parents: 950
diff changeset
  1120
  IA32_ONLY(declare_toplevel_type(StubRoutines::x86))                     \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1121
  declare_toplevel_type(Stub)                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1122
           declare_type(InterpreterCodelet, Stub)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1123
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1124
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1125
  /* JavaCalls */                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1126
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1127
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1128
  declare_toplevel_type(JavaCallWrapper)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1129
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1130
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1131
  /* CodeCache */                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1132
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1133
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1134
  declare_toplevel_type(CodeCache)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1135
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1136
  /************/                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1137
  /* CodeHeap */                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1138
  /************/                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1139
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1140
  declare_toplevel_type(CodeHeap)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1141
  declare_toplevel_type(CodeHeap*)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1142
  declare_toplevel_type(HeapBlock)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1143
  declare_toplevel_type(HeapBlock::Header)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1144
           declare_type(FreeBlock, HeapBlock)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1145
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1146
  /*************************************************************/         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1147
  /* CodeBlob hierarchy (needed for run-time type information) */         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1148
  /*************************************************************/         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1149
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1150
  declare_toplevel_type(CodeBlob)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1151
  declare_type(BufferBlob,            CodeBlob)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1152
  declare_type(nmethod,       CodeBlob)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1153
  declare_type(RuntimeStub,           CodeBlob)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1154
  declare_type(SingletonBlob,         CodeBlob)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1155
  declare_type(SafepointBlob,         SingletonBlob)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1156
  declare_type(DeoptimizationBlob,    SingletonBlob)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1157
  declare_c2_type(ExceptionBlob,      SingletonBlob)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1158
  declare_c2_type(UncommonTrapBlob,   CodeBlob)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1159
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1160
  /***************************************/                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1161
  /* PcDesc and other compiled code info */                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1162
  /***************************************/                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1163
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1164
  declare_toplevel_type(PcDesc)                                           \
3686
69c1b5228547 6873116: Modify reexecute implementation to use pcDesc to record the reexecute bit
cfang
parents: 3261
diff changeset
  1165
  declare_integer_type(PcDesc::PcDescFlags)                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1166
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1167
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1168
  /* OopMap and OopMapSet */                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1169
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1170
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1171
  declare_toplevel_type(OopMap)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1172
  declare_toplevel_type(OopMapSet)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1173
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1174
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1175
  /* CompressedStream */                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1176
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1177
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1178
  declare_toplevel_type(CompressedStream)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1179
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1180
  /**************/                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1181
  /* VMRegImpl  */                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1182
  /**************/                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1183
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1184
  declare_toplevel_type(VMRegImpl)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1185
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1186
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1187
  /* JNIHandles and JNIHandleBlock */                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1188
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1189
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1190
  declare_toplevel_type(JNIHandles)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1191
  declare_toplevel_type(JNIHandleBlock)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1192
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1193
  /**********************/                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1194
  /* Runtime1 (C1 only) */                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1195
  /**********************/                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1196
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1197
  declare_c1_toplevel_type(Runtime1)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1198
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1199
  /************/                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1200
  /* Monitors */                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1201
  /************/                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1202
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1203
  declare_toplevel_type(ObjectMonitor)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1204
  declare_toplevel_type(ObjectSynchronizer)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1205
  declare_toplevel_type(BasicLock)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1206
  declare_toplevel_type(BasicObjectLock)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1207
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1208
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1209
  /* Matcher (C2 only) */                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1210
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1211
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1212
  /* NOTE: this is not really a toplevel type, but we only need */        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1213
  /* this one -- FIXME later if necessary */                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1214
  declare_c2_toplevel_type(Matcher)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1215
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1216
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1217
  /* Adapter Blob Entries */                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1218
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1219
  declare_toplevel_type(AdapterHandlerEntry)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1220
  declare_toplevel_type(AdapterHandlerEntry*)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1221
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1222
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1223
  /* -XX flags        */                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1224
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1225
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1226
  declare_toplevel_type(Flag)                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1227
  declare_toplevel_type(Flag*)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1228
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1229
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1230
  /* JDK/VM version   */                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1231
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1232
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1233
  declare_toplevel_type(Abstract_VM_Version)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1234
  declare_toplevel_type(JDK_Version)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1235
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1236
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1237
  /* Arguments */                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1238
  /*************/                                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1239
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1240
  declare_toplevel_type(Arguments)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1241
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1242
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1243
  /* Other types */                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1244
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1245
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1246
  /* all enum types */                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1247
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1248
   declare_integer_type(Bytecodes::Code)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1249
   declare_integer_type(Generation::Name)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1250
   declare_integer_type(instanceKlass::ClassState)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1251
   declare_integer_type(JavaThreadState)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1252
   declare_integer_type(Location::Type)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1253
   declare_integer_type(Location::Where)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1254
   declare_integer_type(PermGen::Name)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1255
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1256
   declare_integer_type(AccessFlags)  /* FIXME: wrong type (not integer) */\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1257
  declare_toplevel_type(address)      /* FIXME: should this be an integer type? */\
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1258
  declare_toplevel_type(BreakpointInfo)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1259
  declare_toplevel_type(BreakpointInfo*)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1260
  declare_toplevel_type(CodeBlob*)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1261
  declare_toplevel_type(CompressedWriteStream*)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1262
  declare_toplevel_type(ConstantPoolCacheEntry)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1263
  declare_toplevel_type(elapsedTimer)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1264
  declare_toplevel_type(intptr_t*)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1265
   declare_unsigned_integer_type(InvocationCounter) /* FIXME: wrong type (not integer) */ \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1266
  declare_toplevel_type(JavaThread*)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1267
  declare_toplevel_type(jbyte*)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1268
  declare_toplevel_type(jbyte**)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1269
  declare_toplevel_type(jint*)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1270
  declare_toplevel_type(jniIdMapBase*)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1271
  declare_unsigned_integer_type(juint)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1272
  declare_unsigned_integer_type(julong)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1273
  declare_toplevel_type(JNIHandleBlock*)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1274
  declare_toplevel_type(JNIid)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1275
  declare_toplevel_type(JNIid*)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1276
  declare_toplevel_type(jmethodID*)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1277
  declare_toplevel_type(Mutex*)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1278
  declare_toplevel_type(nmethod*)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1279
  declare_toplevel_type(ObjectMonitor*)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1280
  declare_toplevel_type(oop*)                                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1281
  declare_toplevel_type(OopMap**)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1282
  declare_toplevel_type(OopMapCache*)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1283
  declare_toplevel_type(OopMapSet*)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1284
  declare_toplevel_type(VMReg)                                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1285
  declare_toplevel_type(OSThread*)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1286
   declare_integer_type(ReferenceType)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1287
  declare_toplevel_type(StubQueue*)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1288
  declare_toplevel_type(Thread*)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1289
  declare_toplevel_type(Universe)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1290
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1291
  /* NOTE that we do not use the last_entry() macro here; it is used  */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1292
  /* in vmStructs_<os>_<cpu>.hpp's VM_TYPES_OS_CPU macro (and must be */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1293
  /* present there)                                                   */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1294
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1295
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1296
// VM_INT_CONSTANTS
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1297
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1298
// This table contains integer constants required over in the
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1299
// serviceability agent. The "declare_constant" macro is used for all
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1300
// enums, etc., while "declare_preprocessor_constant" must be used for
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1301
// all #defined constants.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1302
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1303
#define VM_INT_CONSTANTS(declare_constant,                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1304
                         declare_preprocessor_constant,                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1305
                         declare_c1_constant,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1306
                         declare_c2_constant,                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1307
                         declare_c2_preprocessor_constant,                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1308
                         last_entry)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1309
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1310
  /******************/                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1311
  /* Useful globals */                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1312
  /******************/                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1313
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1314
  declare_constant(UseTLAB)                                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1315
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1316
  /**************/                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1317
  /* Stack bias */                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1318
  /**************/                                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1319
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1320
  declare_preprocessor_constant("STACK_BIAS", STACK_BIAS)                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1321
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1322
  /****************/                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1323
  /* Object sizes */                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1324
  /****************/                                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1325
                                                                          \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
  1326
  declare_constant(oopSize)                                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1327
  declare_constant(LogBytesPerWord)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1328
  declare_constant(BytesPerLong)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1329
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1330
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1331
  /* Object alignment */                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1332
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1333
                                                                          \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
  1334
  declare_constant(MinObjAlignment)                                       \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1335
  declare_constant(MinObjAlignmentInBytes)                                \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
  1336
  declare_constant(LogMinObjAlignmentInBytes)                             \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1337
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1338
  /********************************************/                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1339
  /* Generation and Space Hierarchy Constants */                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1340
  /********************************************/                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1341
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1342
  declare_constant(ageTable::table_size)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1343
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1344
  declare_constant(BarrierSet::ModRef)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1345
  declare_constant(BarrierSet::CardTableModRef)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1346
  declare_constant(BarrierSet::Other)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1347
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1348
  declare_constant(BlockOffsetSharedArray::LogN)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1349
  declare_constant(BlockOffsetSharedArray::LogN_words)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1350
  declare_constant(BlockOffsetSharedArray::N_bytes)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1351
  declare_constant(BlockOffsetSharedArray::N_words)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1352
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1353
  declare_constant(BlockOffsetArray::N_words)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1354
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1355
  declare_constant(CardTableModRefBS::clean_card)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1356
  declare_constant(CardTableModRefBS::last_card)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1357
  declare_constant(CardTableModRefBS::dirty_card)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1358
  declare_constant(CardTableModRefBS::Precise)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1359
  declare_constant(CardTableModRefBS::ObjHeadPreciseArray)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1360
  declare_constant(CardTableModRefBS::card_shift)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1361
  declare_constant(CardTableModRefBS::card_size)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1362
  declare_constant(CardTableModRefBS::card_size_in_words)                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1363
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1364
  declare_constant(CardTableRS::youngergen_card)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1365
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1366
  declare_constant(CollectedHeap::Abstract)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1367
  declare_constant(CollectedHeap::SharedHeap)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1368
  declare_constant(CollectedHeap::GenCollectedHeap)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1369
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1370
  declare_constant(GenCollectedHeap::max_gens)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1371
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1372
  /* constants from Generation::Name enum */                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1373
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1374
  declare_constant(Generation::DefNew)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1375
  declare_constant(Generation::MarkSweepCompact)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1376
  declare_constant(Generation::Other)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1377
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1378
  declare_constant(Generation::LogOfGenGrain)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1379
  declare_constant(Generation::GenGrain)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1380
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1381
  declare_constant(HeapWordSize)                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1382
  declare_constant(LogHeapWordSize)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1383
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1384
  /* constants from PermGen::Name enum */                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1385
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1386
  declare_constant(PermGen::MarkSweepCompact)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1387
  declare_constant(PermGen::MarkSweep)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1388
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1389
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1390
  /* PerfMemory - jvmstat */                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1391
  /************************/                                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1392
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1393
  declare_preprocessor_constant("PERFDATA_MAJOR_VERSION", PERFDATA_MAJOR_VERSION) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1394
  declare_preprocessor_constant("PERFDATA_MINOR_VERSION", PERFDATA_MINOR_VERSION) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1395
  declare_preprocessor_constant("PERFDATA_BIG_ENDIAN", PERFDATA_BIG_ENDIAN)       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1396
  declare_preprocessor_constant("PERFDATA_LITTLE_ENDIAN", PERFDATA_LITTLE_ENDIAN) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1397
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1398
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1399
  /* SymbolTable */                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1400
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1401
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1402
  declare_constant(SymbolTable::symbol_table_size)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1403
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1404
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1405
  /* StringTable */                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1406
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1407
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1408
  declare_constant(StringTable::string_table_size)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1409
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1410
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1411
  /* SystemDictionary */                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1412
  /********************/                                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1413
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1414
  declare_constant(SystemDictionary::_loader_constraint_size)             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1415
  declare_constant(SystemDictionary::_nof_buckets)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1416
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1417
  /***********************************/                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1418
  /* LoaderConstraintTable constants */                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1419
  /***********************************/                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1420
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1421
  declare_constant(LoaderConstraintTable::_loader_constraint_size)        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1422
  declare_constant(LoaderConstraintTable::_nof_buckets)                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1423
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1424
  /************************************************************/          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1425
  /* HotSpot specific JVM_ACC constants from global anon enum */          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1426
  /************************************************************/          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1427
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1428
  declare_constant(JVM_ACC_WRITTEN_FLAGS)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1429
  declare_constant(JVM_ACC_MONITOR_MATCH)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1430
  declare_constant(JVM_ACC_HAS_MONITOR_BYTECODES)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1431
  declare_constant(JVM_ACC_HAS_LOOPS)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1432
  declare_constant(JVM_ACC_LOOPS_FLAG_INIT)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1433
  declare_constant(JVM_ACC_QUEUED)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1434
  declare_constant(JVM_ACC_NOT_OSR_COMPILABLE)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1435
  declare_constant(JVM_ACC_HAS_LINE_NUMBER_TABLE)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1436
  declare_constant(JVM_ACC_HAS_CHECKED_EXCEPTIONS)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1437
  declare_constant(JVM_ACC_HAS_JSRS)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1438
  declare_constant(JVM_ACC_IS_OLD)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1439
  declare_constant(JVM_ACC_IS_OBSOLETE)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1440
  declare_constant(JVM_ACC_IS_PREFIXED_NATIVE)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1441
  declare_constant(JVM_ACC_HAS_MIRANDA_METHODS)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1442
  declare_constant(JVM_ACC_HAS_VANILLA_CONSTRUCTOR)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1443
  declare_constant(JVM_ACC_HAS_FINALIZER)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1444
  declare_constant(JVM_ACC_IS_CLONEABLE)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1445
  declare_constant(JVM_ACC_HAS_LOCAL_VARIABLE_TABLE)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1446
  declare_constant(JVM_ACC_PROMOTED_FLAGS)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1447
  declare_constant(JVM_ACC_FIELD_ACCESS_WATCHED)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1448
  declare_constant(JVM_ACC_FIELD_MODIFICATION_WATCHED)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1449
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1450
  /*****************************/                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1451
  /* Thread::SuspendFlags enum */                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1452
  /*****************************/                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1453
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1454
  declare_constant(Thread::_external_suspend)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1455
  declare_constant(Thread::_ext_suspended)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1456
  declare_constant(Thread::_has_async_exception)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1457
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1458
  /*******************/                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1459
  /* JavaThreadState */                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1460
  /*******************/                                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1461
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1462
  declare_constant(_thread_uninitialized)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1463
  declare_constant(_thread_new)                                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1464
  declare_constant(_thread_new_trans)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1465
  declare_constant(_thread_in_native)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1466
  declare_constant(_thread_in_native_trans)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1467
  declare_constant(_thread_in_vm)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1468
  declare_constant(_thread_in_vm_trans)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1469
  declare_constant(_thread_in_Java)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1470
  declare_constant(_thread_in_Java_trans)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1471
  declare_constant(_thread_blocked)                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1472
  declare_constant(_thread_blocked_trans)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1473
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1474
  /******************************/                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1475
  /* Klass misc. enum constants */                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1476
  /******************************/                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1477
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1478
  declare_constant(Klass::_primary_super_limit)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1479
  declare_constant(Klass::_lh_instance_slow_path_bit)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1480
  declare_constant(Klass::_lh_log2_element_size_shift)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1481
  declare_constant(Klass::_lh_element_type_shift)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1482
  declare_constant(Klass::_lh_header_size_shift)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1483
  declare_constant(Klass::_lh_array_tag_shift)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1484
  declare_constant(Klass::_lh_array_tag_type_value)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1485
  declare_constant(Klass::_lh_array_tag_obj_value)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1486
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1487
  /********************************/                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1488
  /* constMethodOopDesc anon-enum */                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1489
  /********************************/                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1490
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1491
  declare_constant(constMethodOopDesc::_has_linenumber_table)             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1492
  declare_constant(constMethodOopDesc::_has_checked_exceptions)           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1493
  declare_constant(constMethodOopDesc::_has_localvariable_table)          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1494
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1495
  /*************************************/                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1496
  /* instanceKlass FieldOffset enum    */                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1497
  /*************************************/                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1498
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1499
  declare_constant(instanceKlass::access_flags_offset)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1500
  declare_constant(instanceKlass::name_index_offset)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1501
  declare_constant(instanceKlass::signature_index_offset)                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1502
  declare_constant(instanceKlass::initval_index_offset)                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1503
  declare_constant(instanceKlass::low_offset)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1504
  declare_constant(instanceKlass::high_offset)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1505
  declare_constant(instanceKlass::generic_signature_offset)               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1506
  declare_constant(instanceKlass::next_offset)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1507
  declare_constant(instanceKlass::implementors_limit)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1508
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1509
  /************************************************/                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1510
  /* instanceKlass InnerClassAttributeOffset enum */                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1511
  /************************************************/                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1512
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1513
  declare_constant(instanceKlass::inner_class_inner_class_info_offset)    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1514
  declare_constant(instanceKlass::inner_class_outer_class_info_offset)    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1515
  declare_constant(instanceKlass::inner_class_inner_name_offset)          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1516
  declare_constant(instanceKlass::inner_class_access_flags_offset)        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1517
  declare_constant(instanceKlass::inner_class_next_offset)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1518
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1519
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1520
  /* instanceKlass ClassState enum */                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1521
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1522
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1523
  declare_constant(instanceKlass::unparsable_by_gc)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1524
  declare_constant(instanceKlass::allocated)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1525
  declare_constant(instanceKlass::loaded)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1526
  declare_constant(instanceKlass::linked)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1527
  declare_constant(instanceKlass::being_initialized)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1528
  declare_constant(instanceKlass::fully_initialized)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1529
  declare_constant(instanceKlass::initialization_error)                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1530
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1531
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1532
  /* symbolOop - symbol max length */                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1533
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1534
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1535
  declare_constant(symbolOopDesc::max_symbol_length)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1536
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1537
  /*********************************************/                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1538
  /* ConstantPoolCacheEntry FlagBitValues enum */                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1539
  /*********************************************/                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1540
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1541
  declare_constant(ConstantPoolCacheEntry::hotSwapBit)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1542
  declare_constant(ConstantPoolCacheEntry::methodInterface)               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1543
  declare_constant(ConstantPoolCacheEntry::volatileField)                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1544
  declare_constant(ConstantPoolCacheEntry::vfinalMethod)                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1545
  declare_constant(ConstantPoolCacheEntry::finalField)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1546
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1547
  /******************************************/                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1548
  /* ConstantPoolCacheEntry FlagValues enum */                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1549
  /******************************************/                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1550
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1551
  declare_constant(ConstantPoolCacheEntry::tosBits)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1552
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1553
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1554
  /* java_lang_Class field offsets */                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1555
  /*********************************/                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1556
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1557
  declare_constant(java_lang_Class::hc_klass_offset)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1558
  declare_constant(java_lang_Class::hc_array_klass_offset)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1559
  declare_constant(java_lang_Class::hc_resolved_constructor_offset)       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1560
  declare_constant(java_lang_Class::hc_number_of_fake_oop_fields)         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1561
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1562
  /***************************************/                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1563
  /* java_lang_Thread::ThreadStatus enum */                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1564
  /***************************************/                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1565
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1566
  declare_constant(java_lang_Thread::NEW)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1567
  declare_constant(java_lang_Thread::RUNNABLE)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1568
  declare_constant(java_lang_Thread::SLEEPING)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1569
  declare_constant(java_lang_Thread::IN_OBJECT_WAIT)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1570
  declare_constant(java_lang_Thread::IN_OBJECT_WAIT_TIMED)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1571
  declare_constant(java_lang_Thread::PARKED)                              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1572
  declare_constant(java_lang_Thread::PARKED_TIMED)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1573
  declare_constant(java_lang_Thread::BLOCKED_ON_MONITOR_ENTER)            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1574
  declare_constant(java_lang_Thread::TERMINATED)                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1575
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1576
  /******************************/                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1577
  /* Debug info                 */                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1578
  /******************************/                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1579
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1580
  declare_constant(Location::OFFSET_MASK)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1581
  declare_constant(Location::OFFSET_SHIFT)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1582
  declare_constant(Location::TYPE_MASK)                                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1583
  declare_constant(Location::TYPE_SHIFT)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1584
  declare_constant(Location::WHERE_MASK)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1585
  declare_constant(Location::WHERE_SHIFT)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1586
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1587
  /* constants from Location::Type enum  */                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1588
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1589
  declare_constant(Location::normal)                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1590
  declare_constant(Location::oop)                                         \
1135
9487203e5789 6706829: Compressed Oops: add debug info for narrow oops
kvn
parents: 1066
diff changeset
  1591
  declare_constant(Location::narrowoop)                                   \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1592
  declare_constant(Location::int_in_long)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1593
  declare_constant(Location::lng)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1594
  declare_constant(Location::float_in_dbl)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1595
  declare_constant(Location::dbl)                                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1596
  declare_constant(Location::addr)                                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1597
  declare_constant(Location::invalid)                                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1598
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1599
  /* constants from Location::Where enum */                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1600
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1601
  declare_constant(Location::on_stack)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1602
  declare_constant(Location::in_register)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1603
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1604
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1605
  /* Matcher (C2 only) */                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1606
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1607
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1608
  declare_c2_preprocessor_constant("Matcher::interpreter_frame_pointer_reg", Matcher::interpreter_frame_pointer_reg()) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1609
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1610
  /*********************************************/                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1611
  /* MethodCompilation (globalDefinitions.hpp) */                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1612
  /*********************************************/                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1613
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1614
  declare_constant(InvocationEntryBci)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1615
  declare_constant(InvalidOSREntryBci)                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1616
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1617
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1618
  /* OopMapValue */                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1619
  /***************/                                                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1620
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1621
  declare_constant(OopMapValue::type_bits)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1622
  declare_constant(OopMapValue::register_bits)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1623
  declare_constant(OopMapValue::type_shift)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1624
  declare_constant(OopMapValue::register_shift)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1625
  declare_constant(OopMapValue::type_mask)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1626
  declare_constant(OopMapValue::type_mask_in_place)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1627
  declare_constant(OopMapValue::register_mask)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1628
  declare_constant(OopMapValue::register_mask_in_place)                   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1629
  declare_constant(OopMapValue::unused_value)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1630
  declare_constant(OopMapValue::oop_value)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1631
  declare_constant(OopMapValue::value_value)                              \
360
21d113ecbf6a 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
coleenp
parents: 1
diff changeset
  1632
  declare_constant(OopMapValue::narrowoop_value)                          \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1633
  declare_constant(OopMapValue::callee_saved_value)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1634
  declare_constant(OopMapValue::derived_oop_value)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1635
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1636
  /******************/                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1637
  /* JNIHandleBlock */                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1638
  /******************/                                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1639
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1640
  declare_constant(JNIHandleBlock::block_size_in_oops)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1641
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1642
  /**********************/                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1643
  /* ObjectSynchronizer */                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1644
  /**********************/                                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1645
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1646
  declare_constant(ObjectSynchronizer::_BLOCKSIZE)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1647
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1648
  /********************************/                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1649
  /* Calling convention constants */                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1650
  /********************************/                                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1651
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1652
  declare_constant(RegisterImpl::number_of_registers)                     \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1653
  declare_constant(ConcreteRegisterImpl::number_of_registers)             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1654
  declare_preprocessor_constant("REG_COUNT", REG_COUNT)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1655
  declare_c2_preprocessor_constant("SAVED_ON_ENTRY_REG_COUNT", SAVED_ON_ENTRY_REG_COUNT) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1656
  declare_c2_preprocessor_constant("C_SAVED_ON_ENTRY_REG_COUNT", C_SAVED_ON_ENTRY_REG_COUNT)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1657
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1658
  /* NOTE that we do not use the last_entry() macro here; it is used  */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1659
  /* in vmStructs_<os>_<cpu>.hpp's VM_INT_CONSTANTS_OS_CPU macro (and */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1660
  /* must be present there)                                           */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1661
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1662
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1663
// VM_LONG_CONSTANTS
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1664
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1665
// This table contains long constants required over in the
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1666
// serviceability agent. The "declare_constant" macro is used for all
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1667
// enums, etc., while "declare_preprocessor_constant" must be used for
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1668
// all #defined constants.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1669
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1670
#define VM_LONG_CONSTANTS(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant, last_entry) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1671
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1672
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1673
  /* MarkOop constants */                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1674
  /*********************/                                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1675
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1676
  /* Note: some of these are declared as long constants just for */       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1677
  /* consistency. The mask constants are the only ones requiring */       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1678
  /* 64 bits (on 64-bit platforms). */                                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1679
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1680
  declare_constant(markOopDesc::age_bits)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1681
  declare_constant(markOopDesc::lock_bits)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1682
  declare_constant(markOopDesc::biased_lock_bits)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1683
  declare_constant(markOopDesc::max_hash_bits)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1684
  declare_constant(markOopDesc::hash_bits)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1685
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1686
  declare_constant(markOopDesc::lock_shift)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1687
  declare_constant(markOopDesc::biased_lock_shift)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1688
  declare_constant(markOopDesc::age_shift)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1689
  declare_constant(markOopDesc::hash_shift)                               \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1690
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1691
  declare_constant(markOopDesc::lock_mask)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1692
  declare_constant(markOopDesc::lock_mask_in_place)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1693
  declare_constant(markOopDesc::biased_lock_mask)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1694
  declare_constant(markOopDesc::biased_lock_mask_in_place)                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1695
  declare_constant(markOopDesc::biased_lock_bit_in_place)                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1696
  declare_constant(markOopDesc::age_mask)                                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1697
  declare_constant(markOopDesc::age_mask_in_place)                        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1698
  declare_constant(markOopDesc::hash_mask)                                \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1699
  declare_constant(markOopDesc::hash_mask_in_place)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1700
  declare_constant(markOopDesc::biased_lock_alignment)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1701
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1702
  declare_constant(markOopDesc::locked_value)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1703
  declare_constant(markOopDesc::unlocked_value)                           \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1704
  declare_constant(markOopDesc::monitor_value)                            \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1705
  declare_constant(markOopDesc::marked_value)                             \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1706
  declare_constant(markOopDesc::biased_lock_pattern)                      \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1707
                                                                          \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1708
  declare_constant(markOopDesc::no_hash)                                  \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1709
  declare_constant(markOopDesc::no_hash_in_place)                         \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1710
  declare_constant(markOopDesc::no_lock_in_place)                         \
613
2aa2b913106c 6687581: Make CMS work with compressed oops
coleenp
parents: 394
diff changeset
  1711
  declare_constant(markOopDesc::max_age)                                  \
2aa2b913106c 6687581: Make CMS work with compressed oops
coleenp
parents: 394
diff changeset
  1712
                                                                          \
2aa2b913106c 6687581: Make CMS work with compressed oops
coleenp
parents: 394
diff changeset
  1713
  /* Constants in markOop used by CMS. */                                 \
2aa2b913106c 6687581: Make CMS work with compressed oops
coleenp
parents: 394
diff changeset
  1714
  declare_constant(markOopDesc::cms_shift)                                \
2aa2b913106c 6687581: Make CMS work with compressed oops
coleenp
parents: 394
diff changeset
  1715
  declare_constant(markOopDesc::cms_mask)                                 \
2aa2b913106c 6687581: Make CMS work with compressed oops
coleenp
parents: 394
diff changeset
  1716
  declare_constant(markOopDesc::size_shift)                               \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1717
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1718
  /* NOTE that we do not use the last_entry() macro here; it is used   */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1719
  /* in vmStructs_<os>_<cpu>.hpp's VM_LONG_CONSTANTS_OS_CPU macro (and */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1720
  /* must be present there)                                            */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1721
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1722
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1723
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1724
// Macros operating on the above lists
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1725
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1726
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1727
// This utility macro quotes the passed string
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1728
#define QUOTE(x) #x
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1729
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1730
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1731
// VMStructEntry macros
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1732
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1733
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1734
// This macro generates a VMStructEntry line for a nonstatic field
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1735
#define GENERATE_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, type)              \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1736
 { QUOTE(typeName), QUOTE(fieldName), QUOTE(type), 0, cast_uint64_t(offset_of(typeName, fieldName)), NULL },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1737
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1738
// This macro generates a VMStructEntry line for a static field
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1739
#define GENERATE_STATIC_VM_STRUCT_ENTRY(typeName, fieldName, type)                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1740
 { QUOTE(typeName), QUOTE(fieldName), QUOTE(type), 1, 0, &typeName::fieldName },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1741
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1742
// This macro generates a VMStructEntry line for an unchecked
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1743
// nonstatic field, in which the size of the type is also specified.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1744
// The type string is given as NULL, indicating an "opaque" type.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1745
#define GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, size)    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1746
  { QUOTE(typeName), QUOTE(fieldName), NULL, 0, cast_uint64_t(offset_of(typeName, fieldName)), NULL },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1747
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1748
// This macro generates a VMStructEntry line for an unchecked
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1749
// static field, in which the size of the type is also specified.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1750
// The type string is given as NULL, indicating an "opaque" type.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1751
#define GENERATE_UNCHECKED_STATIC_VM_STRUCT_ENTRY(typeName, fieldName, size)       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1752
 { QUOTE(typeName), QUOTE(fieldName), NULL, 1, 0, (void*) &typeName::fieldName },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1753
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1754
// This macro generates the sentinel value indicating the end of the list
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1755
#define GENERATE_VM_STRUCT_LAST_ENTRY() \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1756
 { NULL, NULL, NULL, 0, 0, NULL }
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1757
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1758
// This macro checks the type of a VMStructEntry by comparing pointer types
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1759
#define CHECK_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, type)                 \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1760
 {typeName *dummyObj = NULL; type* dummy = &dummyObj->fieldName; }
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1761
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1762
// This macro checks the type of a volatile VMStructEntry by comparing pointer types
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1763
#define CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, type)        \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1764
 {typedef type dummyvtype; typeName *dummyObj = NULL; volatile dummyvtype* dummy = &dummyObj->fieldName; }
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1765
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1766
// This macro checks the type of a VMStructEntry by comparing pointer types
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1767
#define CHECK_STATIC_VM_STRUCT_ENTRY(typeName, fieldName, type)                    \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1768
 {type* dummy = &typeName::fieldName; }
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1769
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1770
// This macro ensures the type of a field and its containing type are
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1771
// present in the type table. The assertion string is shorter than
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1772
// preferable because (incredibly) of a bug in Solstice NFS client
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1773
// which seems to prevent very long lines from compiling. This assertion
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1774
// means that an entry in VMStructs::localHotSpotVMStructs[] was not
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1775
// found in VMStructs::localHotSpotVMTypes[].
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1776
#define ENSURE_FIELD_TYPE_PRESENT(typeName, fieldName, type)                       \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1777
 { assert(findType(QUOTE(typeName)) != 0, "type \"" QUOTE(typeName) "\" not found in type table"); \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1778
   assert(findType(QUOTE(type)) != 0, "type \"" QUOTE(type) "\" not found in type table"); }
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1779
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1780
// This is a no-op macro for unchecked fields
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1781
#define CHECK_NO_OP(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1782
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1783
// This is a no-op macro for the sentinel value
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1784
#define CHECK_SENTINEL()
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1785
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1786
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1787
// Build-specific macros:
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1788
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1789
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1790
// Generate and check a nonstatic field in non-product builds
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1791
#ifndef PRODUCT
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1792
# 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
  1793
# 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
  1794
# define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c)          ENSURE_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1795
# 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
  1796
# 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
  1797
# define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c)          ENSURE_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1798
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1799
# define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1800
# define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1801
# define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1802
# define GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1803
# define CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1804
# define ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1805
#endif /* PRODUCT */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1806
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1807
// Generate and check a nonstatic field in C1 builds
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1808
#ifdef COMPILER1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1809
# 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
  1810
# 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
  1811
# define ENSURE_C1_FIELD_TYPE_PRESENT(a, b, c)          ENSURE_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1812
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1813
# define GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1814
# define CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1815
# define ENSURE_C1_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1816
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1817
// Generate and check a nonstatic field in C2 builds
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1818
#ifdef COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1819
# 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
  1820
# 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
  1821
# define ENSURE_C2_FIELD_TYPE_PRESENT(a, b, c)          ENSURE_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1822
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1823
# define GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1824
# define CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1825
# define ENSURE_C2_FIELD_TYPE_PRESENT(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1826
#endif /* COMPILER2 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1827
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1828
// Generate but do not check a static field in C1 builds
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1829
#ifdef COMPILER1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1830
# 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
  1831
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1832
# define GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1833
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1834
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1835
// Generate but do not check a static field in C2 builds
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1836
#ifdef COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1837
# 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
  1838
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1839
# define GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY(a, b, c)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1840
#endif /* COMPILER2 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1841
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1842
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1843
// VMTypeEntry macros
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1844
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1845
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1846
#define GENERATE_VM_TYPE_ENTRY(type, superclass) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1847
 { QUOTE(type), QUOTE(superclass), 0, 0, 0, sizeof(type) },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1848
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1849
#define GENERATE_TOPLEVEL_VM_TYPE_ENTRY(type) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1850
 { QUOTE(type), NULL,              0, 0, 0, sizeof(type) },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1851
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1852
#define GENERATE_OOP_VM_TYPE_ENTRY(type) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1853
 { QUOTE(type), NULL,              1, 0, 0, sizeof(type) },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1854
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1855
#define GENERATE_INTEGER_VM_TYPE_ENTRY(type) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1856
 { QUOTE(type), NULL,              0, 1, 0, sizeof(type) },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1857
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1858
#define GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY(type) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1859
 { QUOTE(type), NULL,              0, 1, 1, sizeof(type) },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1860
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1861
#define GENERATE_VM_TYPE_LAST_ENTRY() \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1862
 { NULL, NULL, 0, 0, 0, 0 }
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1863
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1864
#define CHECK_VM_TYPE_ENTRY(type, superclass) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1865
 { type* dummyObj = NULL; superclass* dummySuperObj = dummyObj; }
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1866
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1867
#define CHECK_VM_TYPE_NO_OP(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1868
#define CHECK_SINGLE_ARG_VM_TYPE_NO_OP(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1869
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1870
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1871
// Build-specific macros:
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1872
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1873
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1874
#ifdef COMPILER1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1875
# define GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY(a)               GENERATE_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1876
# define CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1877
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1878
# define GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1879
# define CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1880
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1881
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1882
#ifdef COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1883
# define GENERATE_C2_VM_TYPE_ENTRY(a, b)                     GENERATE_VM_TYPE_ENTRY(a, b)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1884
# define CHECK_C2_VM_TYPE_ENTRY(a, b)                        CHECK_VM_TYPE_ENTRY(a, b)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1885
# define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a)               GENERATE_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1886
# define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1887
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1888
# define GENERATE_C2_VM_TYPE_ENTRY(a, b)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1889
# define CHECK_C2_VM_TYPE_ENTRY(a, b)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1890
# define GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1891
# define CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY(a)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1892
#endif /* COMPILER2 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1893
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1894
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1895
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1896
// VMIntConstantEntry macros
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1897
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1898
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1899
#define GENERATE_VM_INT_CONSTANT_ENTRY(name) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1900
 { QUOTE(name), (int32_t) name },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1901
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1902
#define GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1903
 { name, (int32_t) value },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1904
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1905
// This macro generates the sentinel value indicating the end of the list
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1906
#define GENERATE_VM_INT_CONSTANT_LAST_ENTRY() \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1907
 { NULL, 0 }
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1908
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1909
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1910
// Generate an int constant for a C1 build
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1911
#ifdef COMPILER1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1912
# define GENERATE_C1_VM_INT_CONSTANT_ENTRY(name)  GENERATE_VM_INT_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1913
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1914
# define GENERATE_C1_VM_INT_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1915
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1916
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1917
// Generate an int constant for a C2 build
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1918
#ifdef COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1919
# define GENERATE_C2_VM_INT_CONSTANT_ENTRY(name)                      GENERATE_VM_INT_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1920
# 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
  1921
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1922
# define GENERATE_C2_VM_INT_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1923
# define GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY(name, value)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1924
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1925
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1926
//--------------------------------------------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1927
// VMLongConstantEntry macros
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1928
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1929
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1930
#define GENERATE_VM_LONG_CONSTANT_ENTRY(name) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1931
  { QUOTE(name), cast_uint64_t(name) },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1932
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1933
#define GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1934
  { name, cast_uint64_t(value) },
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1935
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1936
// This macro generates the sentinel value indicating the end of the list
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1937
#define GENERATE_VM_LONG_CONSTANT_LAST_ENTRY() \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1938
 { NULL, 0 }
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1939
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1940
// Generate a long constant for a C1 build
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1941
#ifdef COMPILER1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1942
# define GENERATE_C1_VM_LONG_CONSTANT_ENTRY(name)  GENERATE_VM_LONG_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1943
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1944
# define GENERATE_C1_VM_LONG_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1945
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1946
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1947
// Generate a long constant for a C2 build
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1948
#ifdef COMPILER2
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1949
# define GENERATE_C2_VM_LONG_CONSTANT_ENTRY(name)                     GENERATE_VM_LONG_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1950
# 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
  1951
#else
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1952
# define GENERATE_C2_VM_LONG_CONSTANT_ENTRY(name)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1953
# define GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY(name, value)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1954
#endif /* COMPILER1 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1955
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1956
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1957
// Instantiation of VMStructEntries, VMTypeEntries and VMIntConstantEntries
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1958
//
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1959
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1960
// These initializers are allowed to access private fields in classes
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1961
// as long as class VMStructs is a friend
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1962
VMStructEntry VMStructs::localHotSpotVMStructs[] = {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1963
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1964
  VM_STRUCTS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1965
             GENERATE_STATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1966
             GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1967
             GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1968
             GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1969
             GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1970
             GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1971
             GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1972
             GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1973
             GENERATE_VM_STRUCT_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1974
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1975
#ifndef SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1976
  VM_STRUCTS_PARALLELGC(GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1977
                        GENERATE_STATIC_VM_STRUCT_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1978
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1979
  VM_STRUCTS_CMS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \
613
2aa2b913106c 6687581: Make CMS work with compressed oops
coleenp
parents: 394
diff changeset
  1980
                 GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1981
                 GENERATE_STATIC_VM_STRUCT_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1982
#endif // SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1983
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1984
  VM_STRUCTS_CPU(GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1985
                 GENERATE_STATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1986
                 GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1987
                 GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1988
                 GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1989
                 GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1990
                 GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1991
                 GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1992
                 GENERATE_VM_STRUCT_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1993
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1994
  VM_STRUCTS_OS_CPU(GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1995
                    GENERATE_STATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1996
                    GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1997
                    GENERATE_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1998
                    GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  1999
                    GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2000
                    GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2001
                    GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2002
                    GENERATE_VM_STRUCT_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2003
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2004
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2005
VMTypeEntry VMStructs::localHotSpotVMTypes[] = {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2006
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2007
  VM_TYPES(GENERATE_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2008
           GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2009
           GENERATE_OOP_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2010
           GENERATE_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2011
           GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2012
           GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2013
           GENERATE_C2_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2014
           GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2015
           GENERATE_VM_TYPE_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2016
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2017
#ifndef SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2018
  VM_TYPES_PARALLELGC(GENERATE_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2019
                      GENERATE_TOPLEVEL_VM_TYPE_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2020
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2021
  VM_TYPES_CMS(GENERATE_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2022
               GENERATE_TOPLEVEL_VM_TYPE_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2023
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2024
  VM_TYPES_PARNEW(GENERATE_VM_TYPE_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2025
#endif // SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2026
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2027
  VM_TYPES_CPU(GENERATE_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2028
               GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2029
               GENERATE_OOP_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2030
               GENERATE_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2031
               GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2032
               GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2033
               GENERATE_C2_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2034
               GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2035
               GENERATE_VM_TYPE_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2036
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2037
  VM_TYPES_OS_CPU(GENERATE_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2038
                  GENERATE_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2039
                  GENERATE_OOP_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2040
                  GENERATE_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2041
                  GENERATE_UNSIGNED_INTEGER_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2042
                  GENERATE_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2043
                  GENERATE_C2_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2044
                  GENERATE_C2_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2045
                  GENERATE_VM_TYPE_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2046
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2047
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2048
VMIntConstantEntry VMStructs::localHotSpotVMIntConstants[] = {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2049
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2050
  VM_INT_CONSTANTS(GENERATE_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2051
                   GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2052
                   GENERATE_C1_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2053
                   GENERATE_C2_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2054
                   GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2055
                   GENERATE_VM_INT_CONSTANT_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2056
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2057
#ifndef SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2058
  VM_INT_CONSTANTS_CMS(GENERATE_VM_INT_CONSTANT_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2059
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2060
  VM_INT_CONSTANTS_PARNEW(GENERATE_VM_INT_CONSTANT_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2061
#endif // SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2062
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2063
  VM_INT_CONSTANTS_CPU(GENERATE_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2064
                       GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2065
                       GENERATE_C1_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2066
                       GENERATE_C2_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2067
                       GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2068
                       GENERATE_VM_INT_CONSTANT_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2069
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2070
  VM_INT_CONSTANTS_OS_CPU(GENERATE_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2071
                          GENERATE_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2072
                          GENERATE_C1_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2073
                          GENERATE_C2_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2074
                          GENERATE_C2_PREPROCESSOR_VM_INT_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2075
                          GENERATE_VM_INT_CONSTANT_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2076
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2077
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2078
VMLongConstantEntry VMStructs::localHotSpotVMLongConstants[] = {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2079
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2080
  VM_LONG_CONSTANTS(GENERATE_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2081
                    GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2082
                    GENERATE_C1_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2083
                    GENERATE_C2_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2084
                    GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2085
                    GENERATE_VM_LONG_CONSTANT_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2086
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2087
  VM_LONG_CONSTANTS_CPU(GENERATE_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2088
                        GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2089
                        GENERATE_C1_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2090
                        GENERATE_C2_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2091
                        GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2092
                        GENERATE_VM_LONG_CONSTANT_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2093
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2094
  VM_LONG_CONSTANTS_OS_CPU(GENERATE_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2095
                           GENERATE_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2096
                           GENERATE_C1_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2097
                           GENERATE_C2_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2098
                           GENERATE_C2_PREPROCESSOR_VM_LONG_CONSTANT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2099
                           GENERATE_VM_LONG_CONSTANT_LAST_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2100
};
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2101
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2102
// This is used both to check the types of referenced fields and, in
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2103
// debug builds, to ensure that all of the field types are present.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2104
void
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2105
VMStructs::init() {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2106
  VM_STRUCTS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2107
             CHECK_STATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2108
             CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2109
             CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2110
             CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2111
             CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2112
             CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2113
             CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2114
             CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2115
             CHECK_SENTINEL);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2116
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2117
#ifndef SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2118
  VM_STRUCTS_PARALLELGC(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2119
             CHECK_STATIC_VM_STRUCT_ENTRY);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2120
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2121
  VM_STRUCTS_CMS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
613
2aa2b913106c 6687581: Make CMS work with compressed oops
coleenp
parents: 394
diff changeset
  2122
             CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2123
             CHECK_STATIC_VM_STRUCT_ENTRY);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2124
#endif // SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2125
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2126
  VM_STRUCTS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2127
                 CHECK_STATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2128
                 CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2129
                 CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2130
                 CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2131
                 CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2132
                 CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2133
                 CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2134
                 CHECK_SENTINEL);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2135
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2136
  VM_STRUCTS_OS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2137
                    CHECK_STATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2138
                    CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2139
                    CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2140
                    CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2141
                    CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2142
                    CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2143
                    CHECK_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2144
                    CHECK_SENTINEL);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2145
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2146
  VM_TYPES(CHECK_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2147
           CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2148
           CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2149
           CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2150
           CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2151
           CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2152
           CHECK_C2_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2153
           CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2154
           CHECK_SENTINEL);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2155
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2156
#ifndef SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2157
  VM_TYPES_PARALLELGC(CHECK_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2158
                      CHECK_SINGLE_ARG_VM_TYPE_NO_OP);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2159
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2160
  VM_TYPES_CMS(CHECK_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2161
               CHECK_SINGLE_ARG_VM_TYPE_NO_OP);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2162
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2163
  VM_TYPES_PARNEW(CHECK_VM_TYPE_ENTRY)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2164
#endif // SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2165
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2166
  VM_TYPES_CPU(CHECK_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2167
               CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2168
               CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2169
               CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2170
               CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2171
               CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2172
               CHECK_C2_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2173
               CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2174
               CHECK_SENTINEL);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2175
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2176
  VM_TYPES_OS_CPU(CHECK_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2177
                  CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2178
                  CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2179
                  CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2180
                  CHECK_SINGLE_ARG_VM_TYPE_NO_OP,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2181
                  CHECK_C1_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2182
                  CHECK_C2_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2183
                  CHECK_C2_TOPLEVEL_VM_TYPE_ENTRY,
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2184
                  CHECK_SENTINEL);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2185
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2186
  //
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2187
  // Split VM_STRUCTS() invocation into two parts to allow MS VC++ 6.0
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2188
  // to build with the source mounted over SNC3.2. Symptom was that
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2189
  // debug build failed with an internal compiler error. Has been seen
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2190
  // mounting sources from Solaris 2.6 and 2.7 hosts, but so far not
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2191
  // 2.8 hosts. Appears to occur because line is too long.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2192
  //
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2193
  // If an assertion failure is triggered here it means that an entry
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2194
  // in VMStructs::localHotSpotVMStructs[] was not found in
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2195
  // VMStructs::localHotSpotVMTypes[]. (The assertion itself had to be
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2196
  // made less descriptive because of this above bug -- see the
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2197
  // definition of ENSURE_FIELD_TYPE_PRESENT.)
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2198
  //
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2199
  // NOTE: taken out because this was just not working on everyone's
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2200
  // Solstice NFS setup. If everyone switches to local workspaces on
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2201
  // Win32, we can put this back in.
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2202
#ifndef _WINDOWS
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2203
  debug_only(VM_STRUCTS(ENSURE_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2204
                        CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2205
                        CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2206
                        CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2207
                        CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2208
                        CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2209
                        CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2210
                        CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2211
                        CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2212
                        CHECK_SENTINEL));
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2213
  debug_only(VM_STRUCTS(CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2214
                        ENSURE_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2215
                        CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2216
                        ENSURE_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2217
                        ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2218
                        ENSURE_C1_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2219
                        ENSURE_C2_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2220
                        CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2221
                        CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2222
                        CHECK_SENTINEL));
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2223
#ifndef SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2224
  debug_only(VM_STRUCTS_PARALLELGC(ENSURE_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2225
                                   ENSURE_FIELD_TYPE_PRESENT));
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2226
  debug_only(VM_STRUCTS_CMS(ENSURE_FIELD_TYPE_PRESENT, \
613
2aa2b913106c 6687581: Make CMS work with compressed oops
coleenp
parents: 394
diff changeset
  2227
                            ENSURE_FIELD_TYPE_PRESENT, \
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2228
                            ENSURE_FIELD_TYPE_PRESENT));
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2229
#endif // SERIALGC
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2230
  debug_only(VM_STRUCTS_CPU(ENSURE_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2231
                            ENSURE_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2232
                            CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2233
                            ENSURE_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2234
                            ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2235
                            ENSURE_C2_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2236
                            CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2237
                            CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2238
                            CHECK_SENTINEL));
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2239
  debug_only(VM_STRUCTS_OS_CPU(ENSURE_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2240
                               ENSURE_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2241
                               CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2242
                               ENSURE_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2243
                               ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2244
                               ENSURE_C2_FIELD_TYPE_PRESENT, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2245
                               CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2246
                               CHECK_NO_OP, \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2247
                               CHECK_SENTINEL));
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2248
#endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2249
}
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2250
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2251
extern "C" {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2252
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2253
// see comments on cast_uint64_t at the top of this file
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2254
#define ASSIGN_CONST_TO_64BIT_VAR(var, expr) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2255
    JNIEXPORT uint64_t var = cast_uint64_t(expr);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2256
#define ASSIGN_OFFSET_TO_64BIT_VAR(var, type, field)   \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2257
  ASSIGN_CONST_TO_64BIT_VAR(var, offset_of(type, field))
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2258
#define ASSIGN_STRIDE_TO_64BIT_VAR(var, array) \
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2259
  ASSIGN_CONST_TO_64BIT_VAR(var, (char*)&array[1] - (char*)&array[0])
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2260
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2261
JNIEXPORT VMStructEntry* gHotSpotVMStructs                 = VMStructs::localHotSpotVMStructs;
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2262
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryTypeNameOffset,  VMStructEntry, typeName);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2263
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryFieldNameOffset, VMStructEntry, fieldName);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2264
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryTypeStringOffset, VMStructEntry, typeString);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2265
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryIsStaticOffset, VMStructEntry, isStatic);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2266
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryOffsetOffset, VMStructEntry, offset);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2267
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMStructEntryAddressOffset, VMStructEntry, address);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2268
ASSIGN_STRIDE_TO_64BIT_VAR(gHotSpotVMStructEntryArrayStride, gHotSpotVMStructs);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2269
JNIEXPORT VMTypeEntry*   gHotSpotVMTypes                   = VMStructs::localHotSpotVMTypes;
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2270
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntryTypeNameOffset, VMTypeEntry, typeName);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2271
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntrySuperclassNameOffset, VMTypeEntry, superclassName);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2272
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntryIsOopTypeOffset, VMTypeEntry, isOopType);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2273
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntryIsIntegerTypeOffset, VMTypeEntry, isIntegerType);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2274
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntryIsUnsignedOffset, VMTypeEntry, isUnsigned);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2275
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMTypeEntrySizeOffset, VMTypeEntry, size);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2276
ASSIGN_STRIDE_TO_64BIT_VAR(gHotSpotVMTypeEntryArrayStride,gHotSpotVMTypes);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2277
JNIEXPORT VMIntConstantEntry* gHotSpotVMIntConstants       = VMStructs::localHotSpotVMIntConstants;
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2278
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMIntConstantEntryNameOffset, VMIntConstantEntry, name);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2279
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMIntConstantEntryValueOffset, VMIntConstantEntry, value);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2280
ASSIGN_STRIDE_TO_64BIT_VAR(gHotSpotVMIntConstantEntryArrayStride, gHotSpotVMIntConstants);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2281
JNIEXPORT VMLongConstantEntry* gHotSpotVMLongConstants     = VMStructs::localHotSpotVMLongConstants;
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2282
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMLongConstantEntryNameOffset, VMLongConstantEntry, name);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2283
ASSIGN_OFFSET_TO_64BIT_VAR(gHotSpotVMLongConstantEntryValueOffset, VMLongConstantEntry, value);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2284
ASSIGN_STRIDE_TO_64BIT_VAR(gHotSpotVMLongConstantEntryArrayStride, gHotSpotVMLongConstants);
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2285
}
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2286
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2287
#ifdef ASSERT
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2288
int
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2289
VMStructs::findType(const char* typeName) {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2290
  VMTypeEntry* types = gHotSpotVMTypes;
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2291
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2292
  while (types->typeName != NULL) {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2293
    if (!strcmp(typeName, types->typeName)) {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2294
      return 1;
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2295
    }
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2296
    ++types;
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2297
  }
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2298
  return 0;
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2299
}
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2300
#endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2301
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2302
void vmStructs_init() {
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2303
  debug_only(VMStructs::init());
489c9b5090e2 Initial load
duke
parents:
diff changeset
  2304
}