Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] ocaml+llvm"
2007 Aug 13
0
[LLVMdev] ocaml+llvm
>> maybe current infrastructure used for eh/debug info emission can be
>> extended to handle ocaml data?
>
> Perhaps. I'm pretty sure the code to generate this stuff doesn't belong in
> LLVM proper like DWARF support does, though; this is not even a vague
> approximation of a standard. :)
>From your original email:
>The biggest problem is a data
2007 Aug 14
2
[LLVMdev] ocaml+llvm
On 2007-08-13, at 16:33, Chris Lattner wrote:
>> The biggest problem is a data structure called the frame table, a
>> simple structure for which LLVM seems ill-prepared. For each call
>> site in the program, ocaml emits an entry into this table:
>>
>> key : the return address of the call site
>> value : the stack offset of every variable live
2007 Aug 13
2
[LLVMdev] ocaml+llvm
Hi Chris,
Chris Lattner wrote:
> I don't think you want to try to have the LLVM code generator build this
> table. The table is a contract between the specific codegen you're using
> and the GC runtime you're using. This contract is specific to the current
> ocaml code generator.
>
> In the LLVM world, you should use the first-class support we already have
2006 Feb 27
4
[LLVMdev] Garbage collection questions
Couple of questions:
1. void llvm_gc_write(void *V, void *ObjPtr, void **FieldPtr)
I haven't seen an adequate explanation of these, but I'm guessing:
void *V: value being written to the field
void *ObjPtr: current value of the field (ie. ObjPtr == *FieldPtr
upon entry to llvm_gc_write)
void **FieldPtr: address of the field being written
2. The current semispace collector includes
2007 Aug 14
0
[LLVMdev] ocaml+llvm
On Mon, 13 Aug 2007, Gordon Henriksen wrote:
>> The table is a contract between the specific codegen you're using and the
>> GC runtime you're using. This contract is specific to the current ocaml
>> code generator.
>
> Ocaml is compiled statically; this isn't an ephemeral link from JIT to
> runtime as might be the case for a Java or Perl program.
2007 Aug 12
0
[LLVMdev] ocaml+llvm
I'm hacking on an llvm backend for the ocaml language.
http://caml.inria.fr/ocaml/
I'd like to solicit some advice regarding the constant data
structures that ocaml's runtime requires. Rewriting its runtime is
a non-goal.
The biggest problem is a data structure called the frame table, a
simple structure for which LLVM seems ill-prepared. For each call
site in the program, ocaml
2007 Sep 04
2
[LLVMdev] Garbage Collection Roots
On Sep 2, 2007 5:31 AM, Gordon Henriksen <gordonhenriksen at mac.com> wrote:
> Hi Talin,
>
> On Sep 2, 2007, at 04:54, Talin wrote:
>
> > I've been looking through the documentation (http://llvm.org/docs/
> > GarbageCollection.html) on how to implement a garbage collector for
> > LLVM and there's a couple of things that I don't quite understand.
>
2010 Apr 26
2
[LLVMdev] Using gcroot with value types
Hi,
Talin wrote:
> I'm a little confused as to the rules for the arguments to llvm.gcroot,
> which says it must be a pointer alloca. I'm not sure whether that means it
> must be an alloca (which is always a pointer by definition) or an alloca
> *of* a pointer.
I'm pretty sure it should be "alloca of a pointer", as the first argument
of llvm.gcroot has type i8**.
2014 Dec 05
9
[LLVMdev] Future plans for GC in LLVM
Now that the statepoint changes have landed, I wanted to start a
discussion about what's next for GC support in LLVM. I'm going to
sketch out a strawman proposal, but I'm not set on any of this. I
mostly just want to draw interested parties out of the woodwork. :)
Overall Direction:
In the short term, my intent is to preserve the functionality of the
existing code, but migrate
2010 Apr 28
2
[LLVMdev] Using gcroot with value types
On 04/27/10 00:20, Talin wrote:
> On Mon, Apr 26, 2010 at 12:44 AM, Paul Melis
> <llvm at assumetheposition.nl <mailto:llvm at assumetheposition.nl>> wrote:
>
> Hi,
>
> Talin wrote:
> > I'm a little confused as to the rules for the arguments to
> llvm.gcroot,
> > which says it must be a pointer alloca. I'm not sure whether
2008 Apr 28
3
[LLVMdev] getting started with IR needing GC
On Mon, Apr 21, 2008 at 8:13 PM, Gordon Henriksen
<gordonhenriksen at mac.com> wrote:
>
> Hi Terence,
>
>
> I think you're getting hung up on the details of the shadow stack collector.
> The shadow stack is a GC that is possible within this framework, but of
> course could be implemented without any special support. Its presence is
> more misleading than anything
2006 Feb 27
0
[LLVMdev] Garbage collection questions
On Mon, 27 Feb 2006, Sandro Magi wrote:
> Couple of questions:
Ok, it's been a long while since I've worked on the GC stuff, but I'll try
to help :)
> 1. void llvm_gc_write(void *V, void *ObjPtr, void **FieldPtr)
>
> I haven't seen an adequate explanation of these, but I'm guessing:
> void *V: value being written to the field
> void *ObjPtr: current value
2008 Apr 21
2
[LLVMdev] getting started with IR needing GC
Howdy do LLVM folks!
I've exhausted what I can do on my own to make a GC example bind
(usual googling, reading, playing, looking at source). I can't find
the shadow collector lib or perhaps the -l options needed to link my
sample (not even to point where I'm figuring out GC actually as I
can't link). Not sure this IR is correct but here is what I've been
playing
2010 May 01
1
[LLVMdev] Using gcroot with value types
On 04/29/10 21:27, Talin wrote:
> On Wed, Apr 28, 2010 at 12:16 PM, Paul Melis
> <llvm at assumetheposition.nl <mailto:llvm at assumetheposition.nl>> wrote:
>
> On 04/27/10 00:20, Talin wrote:
>> On Mon, Apr 26, 2010 at 12:44 AM, Paul Melis
>> <llvm at assumetheposition.nl <mailto:llvm at assumetheposition.nl>> wrote:
>>
>>
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
2009 Nov 22
1
[LLVMdev] question on the ocaml compatible collector
Browsing
http://llvm.org/releases/2.5/docs/GarbageCollection.html#ocaml
I stumbled across the sentence
"...The ocaml collector does not use read or write barriers, so the
user program may use load and store instead of llvm.gcread and
llvm.gcwrite..."
Which I believe is wrong as the ocaml collector does indeed use a
write barrier (caml_modify). But maybe I misunderstood?
Thanks,
2008 Apr 21
0
[LLVMdev] getting started with IR needing GC
Hi Terence,
On 2008-04-20, at 20:08, Terence Parr wrote:
> I've exhausted what I can do on my own to make a GC example bind
> (usual googling, reading, playing, looking at source). I can't find
> the shadow collector lib or perhaps the -l options needed to link my
> sample (not even to point where I'm figuring out GC actually as I
> can't link).
The shadow
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
2010 Apr 26
0
[LLVMdev] Using gcroot with value types
On Mon, Apr 26, 2010 at 12:44 AM, Paul Melis <llvm at assumetheposition.nl>wrote:
> Hi,
>
> Talin wrote:
> > I'm a little confused as to the rules for the arguments to llvm.gcroot,
> > which says it must be a pointer alloca. I'm not sure whether that means
> it
> > must be an alloca (which is always a pointer by definition) or an alloca
> > *of* a
2007 Aug 14
4
[LLVMdev] ocaml+llvm
On Aug 14, 2007, at 00:23, Chris Lattner wrote:
> On Mon, 13 Aug 2007, Gordon Henriksen wrote:
>
>> Changing these structures breaks binary compatibility (including C
>> interop).
>
> If that is so, and if there is no way around this, then it makes
> sense to develop some compatibility mode. How does native C code
> generate these tables?
I might've