示例#1
0
 public void EmitAssignLocal(int index)
 {
     if (InstructionList._assignLocal == null)
     {
         InstructionList._assignLocal = new Instruction[64];
     }
     if (index >= (int)InstructionList._assignLocal.Length)
     {
         this.Emit(new AssignLocalInstruction(index));
         return;
     }
     else
     {
         InstructionList instructionList = this;
         Instruction     instruction     = InstructionList._assignLocal[index];
         Instruction     instruction1    = instruction;
         if (instruction == null)
         {
             AssignLocalInstruction assignLocalInstruction = new AssignLocalInstruction(index);
             Instruction            instruction2           = assignLocalInstruction;
             InstructionList._assignLocal[index] = assignLocalInstruction;
             instruction1 = instruction2;
         }
         instructionList.Emit(instruction1);
         return;
     }
 }
        public void EmitAssignLocal(int index)
        {
            if (s_assignLocal == null)
            {
                s_assignLocal = new Instruction[LocalInstrCacheSize];
            }

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