C# 클래스 Mosa.Compiler.Framework.BaseArchitecture

파일 보기 프로젝트 열기: tgiphil/MOSA-Project 1 사용 예제들

공개 메소드들

메소드 설명
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].

메소드 상세

ExtendCompilerPipeline() 공개 추상적인 메소드

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

ExtendMethodCompilerPipeline() 공개 추상적인 메소드

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.
리턴 void

GetCodeEmitter() 공개 추상적인 메소드

Gets the code emitter.
public abstract GetCodeEmitter ( ) : BaseCodeEmitter
리턴 BaseCodeEmitter

GetTypeRequirements() 공개 추상적인 메소드

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.
리턴 void

InsertAddInstruction() 공개 추상적인 메소드

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.
리턴 void

InsertCallInstruction() 공개 추상적인 메소드

Inserts the call instruction.
public abstract InsertCallInstruction ( Context context, Operand destination ) : void
context Context The context.
destination Operand The destination.
리턴 void

InsertCompoundMoveInstruction() 공개 추상적인 메소드

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.
리턴 void

InsertExchangeInstruction() 공개 추상적인 메소드

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.
리턴 void

InsertJumpInstruction() 공개 추상적인 메소드

Inserts the jump instruction.
public abstract InsertJumpInstruction ( Context context, BasicBlock destination ) : void
context Context The context.
destination BasicBlock The destination.
리턴 void

InsertJumpInstruction() 공개 추상적인 메소드

Create platform exchange registers.
public abstract InsertJumpInstruction ( Context context, Operand destination ) : void
context Context The context.
destination Operand The destination.
리턴 void

InsertLoadInstruction() 공개 추상적인 메소드

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.
리턴 void

InsertMoveInstruction() 공개 추상적인 메소드

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.
리턴 void

InsertStoreInstruction() 공개 추상적인 메소드

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.
리턴 void

InsertSubInstruction() 공개 추상적인 메소드

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.
리턴 void

IsInstructionMove() 공개 추상적인 메소드

Determines whether [is instruction move] [the specified instruction].
public abstract IsInstructionMove ( BaseInstruction instruction ) : bool
instruction BaseInstruction The instruction.
리턴 bool