RFR: 8280003: C1: Reconsider uses of logical_and immediates in LIRGenerator::do_getObjectSize [v5]
Dean Long
dlong at openjdk.java.net
Wed Feb 9 23:17:10 UTC 2022
On Fri, 28 Jan 2022 10:36:53 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> See the discussion in the bug.
>>
>> Additional testing:
>> - [x] Linux x86_64 fastdebug `java/lang/instrument`
>> - [x] Linux x86_32 fastdebug `java/lang/instrument`
>> - [x] Linux AArch64 fastdebug `java/lang/instrument`
>> - [x] Linux ARM32 fastdebug `java/lang/instrument`
>> - [x] Linux PPC64 fastdebug `java/lang/instrument`
>> - [x] Linux x86_64 fastdebug `tier1`
>> - [x] Linux x86_32 fastdebug `tier1`
>> - [x] Linux AArch64 fastdebug `tier1`
>> - [x] Linux PPC64 fastdebug `tier1`
>
> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>
> Revert ARM32 checks
What's the reason for keeping load_immediate requiring a jlong? It appears that all the immediates currently used will fit in a 32-bit signed int. I suggest reverting back to "int" and simplifying this patch.
src/hotspot/share/c1/c1_LIRGenerator.cpp line 1418:
> 1416: __ add(length, header_size_long, length);
> 1417: if (round_mask != 0) {
> 1418: LIR_Opr round_mask_opr = load_immediate(~(jlong)round_mask, T_LONG);
Explicitly casting to jlong here seems unnecessary. We don't do that at line 1425.
-------------
Changes requested by dlong (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/7080
More information about the hotspot-compiler-dev
mailing list