C# Class Mosa.Compiler.Framework.BaseArchitecture

Afficher le fichier Open project: tgiphil/MOSA-Project Class Usage Examples

Méthodes publiques

Méthode Description
ExtendCompilerPipeline ( CompilerPipeline compilerPipeline ) : void

Extends the pre-compiler pipeline with architecture specific compiler stages.

ExtendMethodCompilerPipeline ( CompilerPipeline methodPipeline ) : void

Requests the architecture to add architecture specific compilation stages to the pipeline. These may depend upon the current state of the pipeline.

GetCodeEmitter ( ) : BaseCodeEmitter

Gets the code emitter.

GetTypeRequirements ( MosaTypeLayout typeLayout, MosaType type, int &size, int &alignment ) : void

Gets the type memory requirements.

InsertAddInstruction ( Context context, Operand destination, Operand source1, Operand source2 ) : void

Inserts the add instruction.

InsertCallInstruction ( Context context, Operand destination ) : void

Inserts the call instruction.

InsertCompoundMoveInstruction ( BaseMethodCompiler compiler, Context context, Operand destination, Operand destinationOffset, Operand source, Operand sourceOffset, int size ) : void

Create platform compound move.

InsertExchangeInstruction ( Context context, Operand destination, Operand source ) : void

Create platform exchange registers.

InsertJumpInstruction ( Context context, BasicBlock destination ) : void

Inserts the jump instruction.

InsertJumpInstruction ( Context context, Operand destination ) : void

Create platform exchange registers.

InsertLoadInstruction ( Context context, Operand destination, Operand source, Operand offset ) : void

Inserts the load instruction.

InsertMoveInstruction ( Context context, Operand destination, Operand source ) : void

Create platform move.

InsertStoreInstruction ( Context context, Operand destination, Operand offset, Operand value ) : void

Inserts the store instruction.

InsertSubInstruction ( Context context, Operand destination, Operand source1, Operand source2 ) : void

Inserts the sub instruction.

IsInstructionMove ( BaseInstruction instruction ) : bool

Determines whether [is instruction move] [the specified instruction].

Method Details

ExtendCompilerPipeline() public abstract méthode

Extends the pre-compiler pipeline with architecture specific compiler stages.
public abstract ExtendCompilerPipeline ( CompilerPipeline compilerPipeline ) : void
compilerPipeline CompilerPipeline The pipeline to extend.
Résultat void

ExtendMethodCompilerPipeline() public abstract méthode

Requests the architecture to add architecture specific compilation stages to the pipeline. These may depend upon the current state of the pipeline.
public abstract ExtendMethodCompilerPipeline ( CompilerPipeline methodPipeline ) : void
methodPipeline CompilerPipeline The pipeline of the method compiler to add architecture specific compilation stages to.
Résultat void

GetCodeEmitter() public abstract méthode

Gets the code emitter.
public abstract GetCodeEmitter ( ) : BaseCodeEmitter
Résultat BaseCodeEmitter

GetTypeRequirements() public abstract méthode

Gets the type memory requirements.
public abstract GetTypeRequirements ( MosaTypeLayout typeLayout, MosaType type, int &size, int &alignment ) : void
typeLayout MosaTypeLayout The type layouts.
type MosaType The type.
size int Receives the memory size of the type.
alignment int Receives alignment requirements of the type.
Résultat void

InsertAddInstruction() public abstract méthode

Inserts the add instruction.
public abstract InsertAddInstruction ( Context context, Operand destination, Operand source1, Operand source2 ) : void
context Context The context.
destination Operand The destination.
source1 Operand The source1.
source2 Operand The source2.
Résultat void

InsertCallInstruction() public abstract méthode

Inserts the call instruction.
public abstract InsertCallInstruction ( Context context, Operand destination ) : void
context Context The context.
destination Operand The destination.
Résultat void

InsertCompoundMoveInstruction() public abstract méthode

Create platform compound move.
public abstract InsertCompoundMoveInstruction ( BaseMethodCompiler compiler, Context context, Operand destination, Operand destinationOffset, Operand source, Operand sourceOffset, int size ) : void
compiler BaseMethodCompiler The compiler.
context Context The context.
destination Operand The destination.
destinationOffset Operand The destination offset.
source Operand The source.
sourceOffset Operand The source offset.
size int The size.
Résultat void

InsertExchangeInstruction() public abstract méthode

Create platform exchange registers.
public abstract InsertExchangeInstruction ( Context context, Operand destination, Operand source ) : void
context Context The context.
destination Operand The destination.
source Operand The source.
Résultat void

InsertJumpInstruction() public abstract méthode

Inserts the jump instruction.
public abstract InsertJumpInstruction ( Context context, BasicBlock destination ) : void
context Context The context.
destination BasicBlock The destination.
Résultat void

InsertJumpInstruction() public abstract méthode

Create platform exchange registers.
public abstract InsertJumpInstruction ( Context context, Operand destination ) : void
context Context The context.
destination Operand The destination.
Résultat void

InsertLoadInstruction() public abstract méthode

Inserts the load instruction.
public abstract InsertLoadInstruction ( Context context, Operand destination, Operand source, Operand offset ) : void
context Context The context.
destination Operand The destination.
source Operand The source.
offset Operand The offset.
Résultat void

InsertMoveInstruction() public abstract méthode

Create platform move.
public abstract InsertMoveInstruction ( Context context, Operand destination, Operand source ) : void
context Context The context.
destination Operand The destination.
source Operand The source.
Résultat void

InsertStoreInstruction() public abstract méthode

Inserts the store instruction.
public abstract InsertStoreInstruction ( Context context, Operand destination, Operand offset, Operand value ) : void
context Context The context.
destination Operand The destination.
offset Operand The offset.
value Operand The value.
Résultat void

InsertSubInstruction() public abstract méthode

Inserts the sub instruction.
public abstract InsertSubInstruction ( Context context, Operand destination, Operand source1, Operand source2 ) : void
context Context The context.
destination Operand The destination.
source1 Operand The source1.
source2 Operand The source2.
Résultat void

IsInstructionMove() public abstract méthode

Determines whether [is instruction move] [the specified instruction].
public abstract IsInstructionMove ( BaseInstruction instruction ) : bool
instruction BaseInstruction The instruction.
Résultat bool