similar to: [LLVMdev] ocaml+llvm

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