RFR: 8324433: Introduce a way to determine if an expression is evaluated as a constant by the Jit compiler [v5]

David Holmes dholmes at openjdk.org
Wed Jan 24 06:30:27 UTC 2024


On Tue, 23 Jan 2024 22:46:20 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/misc/JitCompiler.java line 56:
>> 
>>> 54:      */
>>> 55:     @IntrinsicCandidate
>>> 56:     public static boolean isCompileConstant(boolean expr) {
>> 
>> Here and in other places: probably not `expr`, but just `val` or something?
>
> I think of this as an expression that is always evaluated to the same value. The value itself is not interesting, it is the set of values that this expression can take that we are talking about.

This seems really weird to me for Java code. The method doesn't get the original "expression" it only gets the value of that expression after it has been evaluated. Is there some kind of weird "magic" happening here?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17527#discussion_r1464361310


More information about the core-libs-dev mailing list