svadev AT lists.siebelschool.illinois.edu
Subject: Svadev mailing list
List archive
- From: John Criswell <criswell AT illinois.edu>
- To: Baozeng <sploving1 AT gmail.com>
- Cc: Vassil Vassilev <vvasilev AT cern.ch>, "svadev AT cs.uiuc.edu" <svadev AT cs.uiuc.edu>
- Subject: Re: [svadev] memory safety for Cling
- Date: Mon, 22 Apr 2013 09:34:05 -0500
- List-archive: <http://lists.cs.uiuc.edu/pipermail/svadev/>
- List-id: <svadev.cs.uiuc.edu>
- Organization: University of Illinois
On 4/22/13 9:12 AM, Baozeng wrote:
Hello John,
2013/4/18 John Criswell <criswell AT illinois.edu>
On 4/17/13 8:18 PM, Baozeng wrote:
Cling is able to parse/compile code incrementally. It stores the input as deltas in form of cling::Transaction objects ( http://cling.web.cern.ch/cling/doxygen/classcling_1_1Transaction.html). It uses just-in-time (JIT) compiler for compilation. Interesting. Since it uses JIT techniques, whole-program analysis techniques (like type-safe load/store elimination) and potentially time-consuming optimizations may be ill-suited. You probably want to focus on a technique with a fast run-time check implementation: something like Baggy Bounds, WIT, or the original SAFECode poolchecks (which are buried somewhere in the SAFECode/Poolalloc revision history). The BBAC code would be my recommendation: it should be fast, it has a simple implementation, and we'd love to have patches that make it more robust. :) Regarding plans, I don't think we'll be updating SAFECode to LLVM 3.3 until sometime after July. Between now and July, we're focusing on making the Baggy Bounds Checking feature more robust in preparation for a funding agency evaluation. I think your best option is to create your own copy of SAFECode that is updated to LLVM 3.3 and compile cling against that. How much efforts does the updatation need? A couple
of days?
I don't know. I do not think it would take too long, but it depends on how much LLVM has changed since LLVM 3.2. Chandler was wanting to change the names of the LLVM libraries and header file paths; that would require changes to the Makefiles and #include's in the source code. C++ API changes may be less, but I honestly don't know; the point of sticking with a particular LLVM release is to ignore those details until we have the time to deal with them. -- John T. |
- [svadev] memory safety for Cling, Baozeng, 04/17/2013
- Re: [svadev] memory safety for Cling, John Criswell, 04/18/2013
- Re: [svadev] memory safety for Cling, Baozeng, 04/22/2013
- Re: [svadev] memory safety for Cling, John Criswell, 04/22/2013
- Re: [svadev] memory safety for Cling, Vassil Vassilev, 04/22/2013
- Re: [svadev] memory safety for Cling, Baozeng, 04/22/2013
- Re: [svadev] memory safety for Cling, John Criswell, 04/18/2013
Archive powered by MHonArc 2.6.16.