--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration.java 2019-03-28 07:37:22.064712012 +0100 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration.java 2019-03-28 07:37:21.684709477 +0100 @@ -201,6 +201,7 @@ private final List skippedExceptionTypes; private final boolean insertFullInfopoints; private final boolean trackNodeSourcePosition; + private final boolean retainLocalVariables; private final Plugins plugins; public enum BytecodeExceptionMode { @@ -229,6 +230,7 @@ boolean omitAssertions, boolean insertFullInfopoints, boolean trackNodeSourcePosition, + boolean retainLocalVariables, List skippedExceptionTypes, Plugins plugins) { this.eagerResolving = eagerResolving; @@ -237,6 +239,7 @@ this.omitAssertions = omitAssertions; this.insertFullInfopoints = insertFullInfopoints; this.trackNodeSourcePosition = trackNodeSourcePosition; + this.retainLocalVariables = retainLocalVariables; this.skippedExceptionTypes = skippedExceptionTypes; this.plugins = plugins; } @@ -255,6 +258,7 @@ omitAssertions, insertFullInfopoints, trackNodeSourcePosition, + retainLocalVariables, skippedExceptionTypes, newPlugins); return result; @@ -274,6 +278,7 @@ omitAssertions, insertFullInfopoints, trackNodeSourcePosition, + retainLocalVariables, skippedExceptionTypes, plugins); } @@ -286,6 +291,7 @@ omitAssertions, insertFullInfopoints, trackNodeSourcePosition, + retainLocalVariables, skippedExceptionTypes, plugins); } @@ -298,6 +304,7 @@ omitAssertions, insertFullInfopoints, trackNodeSourcePosition, + retainLocalVariables, Collections.unmodifiableList(Arrays.asList(newSkippedExceptionTypes)), plugins); } @@ -309,6 +316,7 @@ omitAssertions, insertFullInfopoints, trackNodeSourcePosition, + retainLocalVariables, skippedExceptionTypes, plugins); } @@ -321,6 +329,7 @@ newOmitAssertions, insertFullInfopoints, trackNodeSourcePosition, + retainLocalVariables, skippedExceptionTypes, plugins); } @@ -333,6 +342,7 @@ omitAssertions, newInsertFullInfopoints, trackNodeSourcePosition, + retainLocalVariables, skippedExceptionTypes, plugins); } @@ -345,6 +355,20 @@ omitAssertions, insertFullInfopoints, newTrackNodeSourcePosition, + retainLocalVariables, + skippedExceptionTypes, + plugins); + } + + public GraphBuilderConfiguration withRetainLocalVariables(boolean newRetainLocalVariables) { + return new GraphBuilderConfiguration( + eagerResolving, + unresolvedIsError, + bytecodeExceptionMode, + omitAssertions, + insertFullInfopoints, + trackNodeSourcePosition, + newRetainLocalVariables, skippedExceptionTypes, plugins); } @@ -369,6 +393,10 @@ return trackNodeSourcePosition; } + public boolean retainLocalVariables() { + return retainLocalVariables; + } + public boolean insertFullInfopoints() { return insertFullInfopoints; } @@ -381,6 +409,7 @@ /* omitAssertions: */ false, /* insertFullInfopoints: */ false, /* trackNodeSourcePosition: */ false, + /* retainLocalVariables */ false, Collections.emptyList(), plugins); } @@ -393,6 +422,7 @@ /* omitAssertions: */ false, /* insertFullInfopoints: */ false, /* trackNodeSourcePosition: */ false, + /* retainLocalVariables */ false, Collections.emptyList(), plugins); }