public static bool Stloc_N(Instruction instruction, CompileContext compileContext, uint index) { var value = compileContext.Pop(); var local = compileContext.Allocate(value.type, index); compileContext.Assign(local, value); return(true); }
public static bool Ldloc_S(Instruction instruction, CompileContext compileContext) { // ldloc.s indx - Load local variable of index indx onto stack, short form. var variableDefinition = instruction.Operand as VariableDefinition; var local = compileContext.Allocate(variableDefinition.VariableType, (uint)variableDefinition.Index); compileContext.Push(local); return(true); }
public static bool Ldloca_S(Instruction instruction, CompileContext compileContext) { // ldloca.s indx - Load address of local variable with index indx, short form. var variableDefinition = instruction.Operand as VariableDefinition; var local = compileContext.Allocate(variableDefinition.VariableType, (uint)variableDefinition.Index); local.isAddress = true; compileContext.Push(local); return(true); }