aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorNicolas Geoffray <nicolas.geoffray@lip6.fr>2011-11-10 23:37:56 +0000
committerNicolas Geoffray <nicolas.geoffray@lip6.fr>2011-11-10 23:37:56 +0000
commit54d5df9f5193c0a32f933669136e62711304cc27 (patch)
treea9bbf73e368a5ad8f8bf38355ecc3b43fc20cbed /docs
parent57c68f972cbc97c220989167bed6b5ef902c56df (diff)
downloadexternal_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.html31
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>