RFR: 8261731: shallow copy the internal buffer of a scalar-replaced java.lang.String object

Tobias Hartmann thartmann at openjdk.java.net
Tue Mar 16 09:15:08 UTC 2021


On Mon, 15 Mar 2021 05:55:47 GMT, Xin Liu <xliu at openjdk.org> wrote:

>> Sure, here are the replay and hs_err files for the Split.java failure:
>> [replay_pid5320.log](https://github.com/openjdk/jdk/files/6106543/replay_pid5320.log)
>> [hs_err_pid5320.log](https://github.com/openjdk/jdk/files/6106544/hs_err_pid5320.log)
>> 
>> And for the LowMemoryTest2 failure:
>> [replay_pid18829.log](https://github.com/openjdk/jdk/files/6106550/replay_pid18829.log)
>> [hs_err_pid18829.log](https://github.com/openjdk/jdk/files/6106551/hs_err_pid18829.log)
>> 
>> It seems like the failures are very intermittent though :(
>
> hi, @TobiHartmann , 
> Could you try out the latest version 94626e8? I haven't  reproduced the error from the two replay files.  My best guess is that both of them crashed because of some special nodes which are subclasses of StrIntrinsicNode. I only handled the case StrEqualsNode before. This patch handles them.  It also dumps the unknown node to tty in case it still meets unknown code shape.

Sure, I'll re-run testing.

After looking through the changes, I'm concerned about all the complexity that is added to handle this special case. Do you have any performance numbers other than microbenchmark results that would justify this?

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

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


More information about the hotspot-compiler-dev mailing list