svadev AT lists.siebelschool.illinois.edu
Subject: Svadev mailing list
List archive
- From: "Adve, Vikram Sadanand" <vadve AT illinois.edu>
- To: Jean-Baptiste Tristan <jean.baptiste.tristan AT gmail.com>
- Cc: John Criswell <criswell AT uiuc.edu>, "svadev AT cs.uiuc.edu" <svadev AT cs.uiuc.edu>
- Subject: Re: [svadev] Documentation
- Date: Wed, 10 Mar 2010 23:15:39 -0600
- Accept-language: en-US
- Acceptlanguage: en-US
- List-archive: <http://lists.cs.uiuc.edu/pipermail/svadev>
- List-id: <svadev.cs.uiuc.edu>
On Mar 10, 2010, at 4:18 PM, Jean-Baptiste Tristan wrote:
>>>
>>> The pool is explicitly passed into the poolalloc and poolfree calls (named
>>> __sc_dbg_src_poolalloc and __sc_dbg_src_poolfree, respectively). I do not
>>> see the call to poolinit(); I believe calls to poolinit() for global
>>> (i.e.,
>>> context insensitive) pools are done in a constructor function instead of
>>> in
>>> the main() function (because C++ global variables may have constructors
>>> that
>>> are called before main(), so the pools that they use must be initialized
>>> before main() too).
>>
>> Yes, OK.
>>
>> %PoolDescriptor = type [92 x i8*]
>> @__poolalloc_GlobalPool = global %PoolDescriptor zeroinitializer ;
>> <%PoolDescriptor*> [#uses=9]
>>
>> Having only one pool doesn't change the safety guarantees, it only
>> results in more runtime checks
>> and an increased memory consumption that what would be needed with a
>> better pool allocation. Is that right ?
>>
>
> Hmmm... Please let me try to refine this... If there's only one pool,
> then it is more likely
> that it will not be homogeneous, and therefore will require
> runtime-checks for memory accesses.
Yes, that is correct. It will require more runtime checks for the reason you
just stated. It does not change the overall guarantees, except in the sense
that there will be fewer type-homogeneous pools so less type safety.
I agree with John that annotating the bytecode with the DSA/Poolalloc type
information would not be difficult. This is what the PLDI'06 code did,
though it was on an old version of LLVM.
--Vikram
Associate Professor, Computer Science
University of Illinois at Urbana-Champaign
http://llvm.org/~vadve
- [svadev] Documentation, Jean-Baptiste Tristan, 03/09/2010
- Re: [svadev] Documentation, John Criswell, 03/09/2010
- Re: [svadev] Documentation, Adve, Vikram Sadanand, 03/09/2010
- Re: [svadev] Documentation, Jean-Baptiste Tristan, 03/10/2010
- Re: [svadev] Documentation, John Criswell, 03/10/2010
- Re: [svadev] Documentation, Jean-Baptiste Tristan, 03/10/2010
- Re: [svadev] Documentation, Jean-Baptiste Tristan, 03/10/2010
- Re: [svadev] Documentation, Adve, Vikram Sadanand, 03/10/2010
- Re: [svadev] Documentation, John Criswell, 03/11/2010
- Re: [svadev] Documentation, Adve, Vikram Sadanand, 03/11/2010
- Re: [svadev] Documentation, Jean-Baptiste Tristan, 03/10/2010
- Re: [svadev] Documentation, Jean-Baptiste Tristan, 03/10/2010
- Re: [svadev] Documentation, John Criswell, 03/10/2010
- Re: [svadev] Documentation, Jean-Baptiste Tristan, 03/10/2010
- Re: [svadev] Documentation, Adve, Vikram Sadanand, 03/09/2010
- Re: [svadev] Documentation, John Criswell, 03/09/2010
Archive powered by MHonArc 2.6.16.