< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration.java
Print this page
*** 199,208 ****
--- 199,209 ----
private final BytecodeExceptionMode bytecodeExceptionMode;
private final boolean omitAssertions;
private final List<ResolvedJavaType> skippedExceptionTypes;
private final boolean insertFullInfopoints;
private final boolean trackNodeSourcePosition;
+ private final boolean retainLocalVariables;
private final Plugins plugins;
public enum BytecodeExceptionMode {
/**
* This mode always explicitly checks for exceptions.
*** 227,244 ****
--- 228,247 ----
boolean unresolvedIsError,
BytecodeExceptionMode bytecodeExceptionMode,
boolean omitAssertions,
boolean insertFullInfopoints,
boolean trackNodeSourcePosition,
+ boolean retainLocalVariables,
List<ResolvedJavaType> skippedExceptionTypes,
Plugins plugins) {
this.eagerResolving = eagerResolving;
this.unresolvedIsError = unresolvedIsError;
this.bytecodeExceptionMode = bytecodeExceptionMode;
this.omitAssertions = omitAssertions;
this.insertFullInfopoints = insertFullInfopoints;
this.trackNodeSourcePosition = trackNodeSourcePosition;
+ this.retainLocalVariables = retainLocalVariables;
this.skippedExceptionTypes = skippedExceptionTypes;
this.plugins = plugins;
}
/**
*** 253,262 ****
--- 256,266 ----
unresolvedIsError,
bytecodeExceptionMode,
omitAssertions,
insertFullInfopoints,
trackNodeSourcePosition,
+ retainLocalVariables,
skippedExceptionTypes,
newPlugins);
return result;
}
*** 272,281 ****
--- 276,286 ----
newUnresolvedIsError,
bytecodeExceptionMode,
omitAssertions,
insertFullInfopoints,
trackNodeSourcePosition,
+ retainLocalVariables,
skippedExceptionTypes,
plugins);
}
public GraphBuilderConfiguration withEagerResolving(boolean newEagerResolving) {
*** 284,293 ****
--- 289,299 ----
unresolvedIsError,
bytecodeExceptionMode,
omitAssertions,
insertFullInfopoints,
trackNodeSourcePosition,
+ retainLocalVariables,
skippedExceptionTypes,
plugins);
}
public GraphBuilderConfiguration withSkippedExceptionTypes(ResolvedJavaType[] newSkippedExceptionTypes) {
*** 296,305 ****
--- 302,312 ----
unresolvedIsError,
bytecodeExceptionMode,
omitAssertions,
insertFullInfopoints,
trackNodeSourcePosition,
+ retainLocalVariables,
Collections.unmodifiableList(Arrays.asList(newSkippedExceptionTypes)),
plugins);
}
public GraphBuilderConfiguration withBytecodeExceptionMode(BytecodeExceptionMode newBytecodeExceptionMode) {
*** 307,316 ****
--- 314,324 ----
unresolvedIsError,
newBytecodeExceptionMode,
omitAssertions,
insertFullInfopoints,
trackNodeSourcePosition,
+ retainLocalVariables,
skippedExceptionTypes,
plugins);
}
public GraphBuilderConfiguration withOmitAssertions(boolean newOmitAssertions) {
*** 319,328 ****
--- 327,337 ----
unresolvedIsError,
bytecodeExceptionMode,
newOmitAssertions,
insertFullInfopoints,
trackNodeSourcePosition,
+ retainLocalVariables,
skippedExceptionTypes,
plugins);
}
public GraphBuilderConfiguration withFullInfopoints(boolean newInsertFullInfopoints) {
*** 331,340 ****
--- 340,350 ----
unresolvedIsError,
bytecodeExceptionMode,
omitAssertions,
newInsertFullInfopoints,
trackNodeSourcePosition,
+ retainLocalVariables,
skippedExceptionTypes,
plugins);
}
public GraphBuilderConfiguration withNodeSourcePosition(boolean newTrackNodeSourcePosition) {
*** 343,352 ****
--- 353,376 ----
unresolvedIsError,
bytecodeExceptionMode,
omitAssertions,
insertFullInfopoints,
newTrackNodeSourcePosition,
+ retainLocalVariables,
+ skippedExceptionTypes,
+ plugins);
+ }
+
+ public GraphBuilderConfiguration withRetainLocalVariables(boolean newRetainLocalVariables) {
+ return new GraphBuilderConfiguration(
+ eagerResolving,
+ unresolvedIsError,
+ bytecodeExceptionMode,
+ omitAssertions,
+ insertFullInfopoints,
+ trackNodeSourcePosition,
+ newRetainLocalVariables,
skippedExceptionTypes,
plugins);
}
public List<ResolvedJavaType> getSkippedExceptionTypes() {
*** 367,376 ****
--- 391,404 ----
public boolean trackNodeSourcePosition() {
return trackNodeSourcePosition;
}
+ public boolean retainLocalVariables() {
+ return retainLocalVariables;
+ }
+
public boolean insertFullInfopoints() {
return insertFullInfopoints;
}
public static GraphBuilderConfiguration getDefault(Plugins plugins) {
*** 379,388 ****
--- 407,417 ----
/* unresolvedIsError: */ false,
BytecodeExceptionMode.Profile,
/* omitAssertions: */ false,
/* insertFullInfopoints: */ false,
/* trackNodeSourcePosition: */ false,
+ /* retainLocalVariables */ false,
Collections.emptyList(),
plugins);
}
public static GraphBuilderConfiguration getSnippetDefault(Plugins plugins) {
*** 391,400 ****
--- 420,430 ----
/* unresolvedIsError: */ true,
BytecodeExceptionMode.OmitAll,
/* omitAssertions: */ false,
/* insertFullInfopoints: */ false,
/* trackNodeSourcePosition: */ false,
+ /* retainLocalVariables */ false,
Collections.emptyList(),
plugins);
}
/** Returns {@code true} if it is an error for a class/field/method resolution to fail. */
< prev index next >