Displaying 5 results from an estimated 5 matches for "simoncollector".
2008 Jul 26
2
[LLVMdev] CollectorRegistry
...instance of llvm::TargetMachine.
Maybe I don't understand the architecture correctly.
This means that the implementation of my collector's data structures
(in this case, a few heaps) is supposed to be independent on the
subclassed llvm::Collector?
I had initially implemented it as
class SimonCollector : public llvm::Collector
{
public:
// ... virtual methods from llvm::Collector
void* allocate(...) { /* my allocator */ }
void collect() { /* ... */ }
// etc.
};
but actually allocate, collect, etc. aren't supposed to be there, but
in some separate structur...
2008 Jul 26
0
[LLVMdev] CollectorRegistry
...to be independent on the
> subclassed llvm::Collector?
That's correct. llvm::Collector exists to coordinate the compiler and
generate code compatible with your GC runtime library. It is not
itself part of your GC runtime library.
> I had initially implemented it as
>
> class SimonCollector : public llvm::Collector
> {
> public:
> // ... virtual methods from llvm::Collector
>
> void* allocate(...) { /* my allocator */ }
> void collect() { /* ... */ }
> // etc.
> };
>
> but actually allocate, collect, etc. aren't supposed...
2008 Jul 26
2
[LLVMdev] CollectorRegistry
2008/7/24 Gordon Henriksen <gordonhenriksen at me.com>:
>> OK, so for instance if I wanted to be able to use the GC from a C
>> frontend (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
2008 Jul 26
0
[LLVMdev] CollectorRegistry
On Jul 26, 2008, at 10:32, Simon Ask Ulsnes wrote:
> 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
Yes. Your implementation of the llvm_gc_* functions should be compiled
into a library and linked with your executable.
> (llvm_cg_walk_gcroots is provided by the Collector
2008 Jul 26
1
[LLVMdev] CollectorRegistry
...on the subclassed
> llvm::Collector?
>
> That's correct. llvm::Collector exists to coordinate the compiler and
> generate code compatible with your GC runtime library. It is not itself part
> of your GC runtime library.
>
> I had initially implemented it as
>
> class SimonCollector : public llvm::Collector
> {
> public:
> // ... virtual methods from llvm::Collector
>
> void* allocate(...) { /* my allocator */ }
> void collect() { /* ... */ }
> // etc.
> };
>
> but actually allocate, collect, etc. aren't supposed...