171
172 void GCNameConstant::serialize(JfrCheckpointWriter& writer) {
173 static const u4 nof_entries = GCNameEndSentinel;
174 writer.write_count(nof_entries);
175 for (u4 i = 0; i < nof_entries; ++i) {
176 writer.write_key(i);
177 writer.write(GCNameHelper::to_string((GCName)i));
178 }
179 }
180
181 void GCWhenConstant::serialize(JfrCheckpointWriter& writer) {
182 static const u4 nof_entries = GCWhen::GCWhenEndSentinel;
183 writer.write_count(nof_entries);
184 for (u4 i = 0; i < nof_entries; ++i) {
185 writer.write_key(i);
186 writer.write(GCWhen::to_string((GCWhen::Type)i));
187 }
188 }
189
190 void G1HeapRegionTypeConstant::serialize(JfrCheckpointWriter& writer) {
191 // XXX TODO?
192 // static const u4 nof_entries = G1HeapRegionTraceType::G1HeapRegionTypeEndSentinel;
193 // writer.write_count(nof_entries);
194 // for (u4 i = 0; i < nof_entries; ++i) {
195 // writer.write_key(i);
196 // writer.write(G1HeapRegionTraceType::to_string((G1HeapRegionTraceType::Type)i));
197 // }
198 }
199
200 void GCThresholdUpdaterConstant::serialize(JfrCheckpointWriter& writer) {
201 static const u4 nof_entries = MetaspaceGCThresholdUpdater::Last;
202 writer.write_count(nof_entries);
203 for (u4 i = 0; i < nof_entries; ++i) {
204 writer.write_key(i);
205 writer.write(MetaspaceGCThresholdUpdater::to_string((MetaspaceGCThresholdUpdater::Type)i));
206 }
207 }
208
209 void MetadataTypeConstant::serialize(JfrCheckpointWriter& writer) {
210 static const u4 nof_entries = Metaspace::MetadataTypeCount;
211 writer.write_count(nof_entries);
212 for (u4 i = 0; i < nof_entries; ++i) {
213 writer.write_key(i);
214 writer.write(Metaspace::metadata_type_name((Metaspace::MetadataType)i));
215 }
216 }
217
262 static const u4 nof_entries = Universe::HeapBasedNarrowOop + 1;
263 writer.write_count(nof_entries);
264 for (u4 i = 0; i < nof_entries; ++i) {
265 writer.write_key(i);
266 writer.write(Universe::narrow_oop_mode_to_string((Universe::NARROW_OOP_MODE)i));
267 }
268 }
269
270 void CompilerPhaseTypeConstant::serialize(JfrCheckpointWriter& writer) {
271 #ifdef COMPILER2
272 static const u4 nof_entries = PHASE_NUM_TYPES;
273 writer.write_count(nof_entries);
274 for (u4 i = 0; i < nof_entries; ++i) {
275 writer.write_key(i);
276 writer.write(CompilerPhaseTypeHelper::to_string((CompilerPhaseType)i));
277 }
278 #endif
279 }
280
281 void CodeBlobTypeConstant::serialize(JfrCheckpointWriter& writer) {
282 // XXX no code blob types. need to send any stub value?
283 // static const u4 nof_entries = CodeBlobType::NumTypes;
284 // writer.write_count(nof_entries);
285 // for (u4 i = 0; i < nof_entries; ++i) {
286 // writer.write_key(i);
287 // writer.write(CodeCache::get_code_heap_name(i));
288 // }
289 };
290
291 void VMOperationTypeConstant::serialize(JfrCheckpointWriter& writer) {
292 static const u4 nof_entries = VM_Operation::VMOp_Terminating;
293 writer.write_count(nof_entries);
294 for (u4 i = 0; i < nof_entries; ++i) {
295 writer.write_key(i);
296 writer.write(VM_Operation::name(VM_Operation::VMOp_Type(i)));
297 }
298 }
299
300 class TypeSetSerialization {
301 private:
302 bool _class_unload;
303 public:
304 explicit TypeSetSerialization(bool class_unload) : _class_unload(class_unload) {}
305 void write(JfrCheckpointWriter& writer, JfrCheckpointWriter* leakp_writer) {
306 JfrTypeSet::serialize(&writer, leakp_writer, _class_unload);
307 }
308 };
|
171
172 void GCNameConstant::serialize(JfrCheckpointWriter& writer) {
173 static const u4 nof_entries = GCNameEndSentinel;
174 writer.write_count(nof_entries);
175 for (u4 i = 0; i < nof_entries; ++i) {
176 writer.write_key(i);
177 writer.write(GCNameHelper::to_string((GCName)i));
178 }
179 }
180
181 void GCWhenConstant::serialize(JfrCheckpointWriter& writer) {
182 static const u4 nof_entries = GCWhen::GCWhenEndSentinel;
183 writer.write_count(nof_entries);
184 for (u4 i = 0; i < nof_entries; ++i) {
185 writer.write_key(i);
186 writer.write(GCWhen::to_string((GCWhen::Type)i));
187 }
188 }
189
190 void G1HeapRegionTypeConstant::serialize(JfrCheckpointWriter& writer) {
191 static const u4 nof_entries = G1HeapRegionTraceType::G1HeapRegionTypeEndSentinel;
192 writer.write_count(nof_entries);
193 for (u4 i = 0; i < nof_entries; ++i) {
194 writer.write_key(i);
195 writer.write(G1HeapRegionTraceType::to_string((G1HeapRegionTraceType::Type)i));
196 }
197 }
198
199 void GCThresholdUpdaterConstant::serialize(JfrCheckpointWriter& writer) {
200 static const u4 nof_entries = MetaspaceGCThresholdUpdater::Last;
201 writer.write_count(nof_entries);
202 for (u4 i = 0; i < nof_entries; ++i) {
203 writer.write_key(i);
204 writer.write(MetaspaceGCThresholdUpdater::to_string((MetaspaceGCThresholdUpdater::Type)i));
205 }
206 }
207
208 void MetadataTypeConstant::serialize(JfrCheckpointWriter& writer) {
209 static const u4 nof_entries = Metaspace::MetadataTypeCount;
210 writer.write_count(nof_entries);
211 for (u4 i = 0; i < nof_entries; ++i) {
212 writer.write_key(i);
213 writer.write(Metaspace::metadata_type_name((Metaspace::MetadataType)i));
214 }
215 }
216
261 static const u4 nof_entries = Universe::HeapBasedNarrowOop + 1;
262 writer.write_count(nof_entries);
263 for (u4 i = 0; i < nof_entries; ++i) {
264 writer.write_key(i);
265 writer.write(Universe::narrow_oop_mode_to_string((Universe::NARROW_OOP_MODE)i));
266 }
267 }
268
269 void CompilerPhaseTypeConstant::serialize(JfrCheckpointWriter& writer) {
270 #ifdef COMPILER2
271 static const u4 nof_entries = PHASE_NUM_TYPES;
272 writer.write_count(nof_entries);
273 for (u4 i = 0; i < nof_entries; ++i) {
274 writer.write_key(i);
275 writer.write(CompilerPhaseTypeHelper::to_string((CompilerPhaseType)i));
276 }
277 #endif
278 }
279
280 void CodeBlobTypeConstant::serialize(JfrCheckpointWriter& writer) {
281 static const u4 nof_entries = CodeBlobType::NumTypes;
282 writer.write_count(nof_entries);
283 writer.write_key((u4)CodeBlobType::All);
284 writer.write("CodeCache");
285 };
286
287 void VMOperationTypeConstant::serialize(JfrCheckpointWriter& writer) {
288 static const u4 nof_entries = VM_Operation::VMOp_Terminating;
289 writer.write_count(nof_entries);
290 for (u4 i = 0; i < nof_entries; ++i) {
291 writer.write_key(i);
292 writer.write(VM_Operation::name(VM_Operation::VMOp_Type(i)));
293 }
294 }
295
296 class TypeSetSerialization {
297 private:
298 bool _class_unload;
299 public:
300 explicit TypeSetSerialization(bool class_unload) : _class_unload(class_unload) {}
301 void write(JfrCheckpointWriter& writer, JfrCheckpointWriter* leakp_writer) {
302 JfrTypeSet::serialize(&writer, leakp_writer, _class_unload);
303 }
304 };
|