RFR: 8323582: C2 SuperWord AlignVector: misaligned vector memory access with unaligned native memory

Emanuel Peter epeter at openjdk.org
Tue Feb 18 10:29:12 UTC 2025


On Tue, 18 Feb 2025 10:09:00 GMT, Roland Westrelin <roland at openjdk.org> wrote:

>> @rwestrel So we would check both, right? But is that what we want for all predicates?
>> 
>> `C->too_many_traps(reason)` checks against `PerMethodTrapLimit`:
>> 
>> if (trap_count(reason) >= Deoptimization::per_method_trap_limit(reason)) {
>> 
>> 
>> But the `bci` check works with `PerBytecodeTrapLimit`, and it actually has a comment like this:
>> 
>> if (md->has_trap_at(bci, m, reason) != 0) {
>>   // Assume PerBytecodeTrapLimit==0, for a more conservative heuristic.
>>   // Also, if there are multiple reasons, or if there is no per-BCI record,
>>   // assume the worst.
>> 
>> So the `bci` check fails if there has been even a single trapping recorded.
>> 
>> So it seems that such a change would affect the behavior in ways I cannot yet predict.
>> 
>> What do you think?
>
> That code is supposed to mirror the `GraphKit::add_parse_predicate()`. It doesn't. Would you like me to fix this separately?

@rwestrel do you consider that a blocking issue for this PR here?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22016#discussion_r1959463556


More information about the hotspot-dev mailing list