search for: semispace

Displaying 20 results from an estimated 51 matches for "semispace".

2008 Mar 07
1
[LLVMdev] runtime/GC/SemiSpace/semispace.c does not build in release 2.2?
I just downloaded the source for release 2.2, and when I try to build 'make -C runtime' it fails with the following error: ---- [...] llvm[2]: Compiling semispace.c for Release build (bytecode) semispace.c:107: error: syntax error before 'ShadowStackEntry' semispace.c:107: warning: no semicolon at end of struct or union semispace.c:108: error: syntax error before '*' token semispace.c:108: warning: type defaults to 'int' in declaratio...
2008 Apr 21
0
[LLVMdev] getting started with IR needing GC
...ling, 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 stack walker is in the runtime directory with the semispace heap example. The runtime directory is built to LLVM IR using llvm- gcc. So it's skipped unless you configure llvm with llvm-gcc support. 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&...
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
2008 Apr 21
2
[LLVMdev] getting started with IR needing GC
On Apr 20, 2008, at 5:36 PM, Gordon Henriksen wrote: > The shadow stack walker is in the runtime directory with the semispace > heap example. The runtime directory is built to LLVM IR using llvm- > gcc. So it's skipped unless you configure llvm with llvm-gcc support. doh! That's how I missed the binary. thanks! > Since the semispace heap doesn't actually work (it's an example, at > best), I...
2004 Oct 27
2
[LLVMdev] Getting started with GC
...t; How should we get this to run? > > Sorry about that, patch for this problem here: > http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041025/019891.html That patch does fix the problem. Thank you. I used the following llvm-link -f -o linked.bc alloc_loop.bc ~/llvm/runtime/GC/SemiSpace/Debug/semispace.bc because it seemed easier than working out if and how to get dynamic loading and linking to work. Perhaps the process will be smoother when I restart using projects/sample/ . Running linked.bc outputs Garbage collecting!! process_root[0x0xbffff3f0] = 0x0x41257008 process_root[0x0...
2004 Oct 26
2
[LLVMdev] Getting started with GC
I'm in a group tasked with improving the GC of LLVM for a 421 project. We are having trouble getting started with the given SemiSpace collector. We found the string llvm_gc_initialize called from a single source file ./test/Regression/CodeGen/Generic/GC/alloc_loop.ll which we tried with the following... (showing LLVM checked out from cvs a few days ago, similar output with release 1.3) $ llvm-as alloc_loop.ll $ lli alloc_loop....
2004 Oct 27
0
[LLVMdev] Getting started with GC
On Tue, 26 Oct 2004, Tom Brown wrote: > I'm in a group tasked with improving the GC of LLVM for a 421 project. > We are having trouble getting started with the given SemiSpace > collector. > > We found the string llvm_gc_initialize called from a single source file > ./test/Regression/CodeGen/Generic/GC/alloc_loop.ll > which we tried with the following... (showing LLVM checked out from cvs a few days ago, similar > output with release 1.3) > > $ l...
2004 Oct 27
0
[LLVMdev] Getting started with GC
...s to run? > > > > Sorry about that, patch for this problem here: > > http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041025/019891.html > That patch does fix the problem. Thank you. I used the following > llvm-link -f -o linked.bc alloc_loop.bc ~/llvm/runtime/GC/SemiSpace/Debug/semispace.bc > because it seemed easier than working out if and how to get dynamic > loading and linking to work. Perhaps the process will be smoother when > I restart using projects/sample/. Okay, sounds good. Running linked.bc outputs > Garbage collecting!! > process_root[...
2006 Feb 27
4
[LLVMdev] Garbage collection questions
...**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 some code which says it should be in a code-generator library. If I were to write a collector, should I also include this code for the time being? Or will this soon be refactored into an external interface? 3. void %llvm.gcroot(<ty>** %ptrloc, <ty2>* %metadata) I do...
2004 Aug 18
2
[LLVMdev] process_root.
Hi, This is regarding the backend for garbage collection. My problem might be related to some strange memory fault created by my frontend, but I'll try here to get some feedback. For some strange reason I get segmentation fault in process_pointer in semispace.c (I've implemented a small collector, hopefully :). The fault occurs when I do: printf("process_root[0x%p] = 0x%p\n", (void*) Root, (void*) *Root); I.e, when I reference Root. My frontend creates llvm assembly with llvm-gcroot in the following manner: ... %r22 = alloca uint ;;...
2006 Feb 27
0
[LLVMdev] Garbage collection questions
...gt;Field = Ptr; you'd want to compile it as: llvm_gc_write(Ptr, Obj, &Obj->Field); This is used by the GC if it keeps bits in the object header or other things. If the GC you plan to use doesn't need this info, you don't need to provide it obviously. :) > 2. The current semispace collector includes some code which says it > should be in a code-generator library. If I were to write a collector, > should I also include this code for the time being? Yes, I would suggest including it. > Or will this soon be refactored into an external interface? Right now, noone is...
2004 Jul 21
0
[LLVMdev] GC questions.
...config.log ? llvm/projects/sample/config.status ? llvm/projects/sample/lib/Debug ? llvm/projects/sample/lib/sample/Debug ? llvm/projects/sample/lib/sample/Depend ? llvm/projects/sample/tools/Debug ? llvm/projects/sample/tools/sample/Debug ? llvm/projects/sample/tools/sample/Depend ? llvm/runtime/GC/SemiSpace/BytecodeObj ? llvm/runtime/GC/SemiSpace/Debug ? llvm/runtime/GC/SemiSpace/Depend ? llvm/runtime/GCCLibraries/crtend/BytecodeObj ? llvm/runtime/GCCLibraries/crtend/Depend ? llvm/runtime/GCCLibraries/libc/BytecodeObj ? llvm/runtime/GCCLibraries/libc/Depend ? llvm/runtime/GCCLibraries/libcurses/Byteco...
2008 Feb 07
2
[LLVMdev] Problems with instrumentation
Hi, I'm trying to instrument llvm bytecodes using opt. I performed the following commands: llvm-gcc -g -emit-llvm test.c -c -o test.bc opt -insert-edge-profiling test.bc -o output.bc llc output.bc -o output.s gcc output.s -o test.out However, it can't find symbol llvm_start_edge_profiling. /tmp/ccw7GH4c.o: In function `main': /home/raul/LLVM/tests//test.c:8: undefined reference
2008 Feb 07
0
[LLVMdev] Problems with instrumentation
Hi, > llvm-gcc -g -emit-llvm test.c -c -o test.bc > opt -insert-edge-profiling test.bc -o output.bc > llc output.bc -o output.s > gcc output.s -o test.out > > However, it can't find symbol llvm_start_edge_profiling. -insert-edge-profiling inserts call to the llvm_start_edge_profiling function which is a part of a profiling runtime library. This library must be linked
2004 Jul 21
2
[LLVMdev] GC questions.
On Wed, 21 Jul 2004, Tobias Nurmiranta wrote: > > Hi, I'm thinking out loud, please give me some feedback. > > Regarding llvm.gcread and llvm.gcwrite, wouldn't it be nicer if they are > implemented as: > > llvm.gcread(sbyte** object, uint offset) > llvm.gcwrite(sbyte* data, sbyte** object, uint offset) > > Where you also have the offset into the object. In
2006 Feb 27
1
[LLVMdev] Garbage collection questions
...t obviously. :) Makes sense. A few more questions: 1. Any generic LLVM GC must be customised for a given front-end, correct? In other words, it requires front-end information regarding the layout of pointers within a block in order to fully trace the reference graph. Or am I missing something? Is semispace a drop-in for any front-end that utilizes the llvm.gc* intrinsics? 1a. Semispace isn't actually complete/working is it? Its llvm_gc_collect() implementation doesn't actually seem to do anything, ie. no copying, no space switching, etc. :-) 2. Are there any GC tests available that I can...
2004 Oct 28
2
[LLVMdev] Getting started with GC
We have a few questions about the current state of GC. We decided to start (and finish?) our work by finishing SemiSpace. process_pointer is meant to move objects from CurSpace to OtherSpace. How can it find pointers to a moved object? How does it know the size of each object? Assuming we are writing a GC that will only work from llvm assembly our best option seems to be forcing the assembly code to follow a conventi...
2010 Mar 25
1
[LLVMdev] Garbage Collection
...ns from looking at the source code of the GCStrategy class, but I like to see an example for my own code to see what is really happening. The llvm specific cpp code is hard to understand because im not really a llvm framework developer. Another question, the GC tutorial refers to "/runtime/GC/SemiSpace/semispace.cpp" (a simple gc on top of the shadow-stack) but this file does not exist in the 2.6 release, I was able to find it in older releases. Is it out-dated? will there be an example garbage collector in the 2.7 release? Are there any other code examples of garbage collectors written on...
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
2006 Feb 27
0
[LLVMdev] Garbage collection questions
...**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 some code which says it should be in a code-generator library. If I were to write a collector, should I also include this code for the time being? Or will this soon be refactored into an external interface? 3. void %llvm.gcroot(<ty>** %ptrloc, <ty2>* %metadata) I do...