RFR: 8276453: Undefined behavior in C1 LIR_OprDesc causes SEGV in fastdebug build [v5]

Dean Long dlong at openjdk.java.net
Wed Nov 10 01:12:45 UTC 2021


On Wed, 3 Nov 2021 20:01:37 GMT, Man Cao <manc at openjdk.org> wrote:

>> Hi all,
>> 
>> Could anyone provide some feedback on this bug fix and refactoring change? See https://bugs.openjdk.java.net/browse/JDK-8276453 for more details.
>> If the direction of this change looks good, we can proceed removing the "UGLY HACK" in c1_LIR.hpp and refactor occurrences of "opr->fn()" to "opr.fn()".
>
> Man Cao has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix aarch64 and arm builds

I'm concerned with the number of lines and files changed, and how that will affect backports, etc.  Wouldn't adding something like:

 typedef LIR_Opr LIR_OprDesc;

make most of the renames unnecessary?

I also wonder if LIR_Opr() is the best choice to replace NULL.  In some places LIR_Opr::illegalOpr() is used instead, which seems inconsistent.  Maybe we need LIR_Opr::nullOpr()?

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

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


More information about the hotspot-compiler-dev mailing list