227 public static final long INVALID_GRAPH_ID = -1;
228 private static final AtomicLong uniqueGraphIds = new AtomicLong();
229
230 private StartNode start;
231 private ResolvedJavaMethod rootMethod;
232 private final long graphId;
233 private final CompilationIdentifier compilationId;
234 private final int entryBCI;
235 private GuardsStage guardsStage = GuardsStage.FLOATING_GUARDS;
236 private boolean isAfterFloatingReadPhase = false;
237 private boolean isAfterFixedReadPhase = false;
238 private boolean hasValueProxies = true;
239 private boolean isAfterExpandLogic = false;
240 private final boolean useProfilingInfo;
241 private final Cancellable cancellable;
242 /**
243 * The assumptions made while constructing and transforming this graph.
244 */
245 private final Assumptions assumptions;
246
247 private final SpeculationLog speculationLog;
248
249 private ScheduleResult lastSchedule;
250
251 /**
252 * Records the methods that were used while constructing this graph, one entry for each time a
253 * specific method is used.
254 */
255 private final List<ResolvedJavaMethod> methods = new ArrayList<>();
256
257 /**
258 * Records the fields that were accessed while constructing this graph.
259 */
260
261 private EconomicSet<ResolvedJavaField> fields = null;
262
263 private enum UnsafeAccessState {
264 NO_ACCESS,
265 HAS_ACCESS,
266 DISABLED
267 }
|
227 public static final long INVALID_GRAPH_ID = -1;
228 private static final AtomicLong uniqueGraphIds = new AtomicLong();
229
230 private StartNode start;
231 private ResolvedJavaMethod rootMethod;
232 private final long graphId;
233 private final CompilationIdentifier compilationId;
234 private final int entryBCI;
235 private GuardsStage guardsStage = GuardsStage.FLOATING_GUARDS;
236 private boolean isAfterFloatingReadPhase = false;
237 private boolean isAfterFixedReadPhase = false;
238 private boolean hasValueProxies = true;
239 private boolean isAfterExpandLogic = false;
240 private final boolean useProfilingInfo;
241 private final Cancellable cancellable;
242 /**
243 * The assumptions made while constructing and transforming this graph.
244 */
245 private final Assumptions assumptions;
246
247 private SpeculationLog speculationLog;
248
249 private ScheduleResult lastSchedule;
250
251 /**
252 * Records the methods that were used while constructing this graph, one entry for each time a
253 * specific method is used.
254 */
255 private final List<ResolvedJavaMethod> methods = new ArrayList<>();
256
257 /**
258 * Records the fields that were accessed while constructing this graph.
259 */
260
261 private EconomicSet<ResolvedJavaField> fields = null;
262
263 private enum UnsafeAccessState {
264 NO_ACCESS,
265 HAS_ACCESS,
266 DISABLED
267 }
|