src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/EconomyAllocationStage.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/EconomyAllocationStage.java Fri Jul 7 09:31:05 2017
--- new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/EconomyAllocationStage.java Fri Jul 7 09:31:05 2017
*** 20,37 ****
--- 20,49 ----
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package org.graalvm.compiler.lir.phases;
+ import static org.graalvm.compiler.core.common.GraalOptions.TraceRA;
+
import org.graalvm.compiler.lir.alloc.lsra.LinearScanPhase;
+ import org.graalvm.compiler.lir.alloc.trace.GlobalLivenessAnalysisPhase;
+ import org.graalvm.compiler.lir.alloc.trace.TraceBuilderPhase;
+ import org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase;
import org.graalvm.compiler.lir.dfa.LocationMarkerPhase;
import org.graalvm.compiler.lir.phases.AllocationPhase.AllocationContext;
import org.graalvm.compiler.lir.stackslotalloc.SimpleStackSlotAllocator;
+ import org.graalvm.compiler.options.OptionValues;
public class EconomyAllocationStage extends LIRPhaseSuite<AllocationContext> {
! public EconomyAllocationStage(OptionValues options) {
+ if (TraceRA.getValue(options)) {
+ appendPhase(new TraceBuilderPhase());
+ appendPhase(new GlobalLivenessAnalysisPhase());
+ appendPhase(new TraceRegisterAllocationPhase());
+ } else {
appendPhase(new LinearScanPhase());
+ }
// build frame map
appendPhase(new SimpleStackSlotAllocator());
// currently we mark locations only if we do register allocation
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/EconomyAllocationStage.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File