Relates :
|
The ResolvedJavaMethod.canBeInlined method captures 2 different constraints on inlining: 1. Whether the method has an explicit directive (e.g., -XX:CompileCommand=dontinline) or a hotspot recognized annotation (e.g., @DontInline). 2. Whether hotspot has marked it not compilable for policy reasons (e.g., failed compilation earlier or has a bytecode breakpoint). Some JVMCI clients (such as Truffle partial evaluation) are explicitly interested in the former without concern for the latter. To support this oversight, a separate ResolvedJavaMethod.hasNeverInlineDirective method must be added to JMVCI.