private boolean addClosureExitStoreLocalVars(IRScope scope, ListIterator<Instr> instrs, Set<LocalVariable> dirtyVars, Map<Operand, Operand> varRenameMap) { boolean addedStores = false; boolean isEvalScript = scope instanceof IREvalScript; for (LocalVariable v : dirtyVars) { if (isEvalScript || !(v instanceof ClosureLocalVariable) || (scope != ((ClosureLocalVariable)v).definingScope)) { addedStores = true; instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v)); } } return addedStores; }
private boolean addClosureExitStoreLocalVars(IRScope scope, ListIterator<Instr> instrs, Set<LocalVariable> dirtyVars, Map<Operand, Operand> varRenameMap) { boolean addedStores = false; boolean isEvalScript = scope instanceof IREvalScript; for (LocalVariable v : dirtyVars) { if (isEvalScript || !(v instanceof ClosureLocalVariable) || (scope != ((ClosureLocalVariable)v).definingScope)) { addedStores = true; instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v)); } } return addedStores; }
@Override public Instr cloneForInlining(InlinerInfo ii) { // SSS FIXME: Do we need to rename lvar really? It is just a name-proxy! return new StoreLocalVarInstr(value.cloneForInlining(ii), scope, (LocalVariable)lvar.cloneForInlining(ii)); }
@Override public Instr cloneForInlining(InlinerInfo ii) { // SSS FIXME: Do we need to rename lvar really? It is just a name-proxy! return new StoreLocalVarInstr(value.cloneForInlining(ii), scope, (LocalVariable)lvar.cloneForInlining(ii)); }
boolean addScopeExitStoreLocalVars(ListIterator<Instr> instrs, Set<LocalVariable> dirtyVars, Map<Operand, Operand> varRenameMap) { IRScope scope = getScope(); boolean addedStores = false; boolean isEvalScript = scope instanceof IREvalScript; for (LocalVariable v : dirtyVars) { if (isEvalScript || !(v instanceof ClosureLocalVariable) || ((ClosureLocalVariable)v).isOuterScopeVar()) { addedStores = true; instrs.add(new StoreLocalVarInstr(scope, getLocalVarReplacement(v, varRenameMap), v)); } } return addedStores; }
boolean addScopeExitStoreLocalVars(ListIterator<Instr> instrs, Set<LocalVariable> dirtyVars, Map<Operand, Operand> varRenameMap) { IRScope scope = getScope(); boolean addedStores = false; boolean isEvalScript = scope instanceof IREvalScript; for (LocalVariable v : dirtyVars) { if (isEvalScript || !(v instanceof ClosureLocalVariable) || ((ClosureLocalVariable)v).isOuterScopeVar()) { addedStores = true; instrs.add(new StoreLocalVarInstr(scope, getLocalVarReplacement(v, varRenameMap), v)); } } return addedStores; }
public static StoreLocalVarInstr decode(IRReaderDecoder d) { return new StoreLocalVarInstr(d.decodeScope(), d.decodeOperand(), (LocalVariable) d.decodeOperand()); }
public static StoreLocalVarInstr decode(IRReaderDecoder d) { return new StoreLocalVarInstr(d.decodeScope(), d.decodeOperand(), (LocalVariable) d.decodeOperand()); }
@Override public Instr clone(CloneInfo ii) { // SSS FIXME: Do we need to rename lvar really? It is just a name-proxy! return new StoreLocalVarInstr(scope, getValue().cloneForInlining(ii), (LocalVariable) getLocalVar().cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { // SSS FIXME: Do we need to rename lvar really? It is just a name-proxy! return new StoreLocalVarInstr(scope, getValue().cloneForInlining(ii), (LocalVariable) getLocalVar().cloneForInlining(ii)); }
instrs.add(new StoreLocalVarInstr(scope, problem.getLocalVarReplacement(v, varRenameMap), v)); newDirtyVars.remove(v); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(scope, problem.getLocalVarReplacement(v, varRenameMap), v)); instrs.add(new StoreLocalVarInstr(scope, problem.getLocalVarReplacement(v, varRenameMap), v)); newDirtyVars.remove(v); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(scope, problem.getLocalVarReplacement(v, varRenameMap), v)); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(scope, problem.getLocalVarReplacement(v, varRenameMap), v));
instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v)); newDirtyVars.remove(v); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v)); if ((v instanceof ClosureLocalVariable) && ((ClosureLocalVariable)v).definingScope != scope) { addedStores = true; instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v)); newDirtyVars.remove(v); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v)); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v));
instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v)); newDirtyVars.remove(v); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v)); if ((v instanceof ClosureLocalVariable) && ((ClosureLocalVariable)v).definingScope != scope) { addedStores = true; instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v)); newDirtyVars.remove(v); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v)); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(getLocalVarReplacement(v, scope, varRenameMap), scope, v));
instrs.add(new StoreLocalVarInstr(scope, problem.getLocalVarReplacement(v, varRenameMap), v)); newDirtyVars.remove(v); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(scope, problem.getLocalVarReplacement(v, varRenameMap), v)); instrs.add(new StoreLocalVarInstr(scope, problem.getLocalVarReplacement(v, varRenameMap), v)); newDirtyVars.remove(v); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(scope, problem.getLocalVarReplacement(v, varRenameMap), v)); for (LocalVariable v : dirtyVars) { addedStores = true; instrs.add(new StoreLocalVarInstr(scope, problem.getLocalVarReplacement(v, varRenameMap), v));
varRenameMap.put(v, value); geb.addInstr(new StoreLocalVarInstr(value, (IRClosure) cfgScope, v));
varRenameMap.put(v, value); geb.addInstr(new StoreLocalVarInstr(value, (IRClosure) cfgScope, v));