Table of Contents

Interface IArchitecture<TInstruction>

Namespace
Echo.Code
Assembly
Echo.dll

Provides members for describing an instruction set.

public interface IArchitecture<TInstruction> where TInstruction : notnull

Type Parameters

TInstruction

The type of the instruction model this architecture describes.

Extension Methods

Methods

GetFlowControl(in TInstruction)

Gets attributes associated to the flow control behaviour of the provided instruction.

InstructionFlowControl GetFlowControl(in TInstruction instruction)

Parameters

instruction TInstruction

The instruction to get the attributes from.

Returns

InstructionFlowControl

The flow control attributes.

GetOffset(in TInstruction)

Gets the offset of an instruction.

long GetOffset(in TInstruction instruction)

Parameters

instruction TInstruction

The instruction to get the offset from.

Returns

long

The offset.

GetReadVariables(in TInstruction, ICollection<IVariable>)

Gets a collection of variables that an instruction reads from.

void GetReadVariables(in TInstruction instruction, ICollection<IVariable> variablesBuffer)

Parameters

instruction TInstruction

The instruction to get the variables from.

variablesBuffer ICollection<IVariable>

The output buffer to add the read variables into.

GetSize(in TInstruction)

Gets the size in bytes of an instruction.

int GetSize(in TInstruction instruction)

Parameters

instruction TInstruction

The instruction to measure.

Returns

int

The size.

GetStackPopCount(in TInstruction)

Gets a value indicating the number of values an instruction pops from the stack.

int GetStackPopCount(in TInstruction instruction)

Parameters

instruction TInstruction

The instruction to get the stack pop count from.

Returns

int

The number of stack slots the instruction pops.

GetStackPushCount(in TInstruction)

Gets a value indicating the number of values an instruction pushes on the stack.

int GetStackPushCount(in TInstruction instruction)

Parameters

instruction TInstruction

The instruction to get the stack push count from.

Returns

int

The number of stack slots the instruction pushes.

GetWrittenVariables(in TInstruction, ICollection<IVariable>)

Gets a collection of variables that an instruction writes to.

void GetWrittenVariables(in TInstruction instruction, ICollection<IVariable> variablesBuffer)

Parameters

instruction TInstruction

The instruction to get the variables from.

variablesBuffer ICollection<IVariable>

The output buffer to add the written variables into.