예제 #1
0
 public Instruction Fixup(int offset)
 {
     this._offset = offset;
     Instruction[] cache = this.Cache;
     if (cache == null || offset < 0 || offset >= (int)cache.Length)
     {
         return(this);
     }
     else
     {
         Instruction instruction  = cache[offset];
         Instruction instruction1 = instruction;
         if (instruction == null)
         {
             OffsetInstruction offsetInstruction = this;
             Instruction       instruction2      = offsetInstruction;
             cache[offset] = offsetInstruction;
             instruction1  = instruction2;
         }
         return(instruction1);
     }
 }
예제 #2
0
 private void EmitBranch(OffsetInstruction instruction, BranchLabel label)
 {
     Emit(instruction);
     label.AddBranch(this, Count - 1);
 }