< prev index next >

src/share/vm/runtime/vmStructs.cpp

Print this page
rev 11970 : [mq]: base_volatiles


2953 // Instantiation of VMStructEntries, VMTypeEntries and VMIntConstantEntries
2954 //
2955 
2956 // These initializers are allowed to access private fields in classes
2957 // as long as class VMStructs is a friend
2958 VMStructEntry VMStructs::localHotSpotVMStructs[] = {
2959 
2960   VM_STRUCTS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2961              GENERATE_STATIC_VM_STRUCT_ENTRY,
2962              GENERATE_STATIC_PTR_VOLATILE_VM_STRUCT_ENTRY,
2963              GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY,
2964              GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2965              GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
2966              GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY,
2967              GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY,
2968              GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
2969              GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
2970 
2971 #if INCLUDE_ALL_GCS
2972   VM_STRUCTS_PARALLELGC(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,

2973                         GENERATE_STATIC_VM_STRUCT_ENTRY)
2974 
2975   VM_STRUCTS_CMS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2976                  GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2977                  GENERATE_STATIC_VM_STRUCT_ENTRY)
2978 
2979   VM_STRUCTS_G1(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2980                 GENERATE_STATIC_VM_STRUCT_ENTRY)
2981 #endif // INCLUDE_ALL_GCS
2982 
2983 #if INCLUDE_TRACE
2984   VM_STRUCTS_TRACE(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2985                 GENERATE_STATIC_VM_STRUCT_ENTRY)
2986 #endif
2987 
2988   VM_STRUCTS_EXT(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2989                  GENERATE_STATIC_VM_STRUCT_ENTRY)
2990 
2991   VM_STRUCTS_OS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2992                 GENERATE_STATIC_VM_STRUCT_ENTRY,


3151   GENERATE_VM_LONG_CONSTANT_LAST_ENTRY()
3152 };
3153 
3154 // This is used both to check the types of referenced fields and, in
3155 // debug builds, to ensure that all of the field types are present.
3156 void
3157 VMStructs::init() {
3158   VM_STRUCTS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3159              CHECK_STATIC_VM_STRUCT_ENTRY,
3160              CHECK_STATIC_PTR_VOLATILE_VM_STRUCT_ENTRY,
3161              CHECK_NO_OP,
3162              CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
3163              CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
3164              CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY,
3165              CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
3166              CHECK_NO_OP,
3167              CHECK_NO_OP);
3168 
3169 #if INCLUDE_ALL_GCS
3170   VM_STRUCTS_PARALLELGC(CHECK_NONSTATIC_VM_STRUCT_ENTRY,

3171              CHECK_STATIC_VM_STRUCT_ENTRY);
3172 
3173   VM_STRUCTS_CMS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3174              CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
3175              CHECK_STATIC_VM_STRUCT_ENTRY);
3176 
3177   VM_STRUCTS_G1(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3178                 CHECK_STATIC_VM_STRUCT_ENTRY);
3179 
3180 #endif // INCLUDE_ALL_GCS
3181 
3182 #if INCLUDE_TRACE
3183   VM_STRUCTS_TRACE(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3184                 CHECK_STATIC_VM_STRUCT_ENTRY);
3185 #endif
3186 
3187   VM_STRUCTS_EXT(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3188                  CHECK_STATIC_VM_STRUCT_ENTRY);
3189 
3190   VM_STRUCTS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY,


3276                         CHECK_NO_OP,
3277                         CHECK_NO_OP,
3278                         CHECK_NO_OP,
3279                         CHECK_NO_OP,
3280                         CHECK_NO_OP,
3281                         CHECK_NO_OP,
3282                         CHECK_NO_OP,
3283                         CHECK_NO_OP));
3284   debug_only(VM_STRUCTS(CHECK_NO_OP,
3285                         ENSURE_FIELD_TYPE_PRESENT,
3286                         ENSURE_FIELD_TYPE_PRESENT,
3287                         CHECK_NO_OP,
3288                         ENSURE_FIELD_TYPE_PRESENT,
3289                         ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT,
3290                         ENSURE_C1_FIELD_TYPE_PRESENT,
3291                         ENSURE_C2_FIELD_TYPE_PRESENT,
3292                         CHECK_NO_OP,
3293                         CHECK_NO_OP));
3294 #if INCLUDE_ALL_GCS
3295   debug_only(VM_STRUCTS_PARALLELGC(ENSURE_FIELD_TYPE_PRESENT,

3296                                    ENSURE_FIELD_TYPE_PRESENT));
3297   debug_only(VM_STRUCTS_CMS(ENSURE_FIELD_TYPE_PRESENT,
3298                             ENSURE_FIELD_TYPE_PRESENT,
3299                             ENSURE_FIELD_TYPE_PRESENT));
3300   debug_only(VM_STRUCTS_G1(ENSURE_FIELD_TYPE_PRESENT,
3301                            ENSURE_FIELD_TYPE_PRESENT));
3302 #endif // INCLUDE_ALL_GCS
3303 
3304 #if INCLUDE_TRACE
3305   debug_only(VM_STRUCTS_TRACE(ENSURE_FIELD_TYPE_PRESENT,
3306                            ENSURE_FIELD_TYPE_PRESENT));
3307 #endif
3308 
3309   debug_only(VM_STRUCTS_EXT(ENSURE_FIELD_TYPE_PRESENT,
3310                             ENSURE_FIELD_TYPE_PRESENT));
3311 
3312   debug_only(VM_STRUCTS_CPU(ENSURE_FIELD_TYPE_PRESENT,
3313                             ENSURE_FIELD_TYPE_PRESENT,
3314                             CHECK_NO_OP,
3315                             ENSURE_FIELD_TYPE_PRESENT,




2953 // Instantiation of VMStructEntries, VMTypeEntries and VMIntConstantEntries
2954 //
2955 
2956 // These initializers are allowed to access private fields in classes
2957 // as long as class VMStructs is a friend
2958 VMStructEntry VMStructs::localHotSpotVMStructs[] = {
2959 
2960   VM_STRUCTS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2961              GENERATE_STATIC_VM_STRUCT_ENTRY,
2962              GENERATE_STATIC_PTR_VOLATILE_VM_STRUCT_ENTRY,
2963              GENERATE_UNCHECKED_NONSTATIC_VM_STRUCT_ENTRY,
2964              GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2965              GENERATE_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
2966              GENERATE_C1_NONSTATIC_VM_STRUCT_ENTRY,
2967              GENERATE_C2_NONSTATIC_VM_STRUCT_ENTRY,
2968              GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
2969              GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
2970 
2971 #if INCLUDE_ALL_GCS
2972   VM_STRUCTS_PARALLELGC(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2973                         GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2974                         GENERATE_STATIC_VM_STRUCT_ENTRY)
2975 
2976   VM_STRUCTS_CMS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2977                  GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2978                  GENERATE_STATIC_VM_STRUCT_ENTRY)
2979 
2980   VM_STRUCTS_G1(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2981                 GENERATE_STATIC_VM_STRUCT_ENTRY)
2982 #endif // INCLUDE_ALL_GCS
2983 
2984 #if INCLUDE_TRACE
2985   VM_STRUCTS_TRACE(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2986                    GENERATE_STATIC_VM_STRUCT_ENTRY)
2987 #endif
2988 
2989   VM_STRUCTS_EXT(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2990                  GENERATE_STATIC_VM_STRUCT_ENTRY)
2991 
2992   VM_STRUCTS_OS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
2993                 GENERATE_STATIC_VM_STRUCT_ENTRY,


3152   GENERATE_VM_LONG_CONSTANT_LAST_ENTRY()
3153 };
3154 
3155 // This is used both to check the types of referenced fields and, in
3156 // debug builds, to ensure that all of the field types are present.
3157 void
3158 VMStructs::init() {
3159   VM_STRUCTS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3160              CHECK_STATIC_VM_STRUCT_ENTRY,
3161              CHECK_STATIC_PTR_VOLATILE_VM_STRUCT_ENTRY,
3162              CHECK_NO_OP,
3163              CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
3164              CHECK_NONPRODUCT_NONSTATIC_VM_STRUCT_ENTRY,
3165              CHECK_C1_NONSTATIC_VM_STRUCT_ENTRY,
3166              CHECK_C2_NONSTATIC_VM_STRUCT_ENTRY,
3167              CHECK_NO_OP,
3168              CHECK_NO_OP);
3169 
3170 #if INCLUDE_ALL_GCS
3171   VM_STRUCTS_PARALLELGC(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3172                         CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
3173                         CHECK_STATIC_VM_STRUCT_ENTRY);
3174 
3175   VM_STRUCTS_CMS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3176                  CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
3177                  CHECK_STATIC_VM_STRUCT_ENTRY);
3178 
3179   VM_STRUCTS_G1(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3180                 CHECK_STATIC_VM_STRUCT_ENTRY);
3181 
3182 #endif // INCLUDE_ALL_GCS
3183 
3184 #if INCLUDE_TRACE
3185   VM_STRUCTS_TRACE(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3186                    CHECK_STATIC_VM_STRUCT_ENTRY);
3187 #endif
3188 
3189   VM_STRUCTS_EXT(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
3190                  CHECK_STATIC_VM_STRUCT_ENTRY);
3191 
3192   VM_STRUCTS_CPU(CHECK_NONSTATIC_VM_STRUCT_ENTRY,


3278                         CHECK_NO_OP,
3279                         CHECK_NO_OP,
3280                         CHECK_NO_OP,
3281                         CHECK_NO_OP,
3282                         CHECK_NO_OP,
3283                         CHECK_NO_OP,
3284                         CHECK_NO_OP,
3285                         CHECK_NO_OP));
3286   debug_only(VM_STRUCTS(CHECK_NO_OP,
3287                         ENSURE_FIELD_TYPE_PRESENT,
3288                         ENSURE_FIELD_TYPE_PRESENT,
3289                         CHECK_NO_OP,
3290                         ENSURE_FIELD_TYPE_PRESENT,
3291                         ENSURE_NONPRODUCT_FIELD_TYPE_PRESENT,
3292                         ENSURE_C1_FIELD_TYPE_PRESENT,
3293                         ENSURE_C2_FIELD_TYPE_PRESENT,
3294                         CHECK_NO_OP,
3295                         CHECK_NO_OP));
3296 #if INCLUDE_ALL_GCS
3297   debug_only(VM_STRUCTS_PARALLELGC(ENSURE_FIELD_TYPE_PRESENT,
3298                                    ENSURE_FIELD_TYPE_PRESENT,
3299                                    ENSURE_FIELD_TYPE_PRESENT));
3300   debug_only(VM_STRUCTS_CMS(ENSURE_FIELD_TYPE_PRESENT,
3301                             ENSURE_FIELD_TYPE_PRESENT,
3302                             ENSURE_FIELD_TYPE_PRESENT));
3303   debug_only(VM_STRUCTS_G1(ENSURE_FIELD_TYPE_PRESENT,
3304                            ENSURE_FIELD_TYPE_PRESENT));
3305 #endif // INCLUDE_ALL_GCS
3306 
3307 #if INCLUDE_TRACE
3308   debug_only(VM_STRUCTS_TRACE(ENSURE_FIELD_TYPE_PRESENT,
3309                            ENSURE_FIELD_TYPE_PRESENT));
3310 #endif
3311 
3312   debug_only(VM_STRUCTS_EXT(ENSURE_FIELD_TYPE_PRESENT,
3313                             ENSURE_FIELD_TYPE_PRESENT));
3314 
3315   debug_only(VM_STRUCTS_CPU(ENSURE_FIELD_TYPE_PRESENT,
3316                             ENSURE_FIELD_TYPE_PRESENT,
3317                             CHECK_NO_OP,
3318                             ENSURE_FIELD_TYPE_PRESENT,


< prev index next >