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,
|