RFR: 8280003: C1: Reconsider uses of logical_and immediates in LIRGenerator::do_getObjectSize

Quan Anh Mai duke at openjdk.java.net
Fri Jan 14 14:20:27 UTC 2022


On Fri, 14 Jan 2022 11:05:45 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 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`

src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp line 238:

> 236:   } else if (type == T_INT) {
> 237:     assert(min_jint <= x && x <= max_jint, "in range");
> 238:     r = LIR_OprFact::intConst((jint)x);

Hi, you could use `checked_cast`, which resides in `globalDefinitions.hpp` for this.

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

PR: https://git.openjdk.java.net/jdk/pull/7080


More information about the hotspot-compiler-dev mailing list