Displaying 20 results from an estimated 1028 matches for "collector".
2015 Dec 31
2
[GC / Statepoints] Collector supports only base pointers as stack roots
Hi,
My collector supports only base pointers as stack roots. This wasn't a
problem until I tried to run some optimizations before RS4GC, which
introduced (interior) derived pointers. The statepoint documentation
mentions that these collectors exist, but doesn't mention whether and
how this is currentl...
2009 May 01
6
[LLVMdev] open source multithreaded garbage collector suitable for LLVM applications?
Hello All
Does any know about some opensource multithread-compatible (or
concurrent) garbage collector library, if possible suitable for LLVM?
(I mean that I want several mutator threads; the collector can be
stoptheworld or concurrent ....)
H.Boehm's conservative GC is multithread compatible, but seems quite
slow (allocation is about the time of a C malloc).
And it is well known that codin...
2008 Jul 26
2
[LLVMdev] CollectorRegistry
2008/7/26 Gordon Henriksen <gordonhenriksen at me.com>:
> I'm not sure the purpose of doing so—llvm::Collector (poorly named;
> I'm open to suggestions) exists only in the compiler, not at runtime
> in the compiled program. You should need access to it at runtime no
> more than you might need access to an instance of llvm::TargetMachine.
Maybe I don't understand the architecture correctly....
2013 Oct 28
1
[LLVMdev] Interfacing llvm with a precise, relocating GC
On 10/26/13 7:40 AM, Filip Pizlo wrote:
> You can implement a copying GC (what the kids these days call
> relocating) without accurate roots.
I use "relocating" to brush over the distinction between "copying" and
"compacting" collectors. For the purposes of our discussions, the two
are interchangeable though.
> Why aren't you just using the well-known Bartlett style of GC, which
> allows for relocation even in the presence of conservative roots (or
> accurate roots that don't allow relocation)?
You've bro...
2010 Sep 25
1
[LLVMdev] Stack roots and function parameters
Forgive my top post but I hate Windows. J
I am surprised you (Talin) say that "we know conservative collectors work"
because my experience has very much been of them not working. Indeed, if you
have 400Mb of allocated heap blocks on a 32-bit machine is there not a 10%
chance of *each* random 32-bit int "pointing" into your heap, i.e. a false
positive? I just did a simple test here (create an...
2009 May 01
0
[LLVMdev] open source multithreaded garbage collector suitable for LLVM applications?
On May 1, 2009, at 1:27 PM, Basile STARYNKEVITCH wrote:
> Hello All
>
> Does any know about some opensource multithread-compatible (or
> concurrent) garbage collector library, if possible suitable for LLVM?
In fact, yes!
http://code.google.com/p/scarcity/
-Chris
2007 Sep 16
2
[LLVMdev] More Garbage Collection Questions
...are sufficient.
>
In the paper cited above, the write barrier checks to see if the object
being mutated has been traced; If it hasn't, then it records the values
of all pointers contained in the object into a buffer - for which you
need the location of the pointers.
> In concurrent collectors—by which I mean those that run
> asynchronously of the mutator—write barriers may be used to mark the
> written object pointer. Even byte arrays as you describe require an
> object header in which to store mark bits, else the collector cannot
> know whether the object has been...
2008 Jul 26
0
[LLVMdev] CollectorRegistry
On Jul 26, 2008, at 12:14, Simon Ask Ulsnes wrote:
> 2008/7/26 Gordon Henriksen <gordonhenriksen at me.com>:
>> I'm not sure the purpose of doing so—llvm::Collector (poorly named;
>> I'm open to suggestions) exists only in the compiler, not at
>> runtime in the compiled program. You should need access to it at
>> runtime no more than you might need access to an instance of
>> llvm::TargetMachine.
>
> Maybe I don't...
2008 Jul 23
2
[LLVMdev] CollectorRegistry
Hey,
I am a bit confused about the CollectorRegistry.
I am attempting to write a garbage collector for LLVM, and the tiny
example in the docs at
http://llvm.org/releases/2.3/docs/GarbageCollection.html gives this
line:
CollectorRegistry::Add<MyCollector> X("mygc", "My bespoke garbage
collector.");
My question i...
2010 Sep 22
0
[LLVMdev] Stack roots and function parameters
...t; temporary is a nightmare.
>
> You only have to copy pointers. If you've got a struct, you only need
> to keep a root for the pointer member(s) of that struct.
>
Here's another way to think about the issue: Compare this whole approach to
stack roots to that of a conservative collector. Since we know conservative
collectors work, the whole reason for making an accurate collector in the
first place is efficiency, right? If we couldn't make an accurate collector
that was more efficient than a conservative collector, then no one would
bother because it's such a pain.
Howeve...
2009 May 02
0
[LLVMdev] open source multithreaded garbage collector suitable for LLVM applications?
Basile STARYNKEVITCH wrote:
> Does any know about some opensource multithread-compatible (or
> concurrent) garbage collector library, if possible suitable for LLVM?
>
> (I mean that I want several mutator threads; the collector can be
> stoptheworld or concurrent ....)
>
> H.Boehm's conservative GC is multithread compatible, but seems quite
> slow (allocation is about the time of a C malloc).
I...
2009 Feb 26
7
[LLVMdev] Garbage collection
...VM-based VMs and other projects, I suspect that the desire
for more comprehensive garbage collection support in LLVM is only going
to increase. (I am now involved in two different open-source projects
both of which will eventually have a strong requirement for a
high-performance LLVM-compatible collector.)
The last time I looked, the LLVM support for GC is fairly austere,
consisting of (a) the bare minimum set of low-level intrinsics needed to
integrate a collector with a runtime environment, and (b) a couple of
example of collectors, neither of which AFAIK take full advantage of the
low-level...
2007 Sep 16
2
[LLVMdev] More Garbage Collection Questions
...e if the
>> object being mutated has been traced; If it hasn't, then it records
>> the values of all pointers contained in the object into a buffer -
>> for which you need the location of the pointers.
>
> Okay. If you're implementing this algorithm with a tagless collector,
> we may need to extend the intrinsics.
More accurately, what I am trying to do is not only create a collector,
but also create a framework for implementing different collector
algorithms. I don't intend to be the person that creates the
best/fastest collector, I just want to create som...
2008 Apr 28
2
[LLVMdev] getting started with IR needing GC
...ly emitting a
> function prologue and an epilogue to push and pop gcroot entries on a
> stack as the program runs. This avoids the need to traverse the native
> call stack. If your language becomes sufficiently performance
> sensitive, you can later investigate implementing a custom Collector
> plugin.
OK. This is helpful in trying to understand what the Collector plugin is.
So is it correct then that the Collector plugin is the GC's view into
the backend? In other words, most garbage collectors have to have some
knowledge of how the runtime stack is actually laid out. ShadowS...
2008 Feb 04
3
[LLVMdev] 2.2 garbage collector questions
Hello,
i want to implement a common lisp subset using llvm for fun. This
requires the use of a garbage collector. I read the docs, but many
things are still unclear to me.
1. how are collectors supposed to find all living objects? there is
llvm.gcroot for marking objects on the stack,but how do collectors crawl
heap objects? I did not see a way to provide custom mark functions. Are
collectors supposed to...
2012 Jul 08
3
create multiple resources from an array of things.
Hi gang,
I feel like I''m missing something fundamental here…
I''ve got the following:
class snmp::rhel::rh5enable {
$collector = [''10.0.0.1'', ''10.0.0.2'']
define add_snmp_hosts_allow ($ip) {
exec { "hosts_allow_$ip":
command => "/bin/echo \"snmpd : $ip : ALLOW\" >>/etc/hosts.allow",
unless => "/bin/grep -c \"snmpd : $i...
2007 Sep 15
2
[LLVMdev] More Garbage Collection Questions
I'm still (slowly) working on the project of creating a concurrent
garbage collector that works with LLVM. I want to ask a little bit more
about object tags and write barriers and so on.
Let's start with the assumption that a particular language does not use
per-object type tags. The code generator knows the types of all objects,
however, and can pass along that type inform...
2007 Sep 15
0
[LLVMdev] More Garbage Collection Questions
On 2007-09-15, at 18:01, Talin wrote:
> I'm still (slowly) working on the project of creating a concurrent
> garbage collector that works with LLVM. I want to ask a little bit
> more about object tags and write barriers and so on.
>
> Let's start with the assumption that a particular language does not
> use per-object type tags. The code generator knows the types of all
> objects, however, and can...
2008 Jul 26
2
[LLVMdev] CollectorRegistry
...presumably by using llvm_gc_allocate?), do the C functions
>> need this attribute as well?
>
> Yes.
I forgot I still needed an answer to my original question. :-P
So, I have to implement llvm_gc_initialize, llvm_gc_allocate, and
llvm_gc_collect (llvm_cg_walk_gcroots is provided by the Collector
framework, right?) -- in those methods, how do I access the Collector
object instantiated by LLVM?
(It appears I do have to implement them myself, since otherwise there
are unresolved symbols when I call them directly from my IR)
- Simon
2010 Sep 22
6
[LLVMdev] Stack roots and function parameters
On Tue, Sep 21, 2010 at 8:20 PM, Talin <viridia at gmail.com> wrote:
> On Mon, Sep 20, 2010 at 3:16 PM, Talin <viridia at gmail.com> wrote:
>>
>> So I've managed to get my stack crawler working and passing its unit tests
>> - this is the one I've been working on as an alternative to shadow-stack: it
>> uses only static constant data structures (no