RFR: 8293251: Use stringStream::base() instead of as_string() when applicable [v4]
Johan Sjölén
duke at openjdk.org
Mon Sep 12 11:14:41 UTC 2022
On Mon, 12 Sep 2022 10:05:52 GMT, Johan Sjölén <duke at openjdk.org> wrote:
>> Hi!
>>
>> Please review this PR swapping out stringStream::as_string() with ::base() when applicable. With this change we avoid allocating a resource managed string copy. I also attempt to document the base function, as it is not safe to use any result returned from it if you subsequently call the stringStream's methods.
>>
>> When I've left ResourceMarks in place I've also commented which calls requires them.
>>
>> This passes tier1, tier2 tests.
>
> Johan Sjölén has updated the pull request incrementally with one additional commit since the last revision:
>
> Remove invariant tracking
>
> Too much depends on this invariant not being met.
I wanted to add an invariant that the stringStream is not used after ``::base()` is called, but that invariant is broken in production (in a safe manner), so it can't be added.
-------------
PR: https://git.openjdk.org/jdk/pull/10142
More information about the hotspot-dev
mailing list