public void EmitLoadLocalFromClosure(int index) { if (InstructionList._loadLocalFromClosure == null) { InstructionList._loadLocalFromClosure = new Instruction[64]; } if (index >= (int)InstructionList._loadLocalFromClosure.Length) { this.Emit(new LoadLocalFromClosureInstruction(index)); return; } else { InstructionList instructionList = this; Instruction instruction = InstructionList._loadLocalFromClosure[index]; Instruction instruction1 = instruction; if (instruction == null) { LoadLocalFromClosureInstruction loadLocalFromClosureInstruction = new LoadLocalFromClosureInstruction(index); Instruction instruction2 = loadLocalFromClosureInstruction; InstructionList._loadLocalFromClosure[index] = loadLocalFromClosureInstruction; instruction1 = instruction2; } instructionList.Emit(instruction1); return; } }
public void EmitLoadLocalFromClosure(int index) { if (s_loadLocalFromClosure == null) { s_loadLocalFromClosure = new Instruction[LocalInstrCacheSize]; } if (index < s_loadLocalFromClosure.Length) { Emit(s_loadLocalFromClosure[index] ?? (s_loadLocalFromClosure[index] = new LoadLocalFromClosureInstruction(index))); } else { Emit(new LoadLocalFromClosureInstruction(index)); } }