RFR: 8255274: [PPC64, s390] wrong StringLatin1.indexOf version matched
Richard Reingruber
rrich at openjdk.java.net
Fri Oct 23 09:10:36 UTC 2020
On Thu, 22 Oct 2020 22:03:36 GMT, Christoph Langer <clanger at openjdk.org> wrote:
>> PPC64 and s390 currently match indexOfChar_U also for StrIntrinsicNode::L. This leads to incorrect results of StringLatin1.indexOf and alreads breaks builds:
>> Optimizing the exploded image
>> Error occurred during initialization of boot layer
>>
>> We need separate match rules for StrIntrinsicNode::U and StrIntrinsicNode::L.
>
> Thanks for fixing this!
The fix looks correct.
But you are adding another 20 lines to an already humonguous file by duplicating a complex instruction form and the diff between the 2 variants is very small. This makes the file hardly readable... at least for humans.
Wouldn't it be possible to have just one instruction form that matches both variants and feed the predicate expression to the `is_byte` parameter of `string_indexof_char`?
-------------
PR: https://git.openjdk.java.net/jdk/pull/820
More information about the hotspot-compiler-dev
mailing list