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:13 UTC 2021


On Wed, 5 May 2021 18:54:42 GMT, Xin Liu <xliu at openjdk.org> wrote:

>> 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
>
> src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use-machine.hh line 378:
> 
>> 376: {
>> 377:         machine_index_t (const Iter& it) : it (it) {}
>> 378:         machine_index_t (const machine_index_t& o) : hb_iter_with_fallback_t<machine_index_t<Iter>, typename Iter::item_t>(o), it (o.it) {}
> 
> is it relevant?  
> I feel it belongs to a separated issue.

Sorry, forgot to mention. Unrelated harfbuzz build fix for gcc 8 and earlier. Will remove before the final push.

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

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


More information about the hotspot-runtime-dev mailing list