Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] GC infrastructure checked in"
2008 Jan 07
0
[LLVMdev] GC infrastructure checked in
On Monday 07 January 2008 02:32:47 Gordon Henriksen wrote:
> Everything described in GarbageCollection.html should now be live. Phew!
>
> The collectors could use a review, but they compile, have no impact
> unless used, and tests would otherwise have had to be XFAILed waiting
> on them.
>
> The ShadowStackCollector has one issue that may be of interest in that
> it adds
2008 Jan 07
2
[LLVMdev] GC infrastructure checked in
On 2008-01-07, at 05:29, Jon Harrop wrote:
> On Monday 07 January 2008 02:32:47 Gordon Henriksen wrote:
>
>> Everything described in GarbageCollection.html should now be live.
>> Phew!
>>
>
> This is wonderful news! Are there any example programs using these
> GCs?
The division of labor is such that the user program must provide the
stack walker (in
2008 Jan 07
0
[LLVMdev] GC infrastructure checked in
Gordon Henriksen wrote:
> On 2008-01-07, at 05:29, Jon Harrop wrote:
>
>> On Monday 07 January 2008 02:32:47 Gordon Henriksen wrote:
>>
>>> Everything described in GarbageCollection.html should now be live.
>>> Phew!
>>>
>> This is wonderful news! Are there any example programs using these
>> GCs?
>
> The division of labor is
2008 Jan 07
2
[LLVMdev] GC infrastructure checked in
On Jan 7, 2008, at 10:54, Carl Friedrich Bolz wrote:
> Gordon Henriksen wrote:
>
>> That said, the PyPy group has llvmgcroot support on a branch; you
>> could ask Armin Rigo <arigo at tunes dot org> for details about
>> accessing it.
>>
>> On his benchmarks, Armin saw an 8% speedup vs. a shadow stack.
>> Their gcc backend still outperforms
2008 Jan 07
0
[LLVMdev] GC infrastructure checked in
Hello, Everyone
> That said, the PyPy group has llvmgcroot support on a branch; you
> could ask Armin Rigo <arigo at tunes dot org> for details about
> accessing it.
FYI: some status report can be seen here:
http://codespeak.net/pipermail/pypy-dev/2008q1/004441.html
--
WBR, Anton Korobeynikov
2008 Apr 21
2
[LLVMdev] getting started with IR needing GC
On Apr 20, 2008, at 6:52 PM, Gordon Henriksen wrote:
> On 2008-04-20, at 21:05, Terence Parr wrote:
>
>> On Apr 20, 2008, at 5:36 PM, Gordon Henriksen wrote:
>>
>>> Since the semispace heap doesn't actually work (it's an example,
>>> at best), I suggest you simply copy the stack visitor into your
>>> project; it's only a dozen lines of
2015 Mar 31
2
[LLVMdev] why is gc.root 8 bits?
I'm trying to add gcoot functionality to my code and I'm confused by why
gcroot is assuming to be an i8**
I'm using i32 as object and array pointers and if I make them i8 things
seem to work.
I'm generating IR much like
http://llvm.org/docs/GarbageCollection.html#llvm-ir-features
void @llvm.gcroot(i8** %ptrloc, i8* %metadata)
-------------- next part --------------
An HTML
2014 Feb 17
2
[LLVMdev] GC in multithreaded (but with no shared state) environment
Hi all,
I would like to implement GC for a language supporting multiple threads.
There will be no shared state between threads as communication will be
based on message passing. I do not care much about performance. The
priority for me is to get things working.
I have read LLVM guide on writing GC:
http://llvm.org/docs/GarbageCollection.html. Shadow stack approach looks
very promising. The
2008 Apr 29
2
[LLVMdev] getting started with IR needing GC
On Mon, Apr 28, 2008 at 2:13 PM, Gordon Henriksen
<gordonhenriksen at mac.com> wrote:
> > If so, then a Collector plugin would need to have info about every
> > supported backend lays out the runtime stack?
>
> Yes. This information is actually available in a target-independent
> fashion with LLVM, so the Collector interface is target-independent. A
> backend
2008 Apr 11
4
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
Hi Dominic,
+//===-- llvm/Support/IRBuilder.h - Builder for LLVM Instrs -----*- C++ -*-===//
is this line the right length? It seems shorter than the similar lines below like
this one:
+//===----------------------------------------------------------------------===//
+ GetElementPtrInst *CreateStructGEP(Value *Ptr, unsigned Idx,
+ const char *Name =
2008 Apr 29
0
[LLVMdev] getting started with IR needing GC
On 2008-04-28, at 21:19, Lane Schwartz wrote:
> On Mon, Apr 28, 2008 at 2:13 PM, Gordon Henriksen <gordonhenriksen at mac.com
> > wrote:
>
>>> If so, then a Collector plugin would need to have info about every
>>> supported backend lays out the runtime stack?
>>
>> Yes. This information is actually available in a target-independent
>>
2008 Jan 08
0
[LLVMdev] GC infrastructure checked in
Gordon Henriksen wrote:
>> Hm, summary:
>>
>> pypy-llvm-backend with llvm's codegen
>> < pypy-c-backend with GCC
>> < pypy-llvm-backend using llvm's C backend and then GCC
>
> I wonder what the impact of using llvm-gcc instead of GCC is in this
> final pipeline. If that actually works, you could indeed eliminate the
> shadow stack
2008 Apr 12
0
[LLVMdev] LLVMBuilder vs LLVMFoldingBuilder
Duncan Sands wrote:
> + GetElementPtrInst *CreateStructGEP(Value *Ptr, unsigned Idx,
> + const char *Name = "") {
> + llvm::Value *Idxs[] = {
> + ConstantInt::get(llvm::Type::Int32Ty, 0),
> + ConstantInt::get(llvm::Type::Int32Ty, Idx)
> + };
> + return Insert(GetElementPtrInst::Create(Ptr, Idxs, Idxs+2, Name));
2010 Sep 16
4
[LLVMdev] Accurate garbage collection
Hello!
I'm looking at "Overview of available features" here:
http://llvm.org/docs/GarbageCollection.html#collector-algos and can't
understand something.
First, does table header mean that there are already some GC's
implemented besides "shadow stack"? E.g. can I just use them?
Second, does row "JIT", "NO" mean that GC is not compatible with
2004 Oct 27
0
[LLVMdev] Getting started with GC
On Wed, 27 Oct 2004, Tom Brown wrote:
> On Tue, Oct 26, 2004 at 11:17:00PM -0500, Chris Lattner wrote:
> > On Tue, 26 Oct 2004, Tom Brown wrote:
> > > $ llvm-as alloc_loop.ll
> > > $ lli alloc_loop.bc
> > > lli: Globals.cpp:81: llvm::GlobalVariable::GlobalVariable(const llvm::Type*, bool, llvm::GlobalValue::LinkageTypes, llvm::Constant*, const std::string&,
2008 Jul 26
1
[LLVMdev] CollectorRegistry
Thank you so much for your help! I now have a much clearer idea of how
to proceed. :-)
This just keeps getting more interesting.
- Simon
2008/7/26 Gordon Henriksen <gordonhenriksen at me.com>:
> 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
2004 Jul 21
0
[LLVMdev] GC questions.
Ok, that makes sense :).
, Tobias
On Wed, 21 Jul 2004, Chris Lattner wrote:
> On Wed, 21 Jul 2004, Tobias Nurmiranta wrote:
> > > void *llvm_gc_read(void *ObjPtr, void **FieldPtr) {
> > > return *FieldPtr;
> > > }
> >
> > Hm, but doesn't FieldPtr need to be calculated target-specific in those
> > cases?
>
> For the field pointer, one
2004 Jul 21
2
[LLVMdev] GC questions.
On Wed, 21 Jul 2004, Tobias Nurmiranta wrote:
> > void *llvm_gc_read(void *ObjPtr, void **FieldPtr) {
> > return *FieldPtr;
> > }
>
> Hm, but doesn't FieldPtr need to be calculated target-specific in those
> cases?
For the field pointer, one could use the getelementptr instruction:
%pairty = { sbyte, sbyte, int* }
%pairPtr = ...
%fieldptr = getelementptr
2004 Oct 27
2
[LLVMdev] Getting started with GC
On Tue, Oct 26, 2004 at 11:17:00PM -0500, Chris Lattner wrote:
> On Tue, 26 Oct 2004, Tom Brown wrote:
> > $ llvm-as alloc_loop.ll
> > $ lli alloc_loop.bc
> > lli: Globals.cpp:81: llvm::GlobalVariable::GlobalVariable(const llvm::Type*, bool, llvm::GlobalValue::LinkageTypes, llvm::Constant*, const std::string&, llvm::Module*): Assertion `Initializer->getType() == Ty
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