C# Class Mosa.Compiler.Framework.BaseCompiler

Base class for just-in-time and ahead-of-time compilers, which use the Mosa.Compiler.Framework framework.
Show file Open project: tgiphil/MOSA-Project Class Usage Examples

Public Methods

Method Description
CompileMethod ( MosaMethod method, BasicBlocks basicBlocks, int threadID ) : void

Compiles the method.

CreateLinkerMethod ( string methodName ) : MosaMethod

Compiles the linker method.

ExecuteCompile ( ) : void
ExecuteThreadedCompile ( int threads ) : void
ExtendCompilerSetup ( ) : void

Extends the compiler setup.

Initialize ( MosaCompiler compiler ) : void

Protected Methods

Method Description
CreateMethodCompiler ( MosaMethod method, BasicBlocks basicBlocks, int threadID ) : BaseMethodCompiler

Creates a method compiler

ExportCounters ( ) : void
GeInternalRuntimeType ( ) : MosaType
GetPlatformInternalRuntimeType ( ) : MosaType
NewCompilerTraceEvent ( CompilerEvent compilerEvent, string message ) : void

Traces the specified compiler event.

NewCompilerTraceEvent ( CompilerEvent compilerEvent, string message, int threadID ) : void

Traces the specified compiler event.

UpdateCounter ( string name, int count ) : void

Updates the counter.

Private Methods

Method Description
CompileWorker ( int threadID ) : void
ExecuteCompilePass ( ) : void
ExecuteThreadedCompilePass ( int threads ) : void
PostCompile ( ) : void

Executes the compiler post compiler stages.

The method iterates the compilation stage chain and runs each stage on the input.

PreCompile ( ) : void

Executes the compiler pre compiler stages.

The method iterates the compilation stage chain and runs each stage on the input.

Method Details

CompileMethod() public method

Compiles the method.
public CompileMethod ( MosaMethod method, BasicBlocks basicBlocks, int threadID ) : void
method MosaMethod The method.
basicBlocks BasicBlocks The basic blocks.
threadID int The thread identifier.
return void

CreateLinkerMethod() public method

Compiles the linker method.
public CreateLinkerMethod ( string methodName ) : MosaMethod
methodName string Name of the method.
return MosaMethod

CreateMethodCompiler() protected abstract method

Creates a method compiler
protected abstract CreateMethodCompiler ( MosaMethod method, BasicBlocks basicBlocks, int threadID ) : BaseMethodCompiler
method MosaMethod The method to compile.
basicBlocks BasicBlocks The basic blocks.
threadID int The thread identifier.
return BaseMethodCompiler

ExecuteCompile() public method

public ExecuteCompile ( ) : void
return void

ExecuteThreadedCompile() public method

public ExecuteThreadedCompile ( int threads ) : void
threads int
return void

ExportCounters() protected method

protected ExportCounters ( ) : void
return void

ExtendCompilerSetup() public method

Extends the compiler setup.
public ExtendCompilerSetup ( ) : void
return void

GeInternalRuntimeType() protected method

protected GeInternalRuntimeType ( ) : MosaType
return MosaType

GetPlatformInternalRuntimeType() protected method

protected GetPlatformInternalRuntimeType ( ) : MosaType
return MosaType

Initialize() public method

public Initialize ( MosaCompiler compiler ) : void
compiler MosaCompiler
return void

NewCompilerTraceEvent() protected method

Traces the specified compiler event.
protected NewCompilerTraceEvent ( CompilerEvent compilerEvent, string message ) : void
compilerEvent CompilerEvent The compiler event.
message string The message.
return void

NewCompilerTraceEvent() protected method

Traces the specified compiler event.
protected NewCompilerTraceEvent ( CompilerEvent compilerEvent, string message, int threadID ) : void
compilerEvent CompilerEvent The compiler event.
message string The message.
threadID int
return void

UpdateCounter() protected method

Updates the counter.
protected UpdateCounter ( string name, int count ) : void
name string The name.
count int The count.
return void