< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/InlineDuringParsingPlugin.java

Print this page

        

*** 33,53 **** import org.graalvm.compiler.nodes.ValueNode; import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext; import org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin; import jdk.vm.ci.meta.ResolvedJavaMethod; public final class InlineDuringParsingPlugin implements InlineInvokePlugin { /** * Budget which when exceeded reduces the effective value of * {@link BytecodeParserOptions#InlineDuringParsingMaxDepth} to * {@link #MaxDepthAfterBudgetExceeded}. */ ! private static final int NodeBudget = Integer.getInteger("InlineDuringParsingPlugin.NodeBudget", 2000); ! private static final int MaxDepthAfterBudgetExceeded = Integer.getInteger("InlineDuringParsingPlugin.MaxDepthAfterBudgetExceeded", 3); @Override public InlineInfo shouldInlineInvoke(GraphBuilderContext b, ResolvedJavaMethod method, ValueNode[] args) { // @formatter:off if (method.hasBytecodes() && --- 33,62 ---- import org.graalvm.compiler.nodes.ValueNode; import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext; import org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin; import jdk.vm.ci.meta.ResolvedJavaMethod; + import jdk.vm.ci.services.Services; public final class InlineDuringParsingPlugin implements InlineInvokePlugin { + private static int getInteger(String name, int def) { + String value = Services.getSavedProperties().get(name); + if (value != null) { + return Integer.parseInt(value); + } + return def; + } + /** * Budget which when exceeded reduces the effective value of * {@link BytecodeParserOptions#InlineDuringParsingMaxDepth} to * {@link #MaxDepthAfterBudgetExceeded}. */ ! private static final int NodeBudget = getInteger("InlineDuringParsingPlugin.NodeBudget", 2000); ! private static final int MaxDepthAfterBudgetExceeded = getInteger("InlineDuringParsingPlugin.MaxDepthAfterBudgetExceeded", 3); @Override public InlineInfo shouldInlineInvoke(GraphBuilderContext b, ResolvedJavaMethod method, ValueNode[] args) { // @formatter:off if (method.hasBytecodes() &&
< prev index next >