package org.rascalmpl.library.experiments.Compiler.RVM.Interpreter.Instructions;
import org.rascalmpl.library.experiments.Compiler.RVM.Interpreter.BytecodeGenerator;
import org.rascalmpl.library.experiments.Compiler.RVM.Interpreter.CodeBlock;
public class ResetLocs extends Instruction {
int positions;
public ResetLocs(CodeBlock ins, int positions){
super(ins, Opcode.RESETLOCS);
this.positions = positions;
}
public String toString() { return "RESETLOCS " + codeblock.getConstantValue(positions); }
public void generate(){
codeblock.addCode1(opcode.getOpcode(), positions);
}
public void generateByteCode(BytecodeGenerator codeEmittor, boolean debug){
if (debug)
codeEmittor.emitDebugCall1(opcode.name(), positions);
codeEmittor.emitInlineResetLocs(positions,codeblock.getConstantValue(positions), debug) ;
}
}