/** * Shorter label */ public String getShortLabel() { return getLabel(); }
public Object run(IRScope scope) { return run(scope, false, false); }
public IRManager() { compilerPasses = CompilerPass.getPassesFromString(RubyInstanceConfig.IR_COMPILER_PASSES, DEFAULT_COMPILER_PASSES); inliningCompilerPasses = CompilerPass.getPassesFromString(RubyInstanceConfig.IR_COMPILER_PASSES, DEFAULT_INLINING_COMPILER_PASSES); }
private Object makeSureDependencyHasRunOnce(Class<? extends CompilerPass> passClass, IRScope scope, boolean childScope) { CompilerPass pass = createPassInstance(passClass); Object data = pass.previouslyRun(scope); if (data == null) { data = pass.run(scope, false, childScope); } else { for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.alreadyExecuted(pass, scope, data, childScope); } } return data; }
@Override public Object execute(IRScope scope, Object... data) { UnboxableOpsAnalysisProblem problem = new UnboxableOpsAnalysisProblem(); problem.setup(scope); problem.compute_MOP_Solution(); problem.unbox(); // LVA information is no longer valid after the pass // FIXME: Grrr ... this seems broken to have to create a new object to invalidate (new LiveVariableAnalysis()).invalidate(scope); return true; }
@Override public boolean invalidate(IRScope scope) { super.invalidate(scope); scope.putStoreLocalVarPlacementProblem(null); return true; } }
private Object makeSureDependencyHasRunOnce(Class<? extends CompilerPass> passClass, IRScope scope, boolean childScope) { CompilerPass pass = createPassInstance(passClass); Object data = pass.previouslyRun(scope); if (data == null) { data = pass.run(scope, childScope); } else { for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.alreadyExecuted(pass, scope, data, childScope); } } return data; }
public Object run(IRScope scope, boolean force) { return run(scope, force, false); }
public IRManager() { compilerPasses = CompilerPass.getPassesFromString(RubyInstanceConfig.IR_COMPILER_PASSES, DEFAULT_COMPILER_PASSES); inliningCompilerPasses = CompilerPass.getPassesFromString(RubyInstanceConfig.IR_COMPILER_PASSES, DEFAULT_INLINING_COMPILER_PASSES); }
@Override public boolean invalidate(IRScope scope) { super.invalidate(scope); scope.putLiveVariablesProblem(null); return true; } }
private Object makeSureDependencyHasRunOnce(Class<? extends CompilerPass> passClass, IRScope scope, boolean childScope) { CompilerPass pass = createPassInstance(passClass); Object data = pass.previouslyRun(scope); if (data == null) { data = pass.run(scope, false, childScope); } else { for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.alreadyExecuted(pass, scope, data, childScope); } } return data; }
public Object run(IRScope scope) { return run(scope, false, false); }
/** * Shorter label */ public String getShortLabel() { return getLabel(); }
@Override public boolean invalidate(IRScope scope) { super.invalidate(scope); scope.putLiveVariablesProblem(null); return true; } }
private Object makeSureDependencyHasRunOnce(Class<? extends CompilerPass> passClass, IRScope scope, boolean childScope) { CompilerPass pass = createPassInstance(passClass); Object data = pass.previouslyRun(scope); if (data == null) { data = pass.run(scope, childScope); } else { for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.alreadyExecuted(pass, scope, data, childScope); } } return data; }
public Object run(IRScope scope) { return run(scope, false); }
public Object run(IRScope scope) { return run(scope, false); }
public Object run(IRScope scope, boolean force) { return run(scope, force, false); }