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 StoreLocDeref extends Instruction { int pos; public StoreLocDeref(CodeBlock ins, int pos) { super(ins, Opcode.STORELOCDEREF); this.pos = pos; } public String toString() { return "STORELOCDEREF " + pos; } public void generate(){ codeblock.addCode1(opcode.getOpcode(), pos); } public void generateByteCode(BytecodeGenerator codeEmittor, boolean debug){ if (debug) codeEmittor.emitDebugCall1(opcode.name(), pos); //codeEmittor.emitVoidCallWithArgsSSI_S("insnSTORELOCDEREF", pos, debug); codeEmittor.emitInlineStoreLocDeref(pos); } }