[vmkit-commits] [vmkit] r181314 - updated website
Peter Senna Tschudin
peter.senna at gmail.com
Tue May 7 07:09:21 PDT 2013
Author: peter.senna
Date: Tue May 7 09:08:58 2013
New Revision: 181314
URL: http://llvm.org/viewvc/llvm-project?rev=181314&view=rev
Log:
updated website
Added:
vmkit/trunk/www/lip6.png
vmkit/trunk/www/tuto/
vmkit/trunk/www/tuto/VMKit_pres_eng.pdf
vmkit/trunk/www/tuto/VMKit_pres_fr.pdf
vmkit/trunk/www/tuto/VMKit_tutorial.pdf
vmkit/trunk/www/tuto/VMKit_tutorial.tar.gz
vmkit/trunk/www/tuto/VMKit_tutorial_eng.pdf
vmkit/trunk/www/tuto/toy-vm-base.tar.gz
vmkit/trunk/www/tutorial.html
Modified:
vmkit/trunk/www/get_started.html
vmkit/trunk/www/index.html
vmkit/trunk/www/menu.html.incl
Modified: vmkit/trunk/www/get_started.html
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/get_started.html?rev=181314&r1=181313&r2=181314&view=diff
==============================================================================
--- vmkit/trunk/www/get_started.html (original)
+++ vmkit/trunk/www/get_started.html Tue May 7 09:08:58 2013
@@ -21,52 +21,48 @@ options. This should get you up and run
If you like what you see, please consider <a href="get_involved.html">getting
involved</a> with the vmkit community.</p>
-
-<h2>A word of warning</h2>
-
-<p>While this work aims to provide a fully functional JVM, it
-is <em>still early work</em> and is under heavy development.
-<p>Some of the common missing pieces in vmkit/llvm are:</p>
-
-<ol>
- <li> Mixed interpretation/compilation.</li>
- <li> Adaptive optimization.</li>
-</ol>
-
<h2 id="build">Building vmkit / working with the code</h2>
<p>If you would like to check out and build the project, the current scheme
is:</p>
+<p><b>Prerequisites</b><br/>
+You will have to install a C++ compiler and Java 1.5 or more in order to
+compile vmkit2</p>
+
<ol>
- <li>Checkout <a href="http://www.llvm.org/docs/GettingStarted.html#checkout">
- LLVM</a> and
- <a href="http://clang.llvm.org/get_started.html">Clang</a> from SVN head.
+ <li>Download <a href="http://llvm.org/releases/3.2/llvm-3.2.src.tar.gz">
+ LLVM 3.2</a> and
+ <a href="http://llvm.org/releases/3.2/clang-3.2.src.tar.gz">Clang 3.2</a>
+ source code.
</li>
<ul>
- <li><tt>svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm</tt></li>
- <li><tt>cd llvm/tools</li></tt>
- <li><tt>svn co http://llvm.org/svn/llvm-project/cfe/trunk clang</tt></li>
- <li><tt>cd ..</tt></li>
- <li><tt>./configure; make ENABLE_OPTIMIZED=1</tt></li>
- </ul>
-
-
- <li><a href="ftp://ftp.gnu.org/gnu/classpath/classpath-0.97.2.tar.gz">Download
- GNU Classpath 0.97.2</a>:</li>
-
- <ul>
- <li><tt>tar zxvf classpath-0.97.2.tar.gz</tt></li>
- <li><tt>cd classpath-0.97.2</tt></li>
- <li><tt>./configure --disable-plugin --disable-examples --disable-Werror; make</tt></li>
+ <li><tt>tar zxvf llvm-3.2.src.tar.gz</tt></li>
+ <li><tt>cd llvm-3.2.src/tools</li></tt>
+ <li><tt>tar zxvf ../../clang-3.2.src.tar.gz</tt></li>
+ <li><tt>mv clang-3.2.src clang</li></tt>
+ <li><tt>cd ..</li></tt>
+ <li><tt>./configure --enable-optimized; make</tt></li>
+ </ul>
+
+ <p><b>Skip the Classpath steps if you plan to use OpenJDK instead.</b><br/>
+ <li><a href="ftp://ftp.gnu.org/gnu/classpath/classpath-0.99.tar.gz">Download
+ GNU Classpath 0.99</a>:</li>
+
+ <ul>
+ <li><tt>tar zxvf classpath-0.99.tar.gz</tt></li>
+ <li><tt>cd classpath-0.99</tt></li>
+ <li><tt>./configure --disable-plugin --disable-examples --disable-Werror;
+ make</tt></li>
<li><tt>cd lib</li></tt>
<li><tt>If you are running on Linux:</li></tt>
<ul>
<li><tt>ln -s ../native/jni/gtk-peer/.libs/libgtkpeer.so;</li></tt>
<li><tt>ln -s ../native/jni/gconf-peer/.libs/libgconfpeer.so;</li></tt>
<li><tt>ln -s ../native/jni/java-io/.libs/libjavaio.so;</li></tt>
- <li><tt>ln -s ../native/jni/java-lang/.libs/libjavalangreflect.so;</li></tt>
+ <li><tt>ln -s ../native/jni/java-lang/.libs/libjavalangreflect.so;</li>
+ </tt>
<li><tt>ln -s ../native/jni/java-lang/.libs/libjavalang.so;</li></tt>
<li><tt>ln -s ../native/jni/java-net/.libs/libjavanet.so;</li></tt>
<li><tt>ln -s ../native/jni/java-nio/.libs/libjavanio.so;</li></tt>
@@ -77,7 +73,8 @@ is:</p>
<li><tt>ln -s ../native/jni/gtk-peer/.libs/libgtkpeer.dylib;</li></tt>
<li><tt>ln -s ../native/jni/gconf-peer/.libs/libgconfpeer.dylib;</li></tt>
<li><tt>ln -s ../native/jni/java-io/.libs/libjavaio.dylib;</li></tt>
- <li><tt>ln -s ../native/jni/java-lang/.libs/libjavalangreflect.dylib;</li></tt>
+ <li><tt>ln -s ../native/jni/java-lang/.libs/libjavalangreflect.dylib;
+ </li></tt>
<li><tt>ln -s ../native/jni/java-lang/.libs/libjavalang.dylib;</li></tt>
<li><tt>ln -s ../native/jni/java-net/.libs/libjavanet.dylib;</li></tt>
<li><tt>ln -s ../native/jni/java-nio/.libs/libjavanio.dylib;</li></tt>
@@ -87,41 +84,59 @@ is:</p>
<li>Checkout vmkit:</li>
<ul>
- <li><tt>svn co http://llvm.org/svn/llvm-project/vmkit/trunk vmkit</tt></li>
-
+ <li><tt>svn co http://llvm.org/svn/llvm-project/vmkit/trunk vmkit</tt></li>
</ul>
+
<li>Configure vmkit:</li>
<ul>
- <li><tt>./configure </tt></li>
- <dl>
- <dt><tt>--with-llvmsrc=<directory></tt></dt>
- <dd>Tell vmkit where the LLVM source tree is located.</dd>
- <dt><br/><tt>--with-llvmobj=<directory></tt></dt>
- <dd>Tell vmkit where the LLVM object tree is located.</dd>
- <dt><br/><tt>--with-gnu-classpath-glibj=<file or directory></tt></dt>
- <dd>Tell vmkit where GNU Classpath glibj.zip is located.</dd>
- <dt><br/><tt>--with-gnu-classpath-libs=<directory></tt></dt>
- <dd>Tell vmkit where GNU Classpath libs are located.</dd>
- <dt><br/><tt>--with-mmtk-plan=</tt> </dt>
+ <li><tt>./configure </tt></li>
+ <dl>
+ <dt><tt>--with-llvm-config-path=<path/to/llvm-config></tt></dt>
+ <dd>Tell vmkit where the llvm-config binary is located.</dd>
+ <dt><br/><tt>--with-mmtk-plan=</tt> </dt>
<dd>
+ <ul>
+ <li><tt>org.mmtk.plan.marksweep.MS (default)</tt></li>
+ <li><tt>org.mmtk.plan.copyms.CopyMS</tt></li>
+ <li><tt>org.mmtk.plan.semispace.SS</tt></li>
+ <li><tt>org.mmtk.plan.immix.Immix</tt></li>
+ <li><tt>org.mmtk.plan.generational.marksweep.GenMS</tt></li>
+ <li><tt>org.mmtk.plan.generational.copying.GenCopy</tt></li>
+ <li><tt>org.mmtk.plan.generational.immix.GenImmix</tt></li>
+ </ul>
+ </dd>
<ul>
- <li><tt>org.mmtk.plan.marksweep.MS (default)</tt></li>
- <li><tt>org.mmtk.plan.copyms.CopyMS</tt></li>
- <li><tt>org.mmtk.plan.semispace.SS</tt></li>
- <li><tt>org.mmtk.plan.immix.Immix</tt></li>
- <li><tt>org.mmtk.plan.generational.marksweep.GenMS</tt></li>
- <li><tt>org.mmtk.plan.generational.copying.GenCopy</tt></li>
- <li><tt>org.mmtk.plan.generational.immix.GenImmix</tt></li>
+ <li>
+ <p>you can use GNU Classpath by configuring the following :</p>
+ <dt>
+ <tt>--with-gnu-classpath-glibj=<path/to/file/glibj.zip></tt>
+ </dt>
+ <dd>Tell vmkit where GNU Classpath glibj.zip is located.</dd>
+ <br/>
+ <dt>
+ <tt>--with-gnu-classpath-libs=<path/to/libs/directory></tt>
+ </dt>
+ <dd>Tell vmkit where GNU Classpath libs are located.</dd>
+ </li>
+ <li>
+ <p>or OpenJDK by configuring :</p>
+ <dt>
+ <tt>--with-classpath-impl=openjdk</tt>
+ </dt>
+ <dd>Tell vmkit to use OpenJDK classpath implementation.</dd>
+ <br/>
+ <dt>
+ <tt>--with-openjdk-path=<directory></tt>
+ </dt>
+ <dd>Tell vmkit where OpenJDK is located.</dd>
+ </li>
</ul>
- </dd>
- </dl>
-
+ </dl>
</ul>
<li>Build vmkit:</li>
<ul>
- <li><tt>cd vmkit</tt></li>
- <li><tt>make ENABLE_OPTIMIZED=1</tt> (this will give you a release build)</li>
+ <li><tt>make</tt> (this will give you a release build)</li>
</ul>
<li>Try it out: (assuming vmkit/Release+Asserts/bin is in your path)</li>
@@ -130,7 +145,6 @@ is:</p>
<li><tt>j3 HelloWorld</tt></li>
</ul>
</ol>
-
</div>
</body>
</html>
Modified: vmkit/trunk/www/index.html
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/index.html?rev=181314&r1=181313&r2=181314&view=diff
==============================================================================
--- vmkit/trunk/www/index.html (original)
+++ vmkit/trunk/www/index.html Tue May 7 09:08:58 2013
@@ -14,36 +14,52 @@
<!--*********************************************************************-->
<h1>VMKit: a substrate for virtual machines</h1>
<!--*********************************************************************-->
-
- <p>The VMKit project is a framework for building virtual machines. It uses
- <a href="http://llvm.org">LLVM</a> for compiling and optimizing high-level
- languages to machine code, and <a href="http://jikesrvm.org/MMTk">MMTk</a>
- to manage memory. J3 is an implementation of a JVM with VMKit.
- You can <a href="get_started.html">get and build</a> the source of J3
- today.</p>
-
+
+ <p>Current MREs are monolithic. Extending them to propose new features or
+ reusing them to execute new languages is difficult. VMKit is a library
+ that eases the development of new MREs and the process of experimenting
+ with new mechanisms inside MREs. VMKit provides the basic components of
+ MREs: a JIT compiler, a GC, and a thread manager.</p>
+
+ <p>VMKit relies on <a href="http://llvm.org">LLVM</a> for compilation and
+ <a href="http://jikesrvm.org/MMTk">MMTk</a> to manage memory.
+ Currently, a full Java virtual machine called J3 is distributed with VMKit.
+
<!--=====================================================================-->
<h2 id="goals">Features</h2>
<!--=====================================================================-->
-
- <p>VMKit provides the following features:</p>
-
- <p><b>End-User Features</a></b>:</p>
-
+ <p>For the end user, VMKit provides:
<ul>
- <li>Precise garbage collection.</li>
- <li>Just-in-Time and Ahead-of-Time compilation.</li>
- <li>Portable on many architectures (x86, x64, ppc32, ppc64, arm).</li>
- </ul>
+ <li>Precise garbage collection.
+ <li>Just-in-Time and Ahead-of-Time compilation.
+ <li>Portable on many architectures (x86, x64, ppc32, ppc64, arm).
+ </ul></p>
- <p><b>Developer Features</a></b>:</p>
+ <p>For the MRE developer, VMKit provides:
+ <ul>
+ <li>Relatively small code base (~ 20k loc per VM)
+ <li>Infrastructure for virtual machine research and development
+ </ul></p>
+
+ <!--=====================================================================-->
+ <h2 id="goals">Current Status</h2>
+ <!--=====================================================================-->
+ <p>VMKit currently has a decent implementation of a JVM called J3. It
+ executes large projects (e.g. OSGi Felix, Tomcat, Eclipse) and the DaCapo
+ benchmarks. A R virtual machine is currently under heavy development.</p>
+
+ <p>J3 has been tested on Linux/x64, Linux/x86, Linux/ppc32, MacOSX/x64,
+ MacOSX/x86, MacOSX/ppc32. The JVM may work on ppc64. Support for Windows has
+ not been investigated.</p>
+ <p>While this work aims to provide a fully functional JVM, it is still early
+ work and is under heavy development. Some of the common missing pieces in
+ vmkit/llvm are:
<ul>
- <li>Relatively small code base (~ 20k loc per VM)</li>
- <li>Infrastructure for running multiple VM/applications in a single
- process</li>
- <li>Infrastructure for virtual machine research and development</li>
- </ul>
+ <li>Mixed interpretation/compilation.
+ <li>Adaptive optimization.
+ </ul></p>
+
<!--=====================================================================-->
<h2>Why?</h2>
@@ -106,6 +122,23 @@
involved in the VMKit community</a>. Currently, VMKit is tightly
integrated into the LLVM community. You can sign up for the LLVM mailing
list to ask and learn about how the project works.</p>
+
+ <p>The project VMKit2, sponsored by Inria and LIP6, was a fork of VMKit
+ project that was recently integrated back into mainstream VMKit.</p>
+
+ <table cellpadding="0" cellspacing="0" width="100%">
+ <tbody><tr>
+ <td valign="middle" align="center" width="25%">
+ <a href="http://www.inria.fr">
+ <img border="0" src="http://www.inria.fr/var/inria/storage/images/medias/inria/images-corps/logo-inria-institutionnel-couleur/410230-1-fre-FR/logo-inria-institutionnel-couleur.jpg" height="80" alt="INRIA"></a>
+ </td>
+ <td valign="middle" align="center" width="50%"></td>
+ <td valign="middle" align="center" width="25%">
+ <a href="http://www.lip6.fr">
+ <img border="0" src="lip6.png" height="70" alt="Laboratoire d'Informatique de Paris6"></a>
+ </td>
+ </tr></tbody>
+ </table>
</div>
</body>
</html>
Added: vmkit/trunk/www/lip6.png
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/lip6.png?rev=181314&view=auto
==============================================================================
Binary files vmkit/trunk/www/lip6.png (added) and vmkit/trunk/www/lip6.png Tue May 7 09:08:58 2013 differ
Modified: vmkit/trunk/www/menu.html.incl
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/menu.html.incl?rev=181314&r1=181313&r2=181314&view=diff
==============================================================================
--- vmkit/trunk/www/menu.html.incl (original)
+++ vmkit/trunk/www/menu.html.incl Tue May 7 09:08:58 2013
@@ -8,9 +8,8 @@
<a href="/index.html">About</a>
<a href="/get_started.html">Get Started</a>
<a href="/get_involved.html">Get Involved</a>
- <a href="/OpenProjects.html">Open Projects</a>
+ <a href="/tutorial.html">Tutorial</a>
<a href="/pubs.html">Publications</a>
- <a href="/releases/index.html">Releases</a>
</div>
<div class="submenu">
Added: vmkit/trunk/www/tuto/VMKit_pres_eng.pdf
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/tuto/VMKit_pres_eng.pdf?rev=181314&view=auto
==============================================================================
Binary files vmkit/trunk/www/tuto/VMKit_pres_eng.pdf (added) and vmkit/trunk/www/tuto/VMKit_pres_eng.pdf Tue May 7 09:08:58 2013 differ
Added: vmkit/trunk/www/tuto/VMKit_pres_fr.pdf
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/tuto/VMKit_pres_fr.pdf?rev=181314&view=auto
==============================================================================
Binary files vmkit/trunk/www/tuto/VMKit_pres_fr.pdf (added) and vmkit/trunk/www/tuto/VMKit_pres_fr.pdf Tue May 7 09:08:58 2013 differ
Added: vmkit/trunk/www/tuto/VMKit_tutorial.pdf
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/tuto/VMKit_tutorial.pdf?rev=181314&view=auto
==============================================================================
Binary files vmkit/trunk/www/tuto/VMKit_tutorial.pdf (added) and vmkit/trunk/www/tuto/VMKit_tutorial.pdf Tue May 7 09:08:58 2013 differ
Added: vmkit/trunk/www/tuto/VMKit_tutorial.tar.gz
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/tuto/VMKit_tutorial.tar.gz?rev=181314&view=auto
==============================================================================
Binary files vmkit/trunk/www/tuto/VMKit_tutorial.tar.gz (added) and vmkit/trunk/www/tuto/VMKit_tutorial.tar.gz Tue May 7 09:08:58 2013 differ
Added: vmkit/trunk/www/tuto/VMKit_tutorial_eng.pdf
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/tuto/VMKit_tutorial_eng.pdf?rev=181314&view=auto
==============================================================================
Binary files vmkit/trunk/www/tuto/VMKit_tutorial_eng.pdf (added) and vmkit/trunk/www/tuto/VMKit_tutorial_eng.pdf Tue May 7 09:08:58 2013 differ
Added: vmkit/trunk/www/tuto/toy-vm-base.tar.gz
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/tuto/toy-vm-base.tar.gz?rev=181314&view=auto
==============================================================================
Binary files vmkit/trunk/www/tuto/toy-vm-base.tar.gz (added) and vmkit/trunk/www/tuto/toy-vm-base.tar.gz Tue May 7 09:08:58 2013 differ
Added: vmkit/trunk/www/tutorial.html
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/tutorial.html?rev=181314&view=auto
==============================================================================
--- vmkit/trunk/www/tutorial.html (added)
+++ vmkit/trunk/www/tutorial.html Tue May 7 09:08:58 2013
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+ <title>VMKit - Tutorial</title>
+ <link type="text/css" rel="stylesheet" href="menu.css" />
+ <link type="text/css" rel="stylesheet" href="content.css" />
+</head>
+<body>
+
+<!--#include virtual="menu.html.incl"-->
+
+<div id="content">
+
+<h1>Tutorial: ToyVM</h1>
+
+<p>If you would like to get more familliar with VMKit2 here is a "toyVM"
+tutorial which contains.</p>
+
+<ul>
+ <li>
+ A presentation introducing the general functionning of virtual machines
+ and the functionning of a virtual machine based on VMKit.<br/>
+ It also introduces the tutorial's proceeding. Download the presentation
+ here.
+ <ul>
+ <li><a href="tuto/VMKit_pres_eng.pdf">Download in english.</a></li>
+ <li><a href="tuto/VMKit_pres_fr.pdf">Download in french.</a></li>
+ </ul>
+ </br>
+ </li>
+ <li>
+ A "mode of using" describing each step in the tutorial in order to develop
+ a minimal virtual machine based on VMKit components.
+ <ul>
+ <li><a href="tuto/VMKit_tutorial_eng.pdf">Download in english.</a></li>
+ <li><a href="tuto/VMKit_tutorial.pdf">Download in french.</a></li>
+ </ul>
+ <br/>
+ </li>
+ <li>
+ A base code canvas for starting developping the minimal virtual machine (
+ <a href="tuto/toy-vm-base.tar.gz">download the base code here</a>).
+ <br/>You have to download and install VMKit first. See the
+ <a href="start.php">Get Started</a> page for more information.
+ </li>
+</ul>
+
+<p>You can download all the needed parts gathered in an archive
+<a href="tuto/VMKit_tutorial.tar.gz">here</a>.</p>
+
+</div>
+</body>
+</html>
More information about the vmkit-commits
mailing list