예제 #1
0
        internal static Instruction InitReference(int index)
        {
            if (s_initReference == null)
            {
                s_initReference = new Instruction[LocalInstrCacheSize];
            }

            if (index < s_initReference.Length)
            {
                return(s_initReference[index] ?? (s_initReference[index] = new InitializeLocalInstruction.Reference(index)));
            }

            return(new InitializeLocalInstruction.Reference(index));
        }
예제 #2
0
 internal static Instruction InitReference(int index)
 {
     if (InstructionList._initReference == null)
     {
         InstructionList._initReference = new Instruction[64];
     }
     if (index >= (int)InstructionList._initReference.Length)
     {
         return(new InitializeLocalInstruction.Reference(index));
     }
     else
     {
         Instruction instruction  = InstructionList._initReference[index];
         Instruction instruction1 = instruction;
         if (instruction == null)
         {
             InitializeLocalInstruction.Reference reference = new InitializeLocalInstruction.Reference(index);
             Instruction instruction2 = reference;
             InstructionList._initReference[index] = reference;
             instruction1 = instruction2;
         }
         return(instruction1);
     }
 }