public void AddForwardJump(CompilerJmpInstruction instruction) { ForwardJumpData j = new ForwardJumpData() { Inst = instruction, State = SaveState(), Next = _forwardJumps, }; _forwardJumps = j; }
internal void Clear() { Contract.Ensures(Function == null); //_zone.clear(); _function = null; _start = null; _stop = null; _state.Clear(); _active = null; _forwardJumps = null; _currentOffset = 0; //_unreachable = 0; _modifiedGPRegisters = RegisterMask.Zero; _modifiedMMRegisters = RegisterMask.Zero; _modifiedXMMRegisters = RegisterMask.Zero; _allocableEBP = false; _adjustESP = 0; _argumentsBaseReg = RegIndex.Invalid; _argumentsBaseOffset = 0; _argumentsActualDisp = 0; _variablesBaseReg = RegIndex.Invalid; _variablesBaseOffset = 0; _variablesActualDisp = 0; _memUsed = null; _memFree = null; _mem4BlocksCount = 0; _mem8BlocksCount = 0; _mem16BlocksCount = 0; _memBytesTotal = 0; _backCode.Clear(); _backPos = 0; }