RFR: 8280003: C1: Reconsider uses of logical_and immediates in LIRGenerator::do_getObjectSize [v3]
Aleksey Shipilev
shade at openjdk.java.net
Wed Jan 19 11:58:31 UTC 2022
On Wed, 19 Jan 2022 11:32:37 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/cpu/arm/c1_LIRGenerator_arm.cpp line 291:
>
>> 289: assert(type == T_LONG || type == T_INT, "should be");
>> 290: LIR_Opr r = make_constant(type, x);
>> 291: bool imm_in_range = (x >= 0) && (x <= UINT_MAX) &&
>
> The check is too strict, what about x >= INT_MIN && x <= INT_MAX?
How is it strict? We are about to cast to _unsigned int_, surely we want to test that the value is in range of unsigned int?
-------------
PR: https://git.openjdk.java.net/jdk/pull/7080
More information about the hotspot-compiler-dev
mailing list