[vmkit-commits] [vmkit] r67040 - in /vmkit/trunk: README.txt www/OpenProjects.html www/get_involved.html www/get_started.html www/index.html www/menu.css www/releases/index.html

Nicolas Geoffray nicolas.geoffray at lip6.fr
Mon Mar 16 03:21:21 PDT 2009


Author: geoffray
Date: Mon Mar 16 05:21:17 2009
New Revision: 67040

URL: http://llvm.org/viewvc/llvm-project?rev=67040&view=rev
Log:
Update www.


Added:
    vmkit/trunk/www/OpenProjects.html
Modified:
    vmkit/trunk/README.txt
    vmkit/trunk/www/get_involved.html
    vmkit/trunk/www/get_started.html
    vmkit/trunk/www/index.html
    vmkit/trunk/www/menu.css
    vmkit/trunk/www/releases/index.html

Modified: vmkit/trunk/README.txt
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/README.txt?rev=67040&r1=67039&r2=67040&view=diff

==============================================================================
--- vmkit/trunk/README.txt (original)
+++ vmkit/trunk/README.txt Mon Mar 16 05:21:17 2009
@@ -7,10 +7,6 @@
 2) JnJVM: a Java Virtual Machine implemented with MVM and LLVM
 3) N3: a CLI implementation with MVM and LLVM
 
-JnJVM and N3 work on Linux/x86 and Darwin/x86 (note that you may have to
-disable SSE on some architecture), and mostly work on Linux/PPC (there are
-some errors with floating points).
-
 JnJVM and N3 use GCC's unwinding library (libgcc_s.so).
 
 These are the options you should pass to the ./configure script
@@ -25,38 +21,10 @@
 --with-gc: user either boehm or single-mmap
 --with-mono: Mono's mscorlib.dll
 
-Running make on the root tree will produce three "tools":
+Running make on the root tree will produce the following "tools":
 1) Debug|Release/bin/jnjvm: running the JnJVM like any other JVM.
 2) Debug|Release/bin/n3-pnetlib: running N3 like CLR.
 2) Debug|Release/bin/vmkit: shell-like vm launcher.
+2) Debug|Release/bin/vmjc: ahead of time compiler for .class files.
 
 JnJVM and N3 have their own README notes.
-
-
-//===---------------------------------------------------------------------===//
-// Target specific LLVM patches (not required)
-//===---------------------------------------------------------------------===//
-
-If you experience problems, you can apply the patches for your corresponding 
-arch. I'd be interested to get some info on your specific problem if the 
-patch fixes it.
-
-Patch for PowerPC:
-- Bugfix for handling some external symbols (FIXME: does this still happen?)
-- Thread safety when doing native code patching (TODO: submit to llvm-dev)
-- CFI instructions for callbacks (TODO: find a correct macro to enable this)
-- Emit a hand-made frame table for stubs (TODO: submit to llvm-dev)
-
-Patch for X86
-- Disable SSE (It can sigsegv on some x86 archs. Having test cases would be 
-  nice)
-- Enable CFI instructions for callbacks (TODO: find a correct macro to enable
-  by default)
-
-
-//===---------------------------------------------------------------------===//
-// TODOs
-//===---------------------------------------------------------------------===//
-
-- A compiler/system dependency interface
-

Added: vmkit/trunk/www/OpenProjects.html
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/OpenProjects.html?rev=67040&view=auto

==============================================================================
--- vmkit/trunk/www/OpenProjects.html (added)
+++ vmkit/trunk/www/OpenProjects.html Mon Mar 16 05:21:17 2009
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
+          "http://www.w3.org/TR/html4/strict.dtd">
+<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+  <title>"VMKit" JVM and .Net runtimes for LLVM</title>
+  <link type="text/css" rel="stylesheet" href="menu.css" />
+  <link type="text/css" rel="stylesheet" href="content.css" />
+</head>
+<body>
+<div id="menu">
+  <div>
+    <a href="http://llvm.org/">LLVM Home</a>
+  </div>
+  
+  <div class="submenu">
+    <label>VMKit Info</label>
+    <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="releases/index.html">Releases</a>
+  </div>
+  
+  <div class="submenu">
+    <label>Quick Links</label>
+    <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">llvm-dev</a>
+    <a href="http://lists.cs.uiuc.edu/mailman/listinfo/vmkit-commits">vmkit-commits</a>
+    <a href="http://llvm.org/bugs/">Bug Reports</a>
+    <a href="http://llvm.org/svn/llvm-project/vmkit/trunk/">Browse Source</a>
+  </div>
+  
+  <div class="submenu">
+    <label>Events</label>
+    <a href="http://llvm.org/devmtg/">August 1, 2008 - LLVM/Clang Developer Meeting</a>
+  </div>
+
+</div>
+
+<div id="content">
+
+<h1>Open VMKit Projects</h1>
+
+<p>Here are a few tasks that are available for newcomers to work on, depending
+on what your interests are. This list is provided to generate ideas, it is not
+intended to be comprehensive. Please ask on llvm-dev for more specifics. </p>
+
+<ul>
+<li><b>Port MMTk to LLVM</b>:
+MMTk is JikesRVM's Garbage Collection framework (http://jikesrvm.org) and
+contains a number of GC implementations that should be independent of the VM.
+MMTk is written in Java, so it is not straightforward to link it with LLVM.
+Fortunately, VMKit recently started support of an ahead of time compiler for
+Java and should be able to compile MMTk to a .ll file and link with C/C++
+projects.
+</li>
+
+<li><b>Support copying collectors in VMKit</b>: 
+VMKit currently has support for conservative GCs (Boehm and Mmap2) which do not
+cooperate with the compiler and thus do not know if a value in the stack is a
+pointer or not. If we want to support copying collectors we need to use LLVM's
+API on garbage collection (http://llvm.org/docs/GarbageCollection.html) and
+modify VMKit's codebase to track uses of GC objects.</li>
+
+<li><b>Port VMKit's JVM to Harmony or OpenJDK</b>:
+VMKit currently uses GNU Classpath for the standard Java classes. Interfacing
+with another library such as Apache Harmony (http://harmony.apache.org) or
+Sun's OpenJDK (http://openjdk.java.net) may help improving support for latest
+benchmarks (http://www.spec.org/jvm2008).</li>
+</ul>
+
+<p>
+On the LLVM side, here are a few interesting projects that would help VMKit:
+</p>
+
+<ul>
+<li><b>Adaptive Optimization System</b>:
+Being able to adaptively optimize JIT-compiled code would dramastically help
+the startup time of VMKit. All the non-adaptive bits are already there in LLVM:
+baseline compiler (with the -fast command line and the simple register
+allocator), optimized compiler (with the linear scan register allocator), and
+a full set of optimizations changeable at runtime. What's left is a system that
+dynamically lookup the hotness of methods and re-compile with optimizations the
+methods that are often executed.
+</li>
+
+<li><b>Type-based alias-analysis</b>:
+Safe languages such as ones supported by VMKit (Java, C#) benefit a lot from
+a type based alias analysis. LLVM currently lacks full support of this feature
+for safe languages.
+</li>
+
+<li><b>Misceallenous Java-related optimizations</b>:
+Removal of array bounds checks, null pointer checks, devirtualization,
+inlining, etc.
+</li>
+</ul>
+
+
+</div>
+</body>
+</html>
+

Modified: vmkit/trunk/www/get_involved.html
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/get_involved.html?rev=67040&r1=67039&r2=67040&view=diff

==============================================================================
--- vmkit/trunk/www/get_involved.html (original)
+++ vmkit/trunk/www/get_involved.html Mon Mar 16 05:21:17 2009
@@ -19,6 +19,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="releases/index.html">Releases</a>
   </div>
   
   <div class="submenu">

Modified: vmkit/trunk/www/get_started.html
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/get_started.html?rev=67040&r1=67039&r2=67040&view=diff

==============================================================================
--- vmkit/trunk/www/get_started.html (original)
+++ vmkit/trunk/www/get_started.html Mon Mar 16 05:21:17 2009
@@ -19,6 +19,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="releases/index.html">Releases</a>
   </div>
   
   <div class="submenu">

Modified: vmkit/trunk/www/index.html
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/index.html?rev=67040&r1=67039&r2=67040&view=diff

==============================================================================
--- vmkit/trunk/www/index.html (original)
+++ vmkit/trunk/www/index.html Mon Mar 16 05:21:17 2009
@@ -19,6 +19,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="releases/index.html">Releases</a>
   </div>
   
   <div class="submenu">

Modified: vmkit/trunk/www/menu.css
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/menu.css?rev=67040&r1=67039&r2=67040&view=diff

==============================================================================
--- vmkit/trunk/www/menu.css (original)
+++ vmkit/trunk/www/menu.css Mon Mar 16 05:21:17 2009
@@ -36,4 +36,4 @@
 }
 #menu a:visited {
 	color:rgb(100,50,100);
-}
\ No newline at end of file
+}

Modified: vmkit/trunk/www/releases/index.html
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/releases/index.html?rev=67040&r1=67039&r2=67040&view=diff

==============================================================================
--- vmkit/trunk/www/releases/index.html (original)
+++ vmkit/trunk/www/releases/index.html Mon Mar 16 05:21:17 2009
@@ -19,6 +19,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="index.html">Releases</a>
   </div>
   
   <div class="submenu">





More information about the vmkit-commits mailing list