src/share/vm/runtime/vmStructs.cpp

Print this page




 363   nonstatic_field(methodOopDesc,               _interpreter_invocation_count,                 int)                                   \
 364   nonstatic_field(methodOopDesc,               _access_flags,                                 AccessFlags)                           \
 365   nonstatic_field(methodOopDesc,               _vtable_index,                                 int)                                   \
 366   nonstatic_field(methodOopDesc,               _method_size,                                  u2)                                    \
 367   nonstatic_field(methodOopDesc,               _max_stack,                                    u2)                                    \
 368   nonstatic_field(methodOopDesc,               _max_locals,                                   u2)                                    \
 369   nonstatic_field(methodOopDesc,               _size_of_parameters,                           u2)                                    \
 370   nonstatic_field(methodOopDesc,               _interpreter_throwout_count,                   u2)                                    \
 371   nonstatic_field(methodOopDesc,               _number_of_breakpoints,                        u2)                                    \
 372   nonstatic_field(methodOopDesc,               _invocation_counter,                           InvocationCounter)                     \
 373   nonstatic_field(methodOopDesc,               _backedge_counter,                             InvocationCounter)                     \
 374   nonproduct_nonstatic_field(methodOopDesc,    _compiled_invocation_count,                    int)                                   \
 375   volatile_nonstatic_field(methodOopDesc,      _code,                                         nmethod*)                              \
 376   nonstatic_field(methodOopDesc,               _i2i_entry,                                    address)                               \
 377   nonstatic_field(methodOopDesc,               _adapter,                                      AdapterHandlerEntry*)                  \
 378   volatile_nonstatic_field(methodOopDesc,      _from_compiled_entry,                          address)                               \
 379   volatile_nonstatic_field(methodOopDesc,      _from_interpreted_entry,                       address)                               \
 380   volatile_nonstatic_field(constMethodOopDesc, _fingerprint,                                  uint64_t)                              \
 381   nonstatic_field(constMethodOopDesc,          _method,                                       methodOop)                             \
 382   nonstatic_field(constMethodOopDesc,          _stackmap_data,                                typeArrayOop)                          \
 383   nonstatic_field(constMethodOopDesc,          _exception_table,                              typeArrayOop)                          \
 384   nonstatic_field(constMethodOopDesc,          _constMethod_size,                             int)                                   \
 385   nonstatic_field(constMethodOopDesc,          _interpreter_kind,                             jbyte)                                 \
 386   nonstatic_field(constMethodOopDesc,          _flags,                                        jbyte)                                 \
 387   nonstatic_field(constMethodOopDesc,          _code_size,                                    u2)                                    \
 388   nonstatic_field(constMethodOopDesc,          _name_index,                                   u2)                                    \
 389   nonstatic_field(constMethodOopDesc,          _signature_index,                              u2)                                    \
 390   nonstatic_field(constMethodOopDesc,          _method_idnum,                                 u2)                                    \
 391   nonstatic_field(constMethodOopDesc,          _generic_signature_index,                      u2)                                    \
 392   nonstatic_field(objArrayKlass,               _element_klass,                                klassOop)                              \
 393   nonstatic_field(objArrayKlass,               _bottom_klass,                                 klassOop)                              \
 394   volatile_nonstatic_field(Symbol,             _refcount,                                     int)                                   \
 395   nonstatic_field(Symbol,                      _identity_hash,                                int)                                   \
 396   nonstatic_field(Symbol,                      _length,                                       unsigned short)                        \
 397   unchecked_nonstatic_field(Symbol,            _body,                                         sizeof(jbyte)) /* NOTE: no type */     \
 398   nonstatic_field(typeArrayKlass,              _max_length,                                   int)                                   \
 399                                                                                                                                      \
 400   /***********************/                                                                                                          \
 401   /* Constant Pool Cache */                                                                                                          \
 402   /***********************/                                                                                                          \
 403                                                                                                                                      \
 404   volatile_nonstatic_field(ConstantPoolCacheEntry,      _indices,                                      intx)                         \
 405   volatile_nonstatic_field(ConstantPoolCacheEntry,      _f1,                                           oop)                          \
 406   volatile_nonstatic_field(ConstantPoolCacheEntry,      _f2,                                           intx)                         \
 407   volatile_nonstatic_field(ConstantPoolCacheEntry,      _flags,                                        intx)                         \
 408                                                                                                                                      \
 409   /********************************/                                                                                                 \
 410   /* MethodOop-related structures */                                                                                                 \
 411   /********************************/                                                                                                 \
 412                                                                                                                                      \
 413   nonstatic_field(CheckedExceptionElement,     class_cp_index,                                u2)                                    \
 414   nonstatic_field(LocalVariableTableElement,   start_bci,                                     u2)                                    \
 415   nonstatic_field(LocalVariableTableElement,   length,                                        u2)                                    \
 416   nonstatic_field(LocalVariableTableElement,   name_cp_index,                                 u2)                                    \
 417   nonstatic_field(LocalVariableTableElement,   descriptor_cp_index,                           u2)                                    \
 418   nonstatic_field(LocalVariableTableElement,   signature_cp_index,                            u2)                                    \
 419   nonstatic_field(LocalVariableTableElement,   slot,                                          u2)                                    \




 420   nonstatic_field(BreakpointInfo,              _orig_bytecode,                                Bytecodes::Code)                       \
 421   nonstatic_field(BreakpointInfo,              _bci,                                          int)                                   \
 422   nonstatic_field(BreakpointInfo,              _name_index,                                   u2)                                    \
 423   nonstatic_field(BreakpointInfo,              _signature_index,                              u2)                                    \
 424   nonstatic_field(BreakpointInfo,              _next,                                         BreakpointInfo*)                       \
 425   /***********/                                                                                                                      \
 426   /* JNI IDs */                                                                                                                      \
 427   /***********/                                                                                                                      \
 428                                                                                                                                      \
 429   nonstatic_field(JNIid,                       _holder,                                       klassOop)                              \
 430   nonstatic_field(JNIid,                       _next,                                         JNIid*)                                \
 431   nonstatic_field(JNIid,                       _offset,                                       int)                                   \
 432   /************/                                                                                                                     \
 433   /* Universe */                                                                                                                     \
 434   /************/                                                                                                                     \
 435                                                                                                                                      \
 436      static_field(Universe,                    _boolArrayKlassObj,                            klassOop)                              \
 437      static_field(Universe,                    _byteArrayKlassObj,                            klassOop)                              \
 438      static_field(Universe,                    _charArrayKlassObj,                            klassOop)                              \
 439      static_field(Universe,                    _intArrayKlassObj,                             klassOop)                              \


1435                                                                           \
1436   declare_oop_type(constantPoolOop)                                       \
1437   declare_oop_type(constantPoolCacheOop)                                  \
1438   declare_oop_type(klassOop)                                              \
1439   declare_oop_type(markOop)                                               \
1440   declare_oop_type(methodOop)                                             \
1441   declare_oop_type(methodDataOop)                                         \
1442   declare_oop_type(objArrayOop)                                           \
1443   declare_oop_type(oop)                                                   \
1444   declare_oop_type(narrowOop)                                             \
1445   declare_oop_type(wideKlassOop)                                          \
1446   declare_oop_type(constMethodOop)                                        \
1447   declare_oop_type(typeArrayOop)                                          \
1448                                                                           \
1449   /*************************************/                                 \
1450   /* MethodOop-related data structures */                                 \
1451   /*************************************/                                 \
1452                                                                           \
1453   declare_toplevel_type(CheckedExceptionElement)                          \
1454   declare_toplevel_type(LocalVariableTableElement)                        \

1455                                                                           \
1456   /******************************************/                            \
1457   /* Generation and space hierarchies       */                            \
1458   /* (needed for run-time type information) */                            \
1459   /******************************************/                            \
1460                                                                           \
1461   declare_toplevel_type(CollectedHeap)                                    \
1462            declare_type(SharedHeap,                   CollectedHeap)      \
1463            declare_type(GenCollectedHeap,             SharedHeap)         \
1464   declare_toplevel_type(Generation)                                       \
1465            declare_type(DefNewGeneration,             Generation)         \
1466            declare_type(CardGeneration,               Generation)         \
1467            declare_type(OneContigSpaceCardGeneration, CardGeneration)     \
1468            declare_type(TenuredGeneration,            OneContigSpaceCardGeneration) \
1469            declare_type(CompactingPermGenGen,         OneContigSpaceCardGeneration) \
1470   declare_toplevel_type(Space)                                            \
1471   declare_toplevel_type(BitMap)                                           \
1472            declare_type(CompactibleSpace,             Space)              \
1473            declare_type(ContiguousSpace,              CompactibleSpace)   \
1474            declare_type(EdenSpace,                    ContiguousSpace)    \


2319   /******************************/                                        \
2320   /* Klass misc. enum constants */                                        \
2321   /******************************/                                        \
2322                                                                           \
2323   declare_constant(Klass::_primary_super_limit)                           \
2324   declare_constant(Klass::_lh_instance_slow_path_bit)                     \
2325   declare_constant(Klass::_lh_log2_element_size_shift)                    \
2326   declare_constant(Klass::_lh_element_type_shift)                         \
2327   declare_constant(Klass::_lh_header_size_shift)                          \
2328   declare_constant(Klass::_lh_array_tag_shift)                            \
2329   declare_constant(Klass::_lh_array_tag_type_value)                       \
2330   declare_constant(Klass::_lh_array_tag_obj_value)                        \
2331                                                                           \
2332   /********************************/                                      \
2333   /* constMethodOopDesc anon-enum */                                      \
2334   /********************************/                                      \
2335                                                                           \
2336   declare_constant(constMethodOopDesc::_has_linenumber_table)             \
2337   declare_constant(constMethodOopDesc::_has_checked_exceptions)           \
2338   declare_constant(constMethodOopDesc::_has_localvariable_table)          \

2339                                                                           \
2340   /*************************************/                                 \
2341   /* instanceKlass enum                */                                 \
2342   /*************************************/                                 \
2343                                                                           \
2344                                                                           \
2345   /*************************************/                                 \
2346   /* FieldInfo FieldOffset enum        */                                 \
2347   /*************************************/                                 \
2348                                                                           \
2349   declare_constant(FieldInfo::access_flags_offset)                        \
2350   declare_constant(FieldInfo::name_index_offset)                          \
2351   declare_constant(FieldInfo::signature_index_offset)                     \
2352   declare_constant(FieldInfo::initval_index_offset)                       \
2353   declare_constant(FieldInfo::low_offset)                                 \
2354   declare_constant(FieldInfo::high_offset)                                \
2355   declare_constant(FieldInfo::generic_signature_offset)                   \
2356   declare_constant(FieldInfo::field_slots)                                \
2357                                                                           \
2358   /************************************************/                      \




 363   nonstatic_field(methodOopDesc,               _interpreter_invocation_count,                 int)                                   \
 364   nonstatic_field(methodOopDesc,               _access_flags,                                 AccessFlags)                           \
 365   nonstatic_field(methodOopDesc,               _vtable_index,                                 int)                                   \
 366   nonstatic_field(methodOopDesc,               _method_size,                                  u2)                                    \
 367   nonstatic_field(methodOopDesc,               _max_stack,                                    u2)                                    \
 368   nonstatic_field(methodOopDesc,               _max_locals,                                   u2)                                    \
 369   nonstatic_field(methodOopDesc,               _size_of_parameters,                           u2)                                    \
 370   nonstatic_field(methodOopDesc,               _interpreter_throwout_count,                   u2)                                    \
 371   nonstatic_field(methodOopDesc,               _number_of_breakpoints,                        u2)                                    \
 372   nonstatic_field(methodOopDesc,               _invocation_counter,                           InvocationCounter)                     \
 373   nonstatic_field(methodOopDesc,               _backedge_counter,                             InvocationCounter)                     \
 374   nonproduct_nonstatic_field(methodOopDesc,    _compiled_invocation_count,                    int)                                   \
 375   volatile_nonstatic_field(methodOopDesc,      _code,                                         nmethod*)                              \
 376   nonstatic_field(methodOopDesc,               _i2i_entry,                                    address)                               \
 377   nonstatic_field(methodOopDesc,               _adapter,                                      AdapterHandlerEntry*)                  \
 378   volatile_nonstatic_field(methodOopDesc,      _from_compiled_entry,                          address)                               \
 379   volatile_nonstatic_field(methodOopDesc,      _from_interpreted_entry,                       address)                               \
 380   volatile_nonstatic_field(constMethodOopDesc, _fingerprint,                                  uint64_t)                              \
 381   nonstatic_field(constMethodOopDesc,          _method,                                       methodOop)                             \
 382   nonstatic_field(constMethodOopDesc,          _stackmap_data,                                typeArrayOop)                          \

 383   nonstatic_field(constMethodOopDesc,          _constMethod_size,                             int)                                   \
 384   nonstatic_field(constMethodOopDesc,          _interpreter_kind,                             jbyte)                                 \
 385   nonstatic_field(constMethodOopDesc,          _flags,                                        jbyte)                                 \
 386   nonstatic_field(constMethodOopDesc,          _code_size,                                    u2)                                    \
 387   nonstatic_field(constMethodOopDesc,          _name_index,                                   u2)                                    \
 388   nonstatic_field(constMethodOopDesc,          _signature_index,                              u2)                                    \
 389   nonstatic_field(constMethodOopDesc,          _method_idnum,                                 u2)                                    \
 390   nonstatic_field(constMethodOopDesc,          _generic_signature_index,                      u2)                                    \
 391   nonstatic_field(objArrayKlass,               _element_klass,                                klassOop)                              \
 392   nonstatic_field(objArrayKlass,               _bottom_klass,                                 klassOop)                              \
 393   volatile_nonstatic_field(Symbol,             _refcount,                                     int)                                   \
 394   nonstatic_field(Symbol,                      _identity_hash,                                int)                                   \
 395   nonstatic_field(Symbol,                      _length,                                       unsigned short)                        \
 396   unchecked_nonstatic_field(Symbol,            _body,                                         sizeof(jbyte)) /* NOTE: no type */     \
 397   nonstatic_field(typeArrayKlass,              _max_length,                                   int)                                   \
 398                                                                                                                                      \
 399   /***********************/                                                                                                          \
 400   /* Constant Pool Cache */                                                                                                          \
 401   /***********************/                                                                                                          \
 402                                                                                                                                      \
 403   volatile_nonstatic_field(ConstantPoolCacheEntry,      _indices,                                      intx)                         \
 404   volatile_nonstatic_field(ConstantPoolCacheEntry,      _f1,                                           oop)                          \
 405   volatile_nonstatic_field(ConstantPoolCacheEntry,      _f2,                                           intx)                         \
 406   volatile_nonstatic_field(ConstantPoolCacheEntry,      _flags,                                        intx)                         \
 407                                                                                                                                      \
 408   /********************************/                                                                                                 \
 409   /* MethodOop-related structures */                                                                                                 \
 410   /********************************/                                                                                                 \
 411                                                                                                                                      \
 412   nonstatic_field(CheckedExceptionElement,     class_cp_index,                                u2)                                    \
 413   nonstatic_field(LocalVariableTableElement,   start_bci,                                     u2)                                    \
 414   nonstatic_field(LocalVariableTableElement,   length,                                        u2)                                    \
 415   nonstatic_field(LocalVariableTableElement,   name_cp_index,                                 u2)                                    \
 416   nonstatic_field(LocalVariableTableElement,   descriptor_cp_index,                           u2)                                    \
 417   nonstatic_field(LocalVariableTableElement,   signature_cp_index,                            u2)                                    \
 418   nonstatic_field(LocalVariableTableElement,   slot,                                          u2)                                    \
 419   nonstatic_field(ExceptionTableElement,       start_pc,                                      u2)                                    \
 420   nonstatic_field(ExceptionTableElement,       end_pc,                                        u2)                                    \
 421   nonstatic_field(ExceptionTableElement,       handler_pc,                                    u2)                                    \
 422   nonstatic_field(ExceptionTableElement,       catch_type_index,                              u2)                                    \
 423   nonstatic_field(BreakpointInfo,              _orig_bytecode,                                Bytecodes::Code)                       \
 424   nonstatic_field(BreakpointInfo,              _bci,                                          int)                                   \
 425   nonstatic_field(BreakpointInfo,              _name_index,                                   u2)                                    \
 426   nonstatic_field(BreakpointInfo,              _signature_index,                              u2)                                    \
 427   nonstatic_field(BreakpointInfo,              _next,                                         BreakpointInfo*)                       \
 428   /***********/                                                                                                                      \
 429   /* JNI IDs */                                                                                                                      \
 430   /***********/                                                                                                                      \
 431                                                                                                                                      \
 432   nonstatic_field(JNIid,                       _holder,                                       klassOop)                              \
 433   nonstatic_field(JNIid,                       _next,                                         JNIid*)                                \
 434   nonstatic_field(JNIid,                       _offset,                                       int)                                   \
 435   /************/                                                                                                                     \
 436   /* Universe */                                                                                                                     \
 437   /************/                                                                                                                     \
 438                                                                                                                                      \
 439      static_field(Universe,                    _boolArrayKlassObj,                            klassOop)                              \
 440      static_field(Universe,                    _byteArrayKlassObj,                            klassOop)                              \
 441      static_field(Universe,                    _charArrayKlassObj,                            klassOop)                              \
 442      static_field(Universe,                    _intArrayKlassObj,                             klassOop)                              \


1438                                                                           \
1439   declare_oop_type(constantPoolOop)                                       \
1440   declare_oop_type(constantPoolCacheOop)                                  \
1441   declare_oop_type(klassOop)                                              \
1442   declare_oop_type(markOop)                                               \
1443   declare_oop_type(methodOop)                                             \
1444   declare_oop_type(methodDataOop)                                         \
1445   declare_oop_type(objArrayOop)                                           \
1446   declare_oop_type(oop)                                                   \
1447   declare_oop_type(narrowOop)                                             \
1448   declare_oop_type(wideKlassOop)                                          \
1449   declare_oop_type(constMethodOop)                                        \
1450   declare_oop_type(typeArrayOop)                                          \
1451                                                                           \
1452   /*************************************/                                 \
1453   /* MethodOop-related data structures */                                 \
1454   /*************************************/                                 \
1455                                                                           \
1456   declare_toplevel_type(CheckedExceptionElement)                          \
1457   declare_toplevel_type(LocalVariableTableElement)                        \
1458   declare_toplevel_type(ExceptionTableElement)                            \
1459                                                                           \
1460   /******************************************/                            \
1461   /* Generation and space hierarchies       */                            \
1462   /* (needed for run-time type information) */                            \
1463   /******************************************/                            \
1464                                                                           \
1465   declare_toplevel_type(CollectedHeap)                                    \
1466            declare_type(SharedHeap,                   CollectedHeap)      \
1467            declare_type(GenCollectedHeap,             SharedHeap)         \
1468   declare_toplevel_type(Generation)                                       \
1469            declare_type(DefNewGeneration,             Generation)         \
1470            declare_type(CardGeneration,               Generation)         \
1471            declare_type(OneContigSpaceCardGeneration, CardGeneration)     \
1472            declare_type(TenuredGeneration,            OneContigSpaceCardGeneration) \
1473            declare_type(CompactingPermGenGen,         OneContigSpaceCardGeneration) \
1474   declare_toplevel_type(Space)                                            \
1475   declare_toplevel_type(BitMap)                                           \
1476            declare_type(CompactibleSpace,             Space)              \
1477            declare_type(ContiguousSpace,              CompactibleSpace)   \
1478            declare_type(EdenSpace,                    ContiguousSpace)    \


2323   /******************************/                                        \
2324   /* Klass misc. enum constants */                                        \
2325   /******************************/                                        \
2326                                                                           \
2327   declare_constant(Klass::_primary_super_limit)                           \
2328   declare_constant(Klass::_lh_instance_slow_path_bit)                     \
2329   declare_constant(Klass::_lh_log2_element_size_shift)                    \
2330   declare_constant(Klass::_lh_element_type_shift)                         \
2331   declare_constant(Klass::_lh_header_size_shift)                          \
2332   declare_constant(Klass::_lh_array_tag_shift)                            \
2333   declare_constant(Klass::_lh_array_tag_type_value)                       \
2334   declare_constant(Klass::_lh_array_tag_obj_value)                        \
2335                                                                           \
2336   /********************************/                                      \
2337   /* constMethodOopDesc anon-enum */                                      \
2338   /********************************/                                      \
2339                                                                           \
2340   declare_constant(constMethodOopDesc::_has_linenumber_table)             \
2341   declare_constant(constMethodOopDesc::_has_checked_exceptions)           \
2342   declare_constant(constMethodOopDesc::_has_localvariable_table)          \
2343   declare_constant(constMethodOopDesc::_has_exception_table)              \
2344                                                                           \
2345   /*************************************/                                 \
2346   /* instanceKlass enum                */                                 \
2347   /*************************************/                                 \
2348                                                                           \
2349                                                                           \
2350   /*************************************/                                 \
2351   /* FieldInfo FieldOffset enum        */                                 \
2352   /*************************************/                                 \
2353                                                                           \
2354   declare_constant(FieldInfo::access_flags_offset)                        \
2355   declare_constant(FieldInfo::name_index_offset)                          \
2356   declare_constant(FieldInfo::signature_index_offset)                     \
2357   declare_constant(FieldInfo::initval_index_offset)                       \
2358   declare_constant(FieldInfo::low_offset)                                 \
2359   declare_constant(FieldInfo::high_offset)                                \
2360   declare_constant(FieldInfo::generic_signature_offset)                   \
2361   declare_constant(FieldInfo::field_slots)                                \
2362                                                                           \
2363   /************************************************/                      \