RFR: 8172733: [JVMCI] add ResolvedJavaMethod.hasNeverInlineDirective

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Jan 23 17:26:17 UTC 2017


Hi, Doug

About jvmciCompilerToVM.cpp changes. why you added 
CompilerOracle::should_exclude(method) check? 
CompilerOracle::should_not_inline() does it already except it does not 
check compileonly list.

I also thought that we should switch to using 
DirectiveSet::should_not_inline() as C1 and C2 does now but it is more 
complex change which we can do in jdk 10.

Otherwise looks good.

Thanks,
Vladimir

On 1/22/17 12:39 PM, Doug Simon wrote:
> 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 earlier compilations or has a bytecode breakpoint).
>
> Truffle partial evaluation (a JVMCI API client) doesn’t care about 2 and must ignore it for correct operation. However, it needs to know about 1. This webrev introduces a separate ResolvedJavaMethod.hasNeverInlineDirective method to support this feature.
>
> https://bugs.openjdk.java.net/browse/JDK-8172733
> http://cr.openjdk.java.net/~dnsimon/8172733/webrev/
>
> -Doug
>


More information about the hotspot-compiler-dev mailing list