public InlinerInfo cloneForInliningClosure() { InlinerInfo clone = new InlinerInfo(); clone.varRenameMap = new HashMap<Variable, Variable>(); clone.lblRenameMap = new HashMap<Label, Label>(); clone.bbRenameMap = new HashMap<BasicBlock, BasicBlock>(); clone.call = this.call; clone.callArgs = this.callArgs; clone.callerCFG = this.callerCFG; clone.callReceiver = this.callReceiver; clone.inClosureCloneMode = false; clone.inClosureInlineMode = true; clone.canMapArgsStatically = false; return clone; }
public InlinerInfo cloneForInliningClosure() { InlinerInfo clone = new InlinerInfo(); clone.varRenameMap = new HashMap<Variable, Variable>(); clone.lblRenameMap = new HashMap<Label, Label>(); clone.bbRenameMap = new HashMap<BasicBlock, BasicBlock>(); clone.call = this.call; clone.callArgs = this.callArgs; clone.callerCFG = this.callerCFG; clone.callReceiver = this.callReceiver; clone.inClosureCloneMode = false; clone.inClosureInlineMode = true; clone.canMapArgsStatically = false; return clone; }
public InlinerInfo cloneForCloningClosure(IRClosure clonedClosure) { InlinerInfo clone = new InlinerInfo(); clone.varRenameMap = new HashMap<Variable, Variable>(); for (Variable v: varRenameMap.keySet()) { clone.varRenameMap.put(v, varRenameMap.get(v)); } clone.lblRenameMap = new HashMap<Label, Label>(); clone.clonedClosure = clonedClosure; clone.inClosureCloneMode = true; clone.inClosureInlineMode = false; clone.canMapArgsStatically = false; return clone; }
public InlinerInfo cloneForCloningClosure(IRClosure clonedClosure) { InlinerInfo clone = new InlinerInfo(); clone.varRenameMap = new HashMap<Variable, Variable>(); for (Variable v: varRenameMap.keySet()) { clone.varRenameMap.put(v, varRenameMap.get(v)); } clone.lblRenameMap = new HashMap<Label, Label>(); clone.clonedClosure = clonedClosure; clone.inClosureCloneMode = true; clone.inClosureInlineMode = false; clone.canMapArgsStatically = false; return clone; }
InlinerInfo ii = new InlinerInfo(call, cfg); Label splitBBLabel = hostScope.getNewLabel(); BasicBlock splitBB;
InlinerInfo ii = new InlinerInfo(call, cfg); Label splitBBLabel = hostScope.getNewLabel(); BasicBlock splitBB;