JetBrains / Nitra

Public Nitra repository
Other
554 stars 43 forks source link

Portability, Threading, Memory Access Schematics & GC #15

Open sirinath opened 9 years ago

sirinath commented 9 years ago

This again is relevant for the back end phase.

When generating / targeting native code then memory access, pooling, memory models and management will become very important. Since .net is used to bootstrap this can easily be forgotten or get the back seat. E.g. if you are trying to implement C/C++/Rust like schematics on Nitra.

Also in GC languages you might need to consider the GC schematics. E.g. Reference counted, mark and sweep, other GC schemes and algorithms. Especially when you are looking to generate / target the code to native. If you targeting a VM of course you use what the VM provides.

So you might need to pay special attention to portability issues. One of the main concern being this.

sirinath commented 9 years ago

Also this needs to be able to define:

Also ability to generate custom VMs using AST interpreter adhering to different computing, threading, memory models and IRs.