protected Object run(IRScope scope, boolean childScope) { List<Class<? extends CompilerPass>> dependencies = getDependencies(); Object data[] = new Object[dependencies.size()]; for (int i = 0; i < data.length; i++) { data[i] = makeSureDependencyHasRunOnce(dependencies.get(i), scope, childScope); } for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.startExecute(this, scope, childScope); } Object passData = execute(scope, data); for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.endExecute(this, scope, passData, childScope); } return passData; }
protected Object run(IRScope scope, boolean childScope) { List<Class<? extends CompilerPass>> dependencies = getDependencies(); Object data[] = new Object[dependencies.size()]; for (int i = 0; i < data.length; i++) { data[i] = makeSureDependencyHasRunOnce(dependencies.get(i), scope, childScope); } for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.startExecute(this, scope, childScope); } Object passData = execute(scope, data); for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.endExecute(this, scope, passData, childScope); } return passData; }
protected Object run(IRScope scope, boolean force, boolean childScope) { // System.out.println("--- RUNNING " + this.getLabel() + " on scope: " + scope); Object prevData = null; if (!force && (prevData = previouslyRun(scope)) != null) { // System.out.println("--- RETURNING OLD RESULT ---"); return prevData; } List<Class<? extends CompilerPass>> dependencies = getDependencies(); Object data[] = new Object[dependencies.size()]; for (int i = 0; i < data.length; i++) { data[i] = makeSureDependencyHasRunOnce(dependencies.get(i), scope, childScope); } for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.startExecute(this, scope, childScope); } // Record this pass scope.getExecutedPasses().add(this); Object passData = execute(scope, data); for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.endExecute(this, scope, passData, childScope); } return passData; }
protected Object run(IRScope scope, boolean force, boolean childScope) { // System.out.println("--- RUNNING " + this.getLabel() + " on scope: " + scope); Object prevData = null; if (!force && (prevData = previouslyRun(scope)) != null) { // System.out.println("--- RETURNING OLD RESULT ---"); return prevData; } List<Class<? extends CompilerPass>> dependencies = getDependencies(); Object data[] = new Object[dependencies.size()]; for (int i = 0; i < data.length; i++) { data[i] = makeSureDependencyHasRunOnce(dependencies.get(i), scope, childScope); } for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.startExecute(this, scope, childScope); } // Record this pass scope.getExecutedPasses().add(this); Object passData = execute(scope, data); for (CompilerPassListener listener: scope.getManager().getListeners()) { listener.endExecute(this, scope, passData, childScope); } return passData; }