示例#1
0
 public void EmitLoadLocalFromClosureBoxed(int index)
 {
     if (InstructionList._loadLocalFromClosureBoxed == null)
     {
         InstructionList._loadLocalFromClosureBoxed = new Instruction[64];
     }
     if (index >= (int)InstructionList._loadLocalFromClosureBoxed.Length)
     {
         this.Emit(new LoadLocalFromClosureBoxedInstruction(index));
         return;
     }
     else
     {
         InstructionList instructionList = this;
         Instruction     instruction     = InstructionList._loadLocalFromClosureBoxed[index];
         Instruction     instruction1    = instruction;
         if (instruction == null)
         {
             LoadLocalFromClosureBoxedInstruction loadLocalFromClosureBoxedInstruction = new LoadLocalFromClosureBoxedInstruction(index);
             Instruction instruction2 = loadLocalFromClosureBoxedInstruction;
             InstructionList._loadLocalFromClosureBoxed[index] = loadLocalFromClosureBoxedInstruction;
             instruction1 = instruction2;
         }
         instructionList.Emit(instruction1);
         return;
     }
 }
        public void EmitLoadLocalFromClosureBoxed(int index)
        {
            if (s_loadLocalFromClosureBoxed == null)
            {
                s_loadLocalFromClosureBoxed = new Instruction[LocalInstrCacheSize];
            }

            if (index < s_loadLocalFromClosureBoxed.Length)
            {
                Emit(s_loadLocalFromClosureBoxed[index] ?? (s_loadLocalFromClosureBoxed[index] = new LoadLocalFromClosureBoxedInstruction(index)));
            }
            else
            {
                Emit(new LoadLocalFromClosureBoxedInstruction(index));
            }
        }