< prev index next >

src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp

Print this page




 178   JfrSerializerRegistration* const registration = new JfrSerializerRegistration(id, permit_cache, cs);
 179   if (registration == NULL) {
 180     delete cs;
 181     return false;
 182   }
 183   if (require_safepoint) {
 184     assert(!_safepoint_types.in_list(registration), "invariant");
 185     DEBUG_ONLY(assert_not_registered_twice(id, _safepoint_types);)
 186       _safepoint_types.prepend(registration);
 187   }
 188   else {
 189     assert(!_types.in_list(registration), "invariant");
 190     DEBUG_ONLY(assert_not_registered_twice(id, _types);)
 191       _types.prepend(registration);
 192   }
 193   return true;
 194 }
 195 
 196 bool JfrTypeManager::initialize() {
 197   // register non-safepointing type serialization
 198   for (size_t i = 0; i < 16; ++i) {
 199     switch (i) {
 200     case 0: register_serializer(TYPE_FLAGVALUEORIGIN, false, true, new FlagValueOriginConstant()); break;
 201     case 1: register_serializer(TYPE_INFLATECAUSE, false, true, new MonitorInflateCauseConstant()); break;
 202     case 2: register_serializer(TYPE_GCCAUSE, false, true, new GCCauseConstant()); break;
 203     case 3: register_serializer(TYPE_GCNAME, false, true, new GCNameConstant()); break;
 204     case 4: register_serializer(TYPE_GCWHEN, false, true, new GCWhenConstant()); break;
 205     case 5: register_serializer(TYPE_G1HEAPREGIONTYPE, false, true, new G1HeapRegionTypeConstant()); break;
 206     case 6: register_serializer(TYPE_GCTHRESHOLDUPDATER, false, true, new GCThresholdUpdaterConstant()); break;
 207     case 7: register_serializer(TYPE_METADATATYPE, false, true, new MetadataTypeConstant()); break;
 208     case 8: register_serializer(TYPE_METASPACEOBJECTTYPE, false, true, new MetaspaceObjectTypeConstant()); break;
 209     case 9: register_serializer(TYPE_G1YCTYPE, false, true, new G1YCTypeConstant()); break;
 210     case 10: register_serializer(TYPE_REFERENCETYPE, false, true, new ReferenceTypeConstant()); break;
 211     case 11: register_serializer(TYPE_NARROWOOPMODE, false, true, new NarrowOopModeConstant()); break;
 212     case 12: register_serializer(TYPE_COMPILERPHASETYPE, false, true, new CompilerPhaseTypeConstant()); break;
 213     case 13: register_serializer(TYPE_CODEBLOBTYPE, false, true, new CodeBlobTypeConstant()); break;
 214     case 14: register_serializer(TYPE_VMOPERATIONTYPE, false, true, new VMOperationTypeConstant()); break;
 215     case 15: register_serializer(TYPE_THREADSTATE, false, true, new ThreadStateConstant()); break;


 216     default:
 217       guarantee(false, "invariant");
 218     }
 219   }
 220 
 221   // register safepointing type serialization
 222   for (size_t i = 0; i < 2; ++i) {
 223     switch (i) {
 224     case 0: register_serializer(TYPE_THREADGROUP, true, false, new JfrThreadGroupConstant()); break;
 225     case 1: register_serializer(TYPE_THREAD, true, false, new JfrThreadConstantSet()); break;
 226     default:
 227       guarantee(false, "invariant");
 228     }
 229   }
 230   return true;
 231 }
 232 
 233 


 178   JfrSerializerRegistration* const registration = new JfrSerializerRegistration(id, permit_cache, cs);
 179   if (registration == NULL) {
 180     delete cs;
 181     return false;
 182   }
 183   if (require_safepoint) {
 184     assert(!_safepoint_types.in_list(registration), "invariant");
 185     DEBUG_ONLY(assert_not_registered_twice(id, _safepoint_types);)
 186       _safepoint_types.prepend(registration);
 187   }
 188   else {
 189     assert(!_types.in_list(registration), "invariant");
 190     DEBUG_ONLY(assert_not_registered_twice(id, _types);)
 191       _types.prepend(registration);
 192   }
 193   return true;
 194 }
 195 
 196 bool JfrTypeManager::initialize() {
 197   // register non-safepointing type serialization
 198   for (size_t i = 0; i < 18; ++i) {
 199     switch (i) {
 200     case 0: register_serializer(TYPE_FLAGVALUEORIGIN, false, true, new FlagValueOriginConstant()); break;
 201     case 1: register_serializer(TYPE_INFLATECAUSE, false, true, new MonitorInflateCauseConstant()); break;
 202     case 2: register_serializer(TYPE_GCCAUSE, false, true, new GCCauseConstant()); break;
 203     case 3: register_serializer(TYPE_GCNAME, false, true, new GCNameConstant()); break;
 204     case 4: register_serializer(TYPE_GCWHEN, false, true, new GCWhenConstant()); break;
 205     case 5: register_serializer(TYPE_G1HEAPREGIONTYPE, false, true, new G1HeapRegionTypeConstant()); break;
 206     case 6: register_serializer(TYPE_GCTHRESHOLDUPDATER, false, true, new GCThresholdUpdaterConstant()); break;
 207     case 7: register_serializer(TYPE_METADATATYPE, false, true, new MetadataTypeConstant()); break;
 208     case 8: register_serializer(TYPE_METASPACEOBJECTTYPE, false, true, new MetaspaceObjectTypeConstant()); break;
 209     case 9: register_serializer(TYPE_G1YCTYPE, false, true, new G1YCTypeConstant()); break;
 210     case 10: register_serializer(TYPE_REFERENCETYPE, false, true, new ReferenceTypeConstant()); break;
 211     case 11: register_serializer(TYPE_NARROWOOPMODE, false, true, new NarrowOopModeConstant()); break;
 212     case 12: register_serializer(TYPE_COMPILERPHASETYPE, false, true, new CompilerPhaseTypeConstant()); break;
 213     case 13: register_serializer(TYPE_CODEBLOBTYPE, false, true, new CodeBlobTypeConstant()); break;
 214     case 14: register_serializer(TYPE_VMOPERATIONTYPE, false, true, new VMOperationTypeConstant()); break;
 215     case 15: register_serializer(TYPE_THREADSTATE, false, true, new ThreadStateConstant()); break;
 216     case 16: register_serializer(TYPE_ZSTATISTICSCOUNTERTYPE, false, true, new ZStatisticsCounterTypeConstant()); break;
 217     case 17: register_serializer(TYPE_ZSTATISTICSSAMPLERTYPE, false, true, new ZStatisticsSamplerTypeConstant()); break;
 218     default:
 219       guarantee(false, "invariant");
 220     }
 221   }
 222 
 223   // register safepointing type serialization
 224   for (size_t i = 0; i < 2; ++i) {
 225     switch (i) {
 226     case 0: register_serializer(TYPE_THREADGROUP, true, false, new JfrThreadGroupConstant()); break;
 227     case 1: register_serializer(TYPE_THREAD, true, false, new JfrThreadConstantSet()); break;
 228     default:
 229       guarantee(false, "invariant");
 230     }
 231   }
 232   return true;
 233 }
 234 
 235 
< prev index next >