• Home
  • Install
  • Cosmos Website
  • Articles
  • Cosmos
  • X#
  • IL2CPU
Show / Hide Table of Contents
  • Cosmos.IL2CPU
    • _ExceptionRegionInfo
    • _FieldInfo
    • CompilerHelpers
    • CosmosAssembler
    • ExceptionHelper
    • ExceptionHelperRefs
    • GCImplementationRefs
    • ICompilerEngineSettings
    • Il2cpuMethodInfo
    • Il2cpuMethodInfo.TypeEnum
    • ILOp
    • ILOpCode
    • ILOpCode.Code
    • ILReader
    • KernelPanics
    • MethodBaseComparer
    • OpCodeAttribute
    • PlugInfo
    • Program
    • ScannerQueueItem
    • SZArrayImpl<T>
    • VTablesImplRefs
  • Cosmos.IL2CPU.Extensions
    • FieldExtensions
    • TypeExtensions
  • Cosmos.IL2CPU.ILOpCodes
    • Box<T>
    • NullRef
    • OpBranch
    • OpDouble
    • OpField
    • OpInt
    • OpInt64
    • OpMethod
    • OpNone
    • OpSig
    • OpSingle
    • OpString
    • OpSwitch
    • OpToken
    • OpType
    • OpVar
  • Cosmos.IL2CPU.MethodAnalysis
    • ILGroup
    • ILMethod
  • Cosmos.IL2CPU.X86.IL
    • Add
    • Add_Ovf
    • Add_Ovf_Un
    • And
    • Arglist
    • Box
    • Br
    • Branch
    • Break
    • Call
    • Calli
    • Callvirt
    • Castclass
    • Ceq
    • Cgt
    • Cgt_Un
    • Ckfinite
    • Clt
    • Clt_Un
    • Constrained
    • Conv_I
    • Conv_I1
    • Conv_I2
    • Conv_I4
    • Conv_I8
    • Conv_Ovf_I
    • Conv_Ovf_I_Un
    • Conv_Ovf_I1
    • Conv_Ovf_I1_Un
    • Conv_Ovf_I2
    • Conv_Ovf_I2_Un
    • Conv_Ovf_I4
    • Conv_Ovf_I4_Un
    • Conv_Ovf_I8
    • Conv_Ovf_I8_Un
    • Conv_Ovf_U
    • Conv_Ovf_U_Un
    • Conv_Ovf_U1
    • Conv_Ovf_U1_Un
    • Conv_Ovf_U2
    • Conv_Ovf_U2_Un
    • Conv_Ovf_U4
    • Conv_Ovf_U4_Un
    • Conv_Ovf_U8
    • Conv_Ovf_U8_Un
    • Conv_R_Un
    • Conv_R4
    • Conv_R8
    • Conv_U
    • Conv_U1
    • Conv_U2
    • Conv_U4
    • Conv_U8
    • Cpblk
    • Cpobj
    • Div
    • Div_Un
    • Dup
    • Endfilter
    • Endfinally
    • Initblk
    • Initobj
    • Isinst
    • Jmp
    • Ldarg
    • Ldarga
    • Ldc_I4
    • Ldc_I8
    • Ldc_R4
    • Ldc_R8
    • Ldelem
    • Ldelem_I
    • Ldelem_I1
    • Ldelem_I2
    • Ldelem_I4
    • Ldelem_I8
    • Ldelem_R4
    • Ldelem_R8
    • Ldelem_Ref
    • Ldelem_U1
    • Ldelem_U2
    • Ldelem_U4
    • Ldelema
    • Ldfld
    • Ldflda
    • Ldftn
    • Ldind
    • Ldlen
    • Ldloc
    • Ldloca
    • Ldnull
    • Ldobj
    • Ldsfld
    • Ldsflda
    • LdStr
    • Ldtoken
    • Ldvirtftn
    • Leave
    • Localloc
    • Mkrefany
    • Mul
    • Mul_Ovf
    • Mul_Ovf_Un
    • Neg
    • Newarr
    • Newobj
    • Nop
    • Not
    • Or
    • Pop
    • Readonly
    • Refanytype
    • Refanyval
    • Rem
    • Rem_Un
    • Ret
    • Rethrow
    • Shl
    • Shr
    • Shr_Un
    • Sizeof
    • Starg
    • Stelem
    • Stelem_I
    • Stelem_I1
    • Stelem_I2
    • Stelem_I4
    • Stelem_I8
    • Stelem_R4
    • Stelem_R8
    • Stelem_Ref
    • Stfld
    • Stind
    • Stloc
    • Stobj
    • Stsfld
    • Sub
    • Sub_Ovf
    • Sub_Ovf_Un
    • Switch
    • Throw
    • Unaligned
    • Unbox
    • Unbox_Any
    • Volatile
    • Xor
  • IL2CPU.API
    • InlineAttribute
    • LabelName
    • ObjectPointerAccess
    • ObjectUtils
    • ObjectUtils.InstanceTypeEnum
    • TargetPlatform
  • IL2CPU.API.Attribs
    • AsmLabel
    • AsmMarker
    • AsmMarker.Type
    • BootEntry
    • DebugStub
    • FieldAccess
    • FieldType
    • ForceIncludeAttribute
    • ManifestResourceStreamAttribute
    • Plug
    • PlugAssembly
    • PlugAssembly.AssemblyType
    • PlugField
    • PlugMethod

Class ILOp

Inheritance
System.Object
ILOp
Add
Add_Ovf
Add_Ovf_Un
And
Arglist
Box
Br
Branch
Break
Call
Calli
Callvirt
Castclass
Ceq
Cgt
Cgt_Un
Ckfinite
Clt
Clt_Un
Constrained
Conv_I
Conv_I1
Conv_I2
Conv_I4
Conv_I8
Conv_Ovf_I
Conv_Ovf_I_Un
Conv_Ovf_I1
Conv_Ovf_I1_Un
Conv_Ovf_I2
Conv_Ovf_I2_Un
Conv_Ovf_I4
Conv_Ovf_I4_Un
Conv_Ovf_I8
Conv_Ovf_I8_Un
Conv_Ovf_U
Conv_Ovf_U_Un
Conv_Ovf_U1
Conv_Ovf_U1_Un
Conv_Ovf_U2
Conv_Ovf_U2_Un
Conv_Ovf_U4
Conv_Ovf_U4_Un
Conv_Ovf_U8
Conv_Ovf_U8_Un
Conv_R_Un
Conv_R4
Conv_R8
Conv_U
Conv_U1
Conv_U2
Conv_U4
Conv_U8
Cpblk
Cpobj
Div
Div_Un
Dup
Endfilter
Endfinally
Initblk
Initobj
Isinst
Jmp
Ldarg
Ldarga
Ldc_I4
Ldc_I8
Ldc_R4
Ldc_R8
Ldelem
Ldelem_I
Ldelem_I1
Ldelem_I2
Ldelem_I4
Ldelem_I8
Ldelem_R4
Ldelem_R8
Ldelem_Ref
Ldelem_U1
Ldelem_U2
Ldelem_U4
Ldelema
Ldfld
Ldflda
Ldftn
Ldind
Ldlen
Ldloc
Ldloca
Ldnull
Ldobj
Ldsfld
Ldsflda
LdStr
Ldtoken
Ldvirtftn
Leave
Localloc
Mkrefany
Mul
Mul_Ovf
Mul_Ovf_Un
Neg
Newarr
Newobj
Nop
Not
Or
Pop
Readonly
Refanytype
Refanyval
Rem
Rem_Un
Ret
Rethrow
Shl
Shr
Shr_Un
Sizeof
Starg
Stelem
Stelem_I
Stelem_I1
Stelem_I2
Stelem_I4
Stelem_I8
Stelem_R4
Stelem_R8
Stelem_Ref
Stfld
Stind
Stloc
Stobj
Stsfld
Sub
Sub_Ovf
Sub_Ovf_Un
Switch
Throw
Unaligned
Unbox
Unbox_Any
Volatile
Xor
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: Cosmos.IL2CPU
Assembly: Cosmos.IL2CPU.dll
Syntax
public abstract class ILOp

Constructors

| Improve this Doc View Source

ILOp(Assembler)

Declaration
protected ILOp(Assembler aAsmblr)
Parameters
Type Name Description
Assembler aAsmblr

Fields

| Improve this Doc View Source

Assembler

Declaration
protected readonly Assembler Assembler
Field Value
Type Description
Assembler
| Improve this Doc View Source

DebugEnabled

Declaration
public bool DebugEnabled
Field Value
Type Description
System.Boolean

Methods

| Improve this Doc View Source

Align(UInt32, UInt32)

Declaration
public static uint Align(uint aSize, uint aAlign)
Parameters
Type Name Description
System.UInt32 aSize
System.UInt32 aAlign
Returns
Type Description
System.UInt32
| Improve this Doc View Source

DoNullReferenceCheck(Assembler, Boolean, Int32)

Declaration
protected static void DoNullReferenceCheck(Assembler assembler, bool debugEnabled, int stackOffsetToCheck)
Parameters
Type Name Description
Assembler assembler
System.Boolean debugEnabled
System.Int32 stackOffsetToCheck
| Improve this Doc View Source

EmitExceptionCleanupAfterCall(Assembler, UInt32, UInt32, UInt32)

Emits cleanup code for when an exception occurred inside a method call.

Declaration
public static void EmitExceptionCleanupAfterCall(Assembler aAssembler, uint aReturnSize, uint aStackSizeBeforeCall, uint aTotalArgumentSizeOfMethod)
Parameters
Type Name Description
Assembler aAssembler
System.UInt32 aReturnSize
System.UInt32 aStackSizeBeforeCall
System.UInt32 aTotalArgumentSizeOfMethod
| Improve this Doc View Source

EmitExceptionLogic(Assembler, Il2cpuMethodInfo, ILOpCode, Boolean, Action, String)

Declaration
public static void EmitExceptionLogic(Assembler aAssembler, Il2cpuMethodInfo aMethodInfo, ILOpCode aCurrentOpCode, bool aDoTest, Action aCleanup, string aJumpTargetNoException = null)
Parameters
Type Name Description
Assembler aAssembler
Il2cpuMethodInfo aMethodInfo
ILOpCode aCurrentOpCode
System.Boolean aDoTest
System.Action aCleanup
System.String aJumpTargetNoException
| Improve this Doc View Source

Execute(Il2cpuMethodInfo, ILOpCode)

Declaration
public abstract void Execute(Il2cpuMethodInfo aMethod, ILOpCode aOpCode)
Parameters
Type Name Description
Il2cpuMethodInfo aMethod
ILOpCode aOpCode
| Improve this Doc View Source

GetEBPOffsetForLocal(Il2cpuMethodInfo, Int32)

Declaration
public static uint GetEBPOffsetForLocal(Il2cpuMethodInfo aMethod, int localIndex)
Parameters
Type Name Description
Il2cpuMethodInfo aMethod
System.Int32 localIndex
Returns
Type Description
System.UInt32
| Improve this Doc View Source

GetEBPOffsetForLocalForDebugger(Il2cpuMethodInfo, Int32)

Declaration
public static uint GetEBPOffsetForLocalForDebugger(Il2cpuMethodInfo aMethod, int localIndex)
Parameters
Type Name Description
Il2cpuMethodInfo aMethod
System.Int32 localIndex
Returns
Type Description
System.UInt32
| Improve this Doc View Source

GetFieldsInfo(Type, Boolean)

Declaration
public static List<_FieldInfo> GetFieldsInfo(Type aType, bool includeStatic)
Parameters
Type Name Description
System.Type aType
System.Boolean includeStatic
Returns
Type Description
System.Collections.Generic.List<_FieldInfo>
| Improve this Doc View Source

GetLabel(Il2cpuMethodInfo)

Declaration
public static string GetLabel(Il2cpuMethodInfo aMethod)
Parameters
Type Name Description
Il2cpuMethodInfo aMethod
Returns
Type Description
System.String
| Improve this Doc View Source

GetLabel(Il2cpuMethodInfo, ILOpCode)

Declaration
public static string GetLabel(Il2cpuMethodInfo aMethod, ILOpCode aOpCode)
Parameters
Type Name Description
Il2cpuMethodInfo aMethod
ILOpCode aOpCode
Returns
Type Description
System.String
| Improve this Doc View Source

GetLabel(Il2cpuMethodInfo, Int32)

Declaration
public static string GetLabel(Il2cpuMethodInfo aMethod, int aPos)
Parameters
Type Name Description
Il2cpuMethodInfo aMethod
System.Int32 aPos
Returns
Type Description
System.String
| Improve this Doc View Source

GetLabel(MethodBase)

Declaration
public static string GetLabel(MethodBase aMethod)
Parameters
Type Name Description
System.Reflection.MethodBase aMethod
Returns
Type Description
System.String
| Improve this Doc View Source

GetStackCountForLocal(Il2cpuMethodInfo, Type)

Number of bytes required to store type on stack

Declaration
public static uint GetStackCountForLocal(Il2cpuMethodInfo aMethod, Type aField)
Parameters
Type Name Description
Il2cpuMethodInfo aMethod
System.Type aField
Returns
Type Description
System.UInt32
| Improve this Doc View Source

GetStorageSize(Type)

Declaration
protected static uint GetStorageSize(Type aType)
Parameters
Type Name Description
System.Type aType
Returns
Type Description
System.UInt32
| Improve this Doc View Source

GetTypeIDLabel(Type)

Declaration
public static string GetTypeIDLabel(Type aType)
Parameters
Type Name Description
System.Type aType
Returns
Type Description
System.String
| Improve this Doc View Source

IsByRef(Type)

Declaration
public static bool IsByRef(Type aType)
Parameters
Type Name Description
System.Type aType
Returns
Type Description
System.Boolean
| Improve this Doc View Source

IsIntegerBasedType(Type)

Check if the type is represented as a int by the CLI

Declaration
public static bool IsIntegerBasedType(Type type)
Parameters
Type Name Description
System.Type type
Returns
Type Description
System.Boolean
| Improve this Doc View Source

IsIntegralTypeOrPointer(Type)

Is the type a numeric type or a pointer

Declaration
public static bool IsIntegralTypeOrPointer(Type type)
Parameters
Type Name Description
System.Type type
Returns
Type Description
System.Boolean
| Improve this Doc View Source

IsLongBasedType(Type)

Declaration
public static bool IsLongBasedType(Type type)
Parameters
Type Name Description
System.Type type
Returns
Type Description
System.Boolean
| Improve this Doc View Source

IsObject(Type)

Declaration
public static bool IsObject(Type aPointer)
Parameters
Type Name Description
System.Type aPointer
Returns
Type Description
System.Boolean
| Improve this Doc View Source

IsPointer(Type)

Declaration
public static bool IsPointer(Type aPointer)
Parameters
Type Name Description
System.Type aPointer
Returns
Type Description
System.Boolean
| Improve this Doc View Source

IsReferenceType(Type)

Declaration
public static bool IsReferenceType(Type aType)
Parameters
Type Name Description
System.Type aType
Returns
Type Description
System.Boolean
| Improve this Doc View Source

IsSameValueType(Type, Type)

Declaration
public static bool IsSameValueType(Type aType, Type bType)
Parameters
Type Name Description
System.Type aType
System.Type bType
Returns
Type Description
System.Boolean
| Improve this Doc View Source

Jump_End(Il2cpuMethodInfo)

Declaration
protected static void Jump_End(Il2cpuMethodInfo aMethod)
Parameters
Type Name Description
Il2cpuMethodInfo aMethod
| Improve this Doc View Source

ResolveField(FieldInfo)

Declaration
public static _FieldInfo ResolveField(FieldInfo fieldInfo)
Parameters
Type Name Description
System.Reflection.FieldInfo fieldInfo
Returns
Type Description
_FieldInfo
| Improve this Doc View Source

ResolveField(Type, String, Boolean)

Declaration
public static _FieldInfo ResolveField(Type aDeclaringType, string aField, bool aOnlyInstance)
Parameters
Type Name Description
System.Type aDeclaringType
System.String aField
System.Boolean aOnlyInstance
Returns
Type Description
_FieldInfo
| Improve this Doc View Source

SignedAlign(Int32, Int32)

Declaration
public static int SignedAlign(int aSize, int aAlign)
Parameters
Type Name Description
System.Int32 aSize
System.Int32 aAlign
Returns
Type Description
System.Int32
| Improve this Doc View Source

SizeOfType(Type)

Declaration
public static uint SizeOfType(Type aType)
Parameters
Type Name Description
System.Type aType
Returns
Type Description
System.UInt32
| Improve this Doc View Source

ToString()

Declaration
public override string ToString()
Returns
Type Description
System.String
Overrides
System.Object.ToString()
| Improve this Doc View Source

TypeIsFloat(Type)

Declaration
protected static bool TypeIsFloat(Type type)
Parameters
Type Name Description
System.Type type
Returns
Type Description
System.Boolean
| Improve this Doc View Source

TypeIsSigned(Type)

Declaration
public static bool TypeIsSigned(Type aType)
Parameters
Type Name Description
System.Type aType
Returns
Type Description
System.Boolean
  • Improve this Doc
  • View Source
☀
☾
In This Article
Back to top
☀
☾