public SimpleCloneInfo cloneForCloningClosure(IRClosure clonedClosure) { // If cloning for ensure block cloning we want to propagate that to child closure clones boolean ensureClone = this instanceof SimpleCloneInfo && ((SimpleCloneInfo) this).isEnsureBlockCloneMode(); SimpleCloneInfo clone = new SimpleCloneInfo(clonedClosure, ensureClone); clone.variableRenameMap.putAll(variableRenameMap); return clone; }
public SimpleCloneInfo cloneForCloningClosure(IRClosure clonedClosure) { // If cloning for ensure block cloning we want to propagate that to child closure clones boolean ensureClone = this instanceof SimpleCloneInfo && ((SimpleCloneInfo) this).isEnsureBlockCloneMode(); SimpleCloneInfo clone = new SimpleCloneInfo(clonedClosure, ensureClone); clone.variableRenameMap.putAll(variableRenameMap); return clone; }
private SimpleCloneInfo cloneHostInstrs() { SimpleCloneInfo ii = new SimpleCloneInfo(hostScope, false); for (BasicBlock b : cfg.getBasicBlocks()) { b.cloneInstrs(ii); } return ii; }
private SimpleCloneInfo cloneHostInstrs() { SimpleCloneInfo ii = new SimpleCloneInfo(hostScope, false); for (BasicBlock b : cfg.getBasicBlocks()) { b.cloneInstrs(ii); } return ii; }
private Instr[] cloneInstrs() { SimpleCloneInfo cloneInfo = new SimpleCloneInfo(this, false); Instr[] instructions = interpreterContext.getInstructions(); int length = instructions.length; Instr[] newInstructions = new Instr[length]; for (int i = 0; i < length; i++) { newInstructions[i] = instructions[i].clone(cloneInfo); } return newInstructions; }
private Instr[] cloneInstrs() { SimpleCloneInfo cloneInfo = new SimpleCloneInfo(this, false); Instr[] instructions = interpreterContext.getInstructions(); int length = instructions.length; Instr[] newInstructions = new Instr[length]; for (int i = 0; i < length; i++) { newInstructions[i] = instructions[i].clone(cloneInfo); } return newInstructions; }
public FullInterpreterContext duplicate() { try { CFG newCFG = cfg.clone(new SimpleCloneInfo(getScope(), false, true), getScope()); BasicBlock[] newLinearizedBBList = new BasicBlock[linearizedBBList.length]; for (int i = 0; i < linearizedBBList.length; i++) { newLinearizedBBList[i] = newCFG.getBBForLabel(linearizedBBList[i].getLabel()); } return new FullInterpreterContext(getScope(), newCFG, newLinearizedBBList); } catch (Throwable t) { t.printStackTrace(); return null; } }
public FullInterpreterContext duplicate() { try { CFG newCFG = cfg.clone(new SimpleCloneInfo(getScope(), false, true), getScope()); BasicBlock[] newLinearizedBBList = new BasicBlock[linearizedBBList.length]; for (int i = 0; i < linearizedBBList.length; i++) { newLinearizedBBList[i] = newCFG.getBBForLabel(linearizedBBList[i].getLabel()); } return new FullInterpreterContext(getScope(), newCFG, newLinearizedBBList); } catch (Throwable t) { t.printStackTrace(); return null; } }
SimpleCloneInfo ii = new SimpleCloneInfo(builder.scope, true);
SimpleCloneInfo ii = new SimpleCloneInfo(builder.scope, true);