Jurassic.Compiler.DynamicILGenerator.Emit1ByteOpCodeInt8 C# (CSharp) Метод

Emit1ByteOpCodeInt8() приватный Метод

Emits a one byte opcode plus a 1-byte operand.
private Emit1ByteOpCodeInt8 ( byte opCode, int popCount, int pushCount, int emitInt8 ) : void
opCode byte The opcode to emit.
popCount int The number of items to pop from the stack.
pushCount int The number of items to push onto the stack.
emitInt8 int An 8-bit integer to emit.
Результат void
        private void Emit1ByteOpCodeInt8(byte opCode, int popCount, int pushCount, int emitInt8)
        {
            // Enlarge the array if necessary.
            const int instructionSize = 2;
            if (this.offset + instructionSize >= this.bytes.Length)
                EnlargeArray(instructionSize);

            // Emit the instruction bytes.
            this.bytes[this.offset++] = opCode;
            this.bytes[this.offset++] = (byte)emitInt8;

            // The instruction pops two values and pushes a value to the stack.
            if (this.stackSize < popCount)
                throw new InvalidOperationException("Stack underflow");
            this.stackSize += pushCount - popCount;
            this.maxStackSize = Math.Max(this.stackSize, this.maxStackSize);
        }
DynamicILGenerator