Class ILOpCode
Inheritance
System.Object
ILOpCode
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)
System.Object.ToString()
Assembly: Cosmos.IL2CPU.dll
Syntax
public abstract class ILOpCode
Constructors
|
Improve this Doc
View Source
ILOpCode(ILOpCode.Code, Int32, Int32, _ExceptionRegionInfo)
Declaration
protected ILOpCode(ILOpCode.Code aOpCode, int aPos, int aNextPos, _ExceptionRegionInfo aCurrentExceptionRegion)
Parameters
Fields
|
Improve this Doc
View Source
CurrentExceptionRegion
Declaration
public readonly _ExceptionRegionInfo CurrentExceptionRegion
Field Value
|
Improve this Doc
View Source
NextPosition
Declaration
public readonly int NextPosition
Field Value
Type |
Description |
System.Int32 |
|
|
Improve this Doc
View Source
OpCode
Declaration
public readonly ILOpCode.Code OpCode
Field Value
|
Improve this Doc
View Source
Position
Declaration
public readonly int Position
Field Value
Type |
Description |
System.Int32 |
|
|
Improve this Doc
View Source
StackOffsetBeforeExecution
Declaration
public uint? StackOffsetBeforeExecution
Field Value
Type |
Description |
System.Nullable<System.UInt32> |
|
Properties
|
Improve this Doc
View Source
StackPopTypes
Declaration
public Type[] StackPopTypes { get; set; }
Property Value
Type |
Description |
System.Type[] |
|
|
Improve this Doc
View Source
StackPushTypes
Declaration
public Type[] StackPushTypes { get; set; }
Property Value
Type |
Description |
System.Type[] |
|
Methods
|
Improve this Doc
View Source
DoInitStackAnalysis(MethodBase)
Declaration
protected virtual void DoInitStackAnalysis(MethodBase aMethod)
Parameters
Type |
Name |
Description |
System.Reflection.MethodBase |
aMethod |
|
|
Improve this Doc
View Source
DoInterpretStackTypes()
Based on updated StackPopTypes, try to update
Declaration
public abstract void DoInterpretStackTypes()
|
Improve this Doc
View Source
DoStackAnalysis(Stack<Type>, ref UInt32)
Declaration
public void DoStackAnalysis(Stack<Type> aStack, ref uint aStackOffset)
Parameters
Type |
Name |
Description |
System.Collections.Generic.Stack<System.Type> |
aStack |
|
System.UInt32 |
aStackOffset |
|
|
Improve this Doc
View Source
GetNextOpCodePositions()
Return the position of all instructions which can be reached from this one and if they should be part of the current group or not
Declaration
public virtual List<(bool newGroup, int Position)> GetNextOpCodePositions()
Returns
Type |
Description |
System.Collections.Generic.List<System.ValueTuple<System.Boolean, System.Int32>> |
|
|
Improve this Doc
View Source
GetNumberOfStackPops(MethodBase)
Returns the number of items popped from the stack. This is the logical stack, not physical items.
So a 100byte struct is 1 pop, even though it might be multiple 32-bit or 64-bit words on the stack.
Declaration
public abstract int GetNumberOfStackPops(MethodBase aMethod)
Parameters
Type |
Name |
Description |
System.Reflection.MethodBase |
aMethod |
|
Returns
Type |
Description |
System.Int32 |
|
|
Improve this Doc
View Source
GetNumberOfStackPushes(MethodBase)
Returns the number of items pushed to the stack. This is the logical stack, not physical items.
So a 100byte struct is 1 pop, even though it might be multiple 32-bit or 64-bit words on the stack.
Declaration
public abstract int GetNumberOfStackPushes(MethodBase aMethod)
Parameters
Type |
Name |
Description |
System.Reflection.MethodBase |
aMethod |
|
Returns
Type |
Description |
System.Int32 |
|