RFR: JDK-8266536: Provide a variant of os::iso8601_time which works with arbitrary timestamps

Thomas Stuefe stuefe at openjdk.java.net
Thu May 6 04:43:11 UTC 2021


We have os::iso8601_time(), which gives an ISO8601 timestamp of the current time. It would be very useful to have a second variant which can be fed an arbitrary numerical timestamp.

This is useful in the context of making asynchronous UL logging cheaper (see JDK-8229517)

This patch provides an additional API: 
`char* os::iso8601_time(jlong milliseconds_since_19700101, char* buffer, size_t buffer_length, bool utc);`
alongside the existing
`char* os::iso8601_time(char* buffer, size_t buffer_length, bool utc);`
and implements the latter using the former. Not much code added.

In addition, it adds a regression gtest for these APIs.

Please ignore the harfbuzz change, its a build fix needed for older gcc, will be removed before final push.

Testing: GHA, manual gtests, SAP nightlies on all our platforms.

Thanks, Thomas

-------------

Commit messages:
 - gtest for os.iso8601_time should use utc
 - Build fix for Harfbuzz
 - Merge
 - start

Changes: https://git.openjdk.java.net/jdk/pull/3869/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3869&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8266536
  Stats: 78 lines in 4 files changed: 74 ins; 2 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3869.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3869/head:pull/3869

PR: https://git.openjdk.java.net/jdk/pull/3869


More information about the hotspot-runtime-dev mailing list