RFR: 8355223: Improve documentation on @IntrinsicCandidate [v6]

Chen Liang liach at openjdk.org
Wed May 21 21:31:16 UTC 2025


On Wed, 21 May 2025 20:11:39 GMT, Chen Liang <liach at openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/vm/annotation/IntrinsicCandidate.java line 50:
>> 
>>> 48:  * For example, the bytecodes of a candidate method may be executed by lower
>>> 49:  * compilation tiers of VM execution, while higher compilation tiers may replace
>>> 50:  * the bytecodes with specialized assembly code and/or compiler IR.  Therefore,
>> 
>>> while higher compilation tiers may replace the bytecodes with specialized assembly code and/or compiler IR
>> 
>> Is there ever a case, where for a `@IntrinsicCandidate` method, the runtime will choose to execute the instrinsic for that method for a certain duration and then at a later point in time replace the intrinsic with compiler generated code? In other words, once the runtime executes the intrinsic implementation for a `@IntrinsicCandidate` method, will the method's implementation be switched to anything else during the lifetime of an application?
>
> We cannot rule it out, but this sentence begins "for example" meaning this is just one scenario and is not exhaustive.

To address your concern, I have reworded:

 * During execution, intrinsification may happen and may be rolled back at any
 * moment; this loading and unloading process may happen zero to many times.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24777#discussion_r2101198872


More information about the core-libs-dev mailing list