X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fruntime;h=ecae4673a7ecfed7c3f039d6f87383d906dc18c0;hb=b4ff470fdaf0e846080d3fc4cf99c4e1102a96bb;hp=908600e8f84b648122fe012f27724ea805dd61b9;hpb=d7bfce6071b0e318c2bb04cb88b198eda97335b4;p=mono.git diff --git a/doc/runtime b/doc/runtime index 908600e8f84..ecae4673a7e 100644 --- a/doc/runtime +++ b/doc/runtime @@ -17,49 +17,21 @@ Currently we are using the Bohem conservative garbage - collector, but we working on incorporating the ORP GC engine. + collector. -** Executing MSIL/CIL images + The Mono runtime can be used as a stand-alone process, or it + can be embedded into applications (see + the documentation in mono/samples/embed for more details). - The code will load an executable and map the references to - external assemblies to our own version of the assemblies on - Linux. + Embedding the Mono runtime allows applications to be extended + in C# while reusing all of the existing C and C++ code. - Our roadmap looks like this, this has been updated as of - Dec 18, 2001: + Paolo Molaro did a presentation on the current JIT engine and + the new JIT engine. You can find his slides + here - - - A setup similar to the Kaffe JIT engine will be used to - layout the code to support non-IA32 architectures. Our work - will be focused on getting a IA32 version running first. - - The JIT engine works on Linux and Win32, although you - will need to install the CygWin32 development tools to get a - Unix-like compilation environment (mostly we use GNU make in - a few of the makefiles). - -** JIT Engine (updated, April 21, 2002) +** Current JIT Engine (updated, July 8th, 2002) The JIT engine uses a code-generator generator approach for compilation. Given the properties of CIL byte codes, we can @@ -80,6 +52,10 @@ Although compilers typically do constant folding, the combination of inlining with constant folding gives some very good results. + + * Linear scan register allocation. In the past, + register allocation was our achilles heel, but now + we have left this problem behind. There are a couple of books that deal with this technique: "A @@ -98,15 +74,13 @@ -** Future plans - - We are evaluating the future directions for the JIT engine: - both from our needs (optimizations like inlining, better register allocation, - instruction scheduling, and porting to other CPUs). +** New JIT engine. - We have not yet decided how we will evolve the JIT engine. We - might just upgrade our current architecture, and provide optimizations as - an extra layer. + We are working on a new JIT engine. The new JIT engine + focuses on portability and in two intermediate representations + that simplify the development of optimizations. This together + with the Ahead-of-Time compilation will allow developers to + deploy applications that match the speed of natively compiled code. ** Garbage Collection