From 34f0a26552e19c22ae3231c30b90b229a5ce1181 Mon Sep 17 00:00:00 2001 From: Adrian Popescu Date: Thu, 16 Jan 2025 12:22:03 -0500 Subject: [PATCH] JFR Park event fixes. Signed-off-by: Adrian Popescu --- runtime/vm/JFRChunkWriter.hpp | 3 +++ runtime/vm/JFRConstantPoolTypes.cpp | 2 ++ 2 files changed, 5 insertions(+) diff --git a/runtime/vm/JFRChunkWriter.hpp b/runtime/vm/JFRChunkWriter.hpp index 25a9850df35..5e7968b67e8 100644 --- a/runtime/vm/JFRChunkWriter.hpp +++ b/runtime/vm/JFRChunkWriter.hpp @@ -157,6 +157,7 @@ class VM_JFRChunkWriter { static constexpr int THREAD_END_EVENT_SIZE = (4 * sizeof(U_64)) + sizeof(U_32); static constexpr int THREAD_SLEEP_EVENT_SIZE = (7 * sizeof(U_64)) + sizeof(U_32); static constexpr int MONITOR_WAIT_EVENT_SIZE = (9 * sizeof(U_64)) + sizeof(U_32); + static constexpr int THREAD_PARK_EVENT_SIZE = (9 * sizeof(U_64)) + sizeof(U_32); static constexpr int JVM_INFORMATION_EVENT_SIZE = 3000; static constexpr int PHYSICAL_MEMORY_EVENT_SIZE = (4 * sizeof(U_64)) + sizeof(U_32); static constexpr int VIRTUALIZATION_INFORMATION_EVENT_SIZE = 50; @@ -762,6 +763,8 @@ class VM_JFRChunkWriter { requiredBufferSize += (_constantPoolTypes.getMonitorWaitCount() * MONITOR_WAIT_EVENT_SIZE); + requiredBufferSize += (_constantPoolTypes.getThreadParkCount() * THREAD_PARK_EVENT_SIZE); + requiredBufferSize += JVM_INFORMATION_EVENT_SIZE; requiredBufferSize += OS_INFORMATION_EVENT_SIZE; diff --git a/runtime/vm/JFRConstantPoolTypes.cpp b/runtime/vm/JFRConstantPoolTypes.cpp index 36810fb99d8..3d8b9fafe92 100644 --- a/runtime/vm/JFRConstantPoolTypes.cpp +++ b/runtime/vm/JFRConstantPoolTypes.cpp @@ -1125,6 +1125,8 @@ VM_JFRConstantPoolTypes::addThreadParkEntry(J9JFRThreadParked* threadParkData) entry->timeOut = threadParkData->timeOut; entry->untilTime = threadParkData->untilTime; + _threadParkCount += 1; + done: return; }