RFR: 8280003: C1: Reconsider uses of logical_and immediates in LIRGenerator::do_getObjectSize [v3]
Aleksey Shipilev
shade at openjdk.java.net
Fri Jan 28 10:21:12 UTC 2022
On Wed, 19 Jan 2022 20:32:21 GMT, Sergey Nazarkin <snazarki at openjdk.org> wrote:
>> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
>>
>> - Fixing failures in ARM32
>> - Merge branch 'master' into JDK-8280003-c1-logical-and
>> - Checking ARM32 code
>> - Use checked_cast<jint>
>> - Merge branch 'master' into JDK-8280003-c1-logical-and
>> - Fix
>
> src/hotspot/share/c1/c1_LIRGenerator.cpp line 1351:
>
>> 1349: assert((int) Klass::_lh_instance_slow_path_bit < BytesPerLong, "clear bit");
>> 1350:
>> 1351: LIR_Opr mask = load_immediate(~(jint) right_n_bits(LogBytesPerLong), T_INT);
>
> Just to note: taken a look at generated code to check why this helps with wrong result issue. It appears jdk suffers from the problem of inlining of this code into caller method since this lines are never executed for small array case
I don't understand what you mean here :)
-------------
PR: https://git.openjdk.java.net/jdk/pull/7080
More information about the hotspot-compiler-dev
mailing list