333 assert(_thread != NULL, "invariant"); 334 assert(_thread == Thread::current(), "invariant"); 335 assert(_thread->is_Java_thread(), "invariant"); 336 assert(!_thread->jfr_thread_local()->has_thread_checkpoint(), "invariant"); 337 ResourceMark rm(_thread); 338 const oop threadObj = _thread->threadObj(); 339 assert(threadObj != NULL, "invariant"); 340 const u8 java_lang_thread_id = java_lang_Thread::thread_id(threadObj); 341 const char* const thread_name = _thread->name(); 342 const traceid thread_group_id = JfrThreadGroup::thread_group_id(_thread); 343 writer.write_count(1); 344 writer.write_key(_thread->jfr_thread_local()->thread_id()); 345 writer.write(thread_name); 346 writer.write((u8)_thread->osthread()->thread_id()); 347 writer.write(thread_name); 348 writer.write(java_lang_thread_id); 349 writer.write(thread_group_id); 350 JfrThreadGroup::serialize(&writer, thread_group_id); 351 } 352 353 void ZStatCounterTypeConstant::serialize(JfrCheckpointWriter& writer) { 354 #if INCLUDE_ZGC 355 writer.write_count(ZStatCounter::count()); 356 for (ZStatCounter* counter = ZStatCounter::first(); counter != NULL; counter = counter->next()) { 357 writer.write_key(counter->id()); 358 writer.write(counter->name()); 359 } 360 #else 361 writer.write_count(0); 362 #endif 363 } 364 365 void ZStatSamplerTypeConstant::serialize(JfrCheckpointWriter& writer) { 366 #if INCLUDE_ZGC 367 writer.write_count(ZStatSampler::count()); 368 for (ZStatSampler* sampler = ZStatSampler::first(); sampler != NULL; sampler = sampler->next()) { 369 writer.write_key(sampler->id()); 370 writer.write(sampler->name()); 371 } 372 #else 373 writer.write_count(0); 374 #endif 375 } | 333 assert(_thread != NULL, "invariant"); 334 assert(_thread == Thread::current(), "invariant"); 335 assert(_thread->is_Java_thread(), "invariant"); 336 assert(!_thread->jfr_thread_local()->has_thread_checkpoint(), "invariant"); 337 ResourceMark rm(_thread); 338 const oop threadObj = _thread->threadObj(); 339 assert(threadObj != NULL, "invariant"); 340 const u8 java_lang_thread_id = java_lang_Thread::thread_id(threadObj); 341 const char* const thread_name = _thread->name(); 342 const traceid thread_group_id = JfrThreadGroup::thread_group_id(_thread); 343 writer.write_count(1); 344 writer.write_key(_thread->jfr_thread_local()->thread_id()); 345 writer.write(thread_name); 346 writer.write((u8)_thread->osthread()->thread_id()); 347 writer.write(thread_name); 348 writer.write(java_lang_thread_id); 349 writer.write(thread_group_id); 350 JfrThreadGroup::serialize(&writer, thread_group_id); 351 } 352 353 void ZStatisticsCounterTypeConstant::serialize(JfrCheckpointWriter& writer) { 354 #if INCLUDE_ZGC 355 writer.write_count(ZStatCounter::count()); 356 for (ZStatCounter* counter = ZStatCounter::first(); counter != NULL; counter = counter->next()) { 357 writer.write_key(counter->id()); 358 writer.write(counter->name()); 359 } 360 #else 361 writer.write_count(0); 362 #endif 363 } 364 365 void ZStatisticsSamplerTypeConstant::serialize(JfrCheckpointWriter& writer) { 366 #if INCLUDE_ZGC 367 writer.write_count(ZStatSampler::count()); 368 for (ZStatSampler* sampler = ZStatSampler::first(); sampler != NULL; sampler = sampler->next()) { 369 writer.write_key(sampler->id()); 370 writer.write(sampler->name()); 371 } 372 #else 373 writer.write_count(0); 374 #endif 375 } |