<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 6/27/11 7:46 PM, Gregory Malecha wrote:
<blockquote
cite="mid:BANLkTinMqaaoaNNNKbBNjGAbzUtXEP6kkw@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Hello,<br>
<br>
Is the SVA codebase publically available, and if so, where can I
find it?<br>
</blockquote>
<br>
It depends upon which part of SVA you want.<br>
:)<br>
<br>
The memory safety analysis and transform passes are publicly
available in the SAFECode and Automatic Pool Allocation source code
repositories. Directions on accessing SAFECode's SVN repository can
be found here: <a class="moz-txt-link-freetext" href="http://sva.cs.illinois.edu/downloads.html">http://sva.cs.illinois.edu/downloads.html</a>.<br>
<br>
This code that we used in our two SVA papers was done with LLVM 1.9
and is in the release_19 branches of the safecode and poolalloc
projects. We have not maintained that code, so I doubt you'll find
it useful.<br>
<br>
The transforms used for user-space applications is maintained and
works with LLVM 2.7 (this is mainline safecode and poolalloc). In
addition, we are moving some parts of SAFECode (those that don't
rely on DSA) into LLVM mainline. There is currently a patch pending
review; it essentially provides Jones-Kelley/Ruwase-Lam style memory
safety with some optional debug information support. We'll add in
more non-DSA based optimizations after the initial patch is
reviewed. The DSA-based optimizations will become part of a special
libLTO that will reside out of mainline LLVM for the time being.<br>
<br>
The second component of SVA is the virtual instruction set
implementation which comes as two parts: SVA and SVA-OS. SVA is
just LLVM, and so that is publicly available. SVA-OS is the set of
instructions that abstract away the operations like context
switching and MMU configuration; the run-time library implementation
of SVA-OS and the port of the Linux kernel to SVA-OS is not
currently available publicly as we have not yet had time to polish
them up a bit, and with LLVM's ability to handle inline assembly
code, there's less need for them by the LLVM community. If you need
this code for research, please let me know off-list; I can ask my
advisor if we can provide a copy to you.<br>
<br>
-- John T.<br>
<br>
<blockquote
cite="mid:BANLkTinMqaaoaNNNKbBNjGAbzUtXEP6kkw@mail.gmail.com"
type="cite"><br>
Thanks.<br clear="all">
<br>
-- <br>
gregory malecha<br>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
</blockquote>
<br>
</body>
</html>