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 };
|
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 static const u4 nof_entries = CodeBlobType::NumTypes;
283 writer.write_count(nof_entries);
284 writer.write_key((u4)CodeBlobType::All);
285 writer.write("CodeCache");
286 };
287
288 void VMOperationTypeConstant::serialize(JfrCheckpointWriter& writer) {
289 static const u4 nof_entries = VM_Operation::VMOp_Terminating;
290 writer.write_count(nof_entries);
291 for (u4 i = 0; i < nof_entries; ++i) {
292 writer.write_key(i);
293 writer.write(VM_Operation::name(VM_Operation::VMOp_Type(i)));
294 }
295 }
296
297 class TypeSetSerialization {
298 private:
299 bool _class_unload;
300 public:
301 explicit TypeSetSerialization(bool class_unload) : _class_unload(class_unload) {}
302 void write(JfrCheckpointWriter& writer, JfrCheckpointWriter* leakp_writer) {
303 JfrTypeSet::serialize(&writer, leakp_writer, _class_unload);
304 }
305 };
|