IKVM.Internal.CodeEmitter.EmitCmp C# (CSharp) Method

EmitCmp() private method

private EmitCmp ( Type type, OpCode cmp1, OpCode cmp2 ) : void
type IKVM.Reflection.Type
cmp1 OpCode
cmp2 OpCode
return void
        private void EmitCmp(Type type, OpCode cmp1, OpCode cmp2)
        {
            CodeEmitterLocal value1 = AllocTempLocal(type);
            CodeEmitterLocal value2 = AllocTempLocal(type);
            Emit(OpCodes.Stloc, value2);
            Emit(OpCodes.Stloc, value1);
            Emit(OpCodes.Ldloc, value1);
            Emit(OpCodes.Ldloc, value2);
            Emit(cmp1);
            Emit(OpCodes.Ldloc, value1);
            Emit(OpCodes.Ldloc, value2);
            Emit(cmp2);
            Emit(OpCodes.Sub);
            ReleaseTempLocal(value2);
            ReleaseTempLocal(value1);
        }