# HG changeset patch # User Josef Eisl # Date 1431001073 -7200 # Node ID 5f4847feeb6919f2444e4c1bd48cdf71e79aa1b4 # Parent 8908ac7d2c868413704704dc161190d5681fdabe LinearScan: add createLifetimeAnalysis(). diff -r 8908ac7d2c86 -r 5f4847feeb69 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java Wed May 06 17:44:32 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/alloc/lsra/LinearScan.java Thu May 07 14:17:53 2015 +0200 @@ -1829,6 +1829,10 @@ } } + protected LifetimeAnalysis createLifetimeAnalysis() { + return new LifetimeAnalysis(this); + } + > void allocate(TargetDescription target, LIRGenerationResult lirGenRes, List codeEmittingOrder, List linearScanOrder, SpillMoveFactory spillMoveFactory) { /* @@ -1837,7 +1841,7 @@ try (Indent indent = Debug.logAndIndent("LinearScan allocate")) { AllocationContext context = new AllocationContext(spillMoveFactory); - new LifetimeAnalysis().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context, false); + createLifetimeAnalysis().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context, false); new RegisterAllocation().apply(target, lirGenRes, codeEmittingOrder, linearScanOrder, context, false); if (LinearScan.Options.LSRAOptimizeSpillPosition.getValue()) {