diff options
author | Nicolas Geoffray <nicolas.geoffray@lip6.fr> | 2011-11-10 23:37:56 +0000 |
---|---|---|
committer | Nicolas Geoffray <nicolas.geoffray@lip6.fr> | 2011-11-10 23:37:56 +0000 |
commit | 54d5df9f5193c0a32f933669136e62711304cc27 (patch) | |
tree | a9bbf73e368a5ad8f8bf38355ecc3b43fc20cbed /docs | |
parent | 57c68f972cbc97c220989167bed6b5ef902c56df (diff) | |
download | external_llvm-54d5df9f5193c0a32f933669136e62711304cc27.zip external_llvm-54d5df9f5193c0a32f933669136e62711304cc27.tar.gz external_llvm-54d5df9f5193c0a32f933669136e62711304cc27.tar.bz2 |
Add blurb for VMKit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144336 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r-- | docs/ReleaseNotes.html | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index f62466c..16fb133 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -247,12 +247,31 @@ Release Notes</a>.</h1> <div> -<p>The <a href="http://vmkit.llvm.org/">VMKit project</a> is an implementation - of a Java Virtual Machine (Java VM or JVM) that uses LLVM for static and - just-in-time compilation. As of LLVM 3.0, VMKit now supports generational - garbage collectors. The garbage collectors are provided by the MMTk - framework, and VMKit can be configured to use one of the numerous implemented - collectors of MMTk.</p> + <p>The <a href="http://vmkit.llvm.org/">VMKit project</a> is an + implementation of a Java Virtual Machine (Java VM or JVM) that uses LLVM for + static and just-in-time compilation. + + <p>In the LLVM 3.0 time-frame, VMKit has had significant improvements on both + runtime and startup performance:</p> + + <ul> + <li>Precompilation: by compiling ahead of time a small subset of Java's core + library, the startup performance have been highly optimized to the point that + running a 'Hello World' program takes less than 30 milliseconds.</li> + + <li>Customization: by customizing virtual methods for individual classes, + the VM can statically determine the target of a virtual call, and decide to + inline it.</li> + + <li>Inlining: the VM does more inlining than it did before, by allowing more + bytecode instructions to be inlined, and thanks to customization. It also + inlines GC barriers, and object allocations.</li> + + <li>New exception model: the generated code for a method that does not do + any try/catch is not penalized anymore by the eventuality of calling a + method that throws an exception. Instead, the method that throws the + exception jumps directly to the method that could catch it.</li> + </ul> </div> |