This project is read-only.

IL2CPU vs NGEN or JIT COMPILER

Topics: Compiler
Jul 14, 2012 at 9:45 PM

Hi, I'm new to COSMOS and its architecture but i'm wondering why a new compiler had been written to compile to specific cpu architecture (now only x86 sypported).

It must there be something done by Microsoft that compiles IL code to native machine code somewhere, cause this is how .NET works. 

Is it possible to rely on these compilers so we have access to full .NET features all in one while using COSMOS? If not, why?

Thank You.

Jul 15, 2012 at 2:57 AM
heartbreaka wrote:

Hi, I'm new to COSMOS and its architecture but i'm wondering why a new compiler had been written to compile to specific cpu architecture (now only x86 sypported).

It must there be something done by Microsoft that compiles IL code to native machine code somewhere, cause this is how .NET works. 

Is it possible to rely on these compilers so we have access to full .NET features all in one while using COSMOS? If not, why?

Thank You.

ILcode is converted to native code during runtime and with NGEN. Sill even though it is converted to native code during runtime and with NGEN you can not boot the native code because they all require win32 calls. Il2CPU converts MSIL into native code but also relies on 'plugs' to fill in the gaps that require win32 calls. 

Jul 16, 2012 at 10:07 PM
On 7/16/2012 5:05 PM, heartbreaka wrote:
> It must there be something done by Microsoft that compiles IL code to
> native machine code somewhere, cause this is how .NET works.
>
> Is it possible to rely on these compilers so we have access to full .NET
> features all in one while using COSMOS? If not, why?

1) .NET doesnt have a true compiler, its a hybrid only the fly compiler.
There is NGEN though.

2) Anything .NET runs on windows. So since you cant run a C or Delphi
app on raw hardware, same would apply.

3) We have plans to be more than just exes, but also control execution
in a different manner, which cannot be done with an app compiler.
Jul 17, 2012 at 8:01 AM
NGEN is not a full AOT-compiler: it just does some preparing work for the JIT.


On Tue, Jul 17, 2012 at 12:05 AM, kudzu <notifications@codeplex.com> wrote:

From: kudzu

On 7/16/2012 5:05 PM, heartbreaka wrote:
> It must there be something done by Microsoft that compiles IL code to
> native machine code somewhere, cause this is how .NET works.
>
> Is it possible to rely on these compilers so we have access to full .NET
> features all in one while using COSMOS? If not, why?

1) .NET doesnt have a true compiler, its a hybrid only the fly compiler.
There is NGEN though.

2) Anything .NET runs on windows. So since you cant run a C or Delphi
app on raw hardware, same would apply.

3) We have plans to be more than just exes, but also control execution
in a different manner, which cannot be done with an app compiler.

Read the full discussion online.

To add a post to this discussion, reply to this email (Cosmos@discussions.codeplex.com)

To start a new discussion for this project, email Cosmos@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe or change your settings on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com