blob: 8e197f30e43bd604d6eb3d71647d43141e82d34d [file] [log] [blame]
<!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 - Getting Started</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>Getting Started: VMKit and MMTk</h1>
<p>This page gives you the instructions on how to build VMKit with MMTk's Mark and
Sweep Garbage Collector.</p>
<ol>
<li><a href="http://www.llvm.org/docs/GCCFEBuildInstrs.html">Checkout
and build LLVM-GCC</a> from SVN head.</li>
<li> Update PATH to include the <tt>llvm-gcc</tt> binary. </li>
<li> Re-configure LLVM. </li>
<li> Make sure to build LLVM with REQUIRES_FRAME_POINTER=1.</li>
<li> Configure VMKit with two additional options: <tt>--with-gc=mmtk</tt> and <tt>--with-llvmgcc</tt>. </li>
<li> Clean and make VMKit (do that each time you change the source code of VMKit):</li>
<ul>
<li><tt>make ENABLE_OPTIMIZED=1 REQUIRES_FRAME_POINTER=1 clean </tt></li>
<li><tt>make ENABLE_OPTIMIZED=1 REQUIRES_FRAME_POINTER=1 </tt></li>
</ul>
<li>Run VMKit with MMTk:</li>
<ul>
<li><tt>Release/bin/vmkit -std-compile-opts --load-bc=Release/lib/FinalMMTk.bc
-load-bc=lib/J3/LLVMRuntime/LLVMRuntime.gen.ll -java Foo </tt></li>
</ul>
</ol>
</div>
</body>
</html>