[GR-54994] Remove duplicate ThreadSleep JFR events and use nanosNow() to timestamp JFR chunks. #9210
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related issues: #9201 and #9199
This pull request:
PlatformTimeUtils.nanosNow()
method. This ensures that borrowed java-level JDK code that usesJVM.nanosNow()
is using the same clock that we timestamp chunk files with. See the comment here. Currently we useSystem.currentTimeMillis()
to timestamp chunks, which is a different clock and only has ms precision. This might cause inconsistencies if JDK code usesJVM.nanosNow()
and compares it to times retrieved fromSystem.currentTimeMillis()
.jdk.ThreadSleep
events from SVM code. Previously the events were being emitted from borrowed Java-level JDK code and then again from SubstrateVM code.Before

After:
