search for: initedroot

Displaying 5 results from an estimated 5 matches for "initedroot".

Did you mean: initedroots
2009 Mar 20
0
[LLVMdev] GC interface suggestions
...me implementations require more data than just the pointer for handling references to the interior of an aggregate. On my end it just required changing ConstantPointerNull::get() to Constant::GetNullValue() to support fat pointers. The roots that were being initialized also weren't added to the InitedRoots set so the generated code would be multiply-initializing the same roots if they were rooted more than once. @@ -178,10 +180,10 @@ for (AllocaInst **I = Roots, **E = Roots + Count; I != E; ++I) if (!InitedRoots.count(*I)) { - new StoreInst(ConstantPointerNull::get(cast<PointerT...
2008 Nov 07
2
[LLVMdev] non-pointer gcroot
...inter. I was hoping to modify InsertRootInitializers to memset the structure in the case that it's not a pointer, but I'm not sure how to. Can anyone suggest what should go at "todo; something here"? ... for (AllocaInst **I = Roots, **E = Roots + Count; I != E; ++I) if (!InitedRoots.count(*I)) { const Type* Ty = cast<PointerType>((*I)->getType())->getElementType(); if (Ty->getTypeID() == Type::PointerTyID) { new StoreInst(ConstantPointerNull::get(cast<PointerType>(Ty)), *I, IP); } else { // todo; something here } MadeChang...
2011 Oct 08
0
[LLVMdev] Initializing GC roots
...invasively, you could consider adding a hook to GCStrategy which replaces the indicated call to ConstantPointerNull::get in LowerIntrinsics::InsertRootInitializers: // Add root initializers. bool MadeChange = false; for (AllocaInst **I = Roots, **E = Roots + Count; I != E; ++I) if (!InitedRoots.count(*I)) { ====> StoreInst* SI = new StoreInst(ConstantPointerNull::get(cast<PointerType>( ====> cast<PointerType>((*I)->getType())->getElementType())), *I); SI->insertAfter(*I); MadeChange = true; } return...
2011 Oct 06
2
[LLVMdev] Initializing GC roots
Hello all, I set: InitRoots = true; in my gc plugin as i want the roots to be initialized to the "null" value. Is there a way to define which value should be the initial one? For example, i would like to initialize my roots to -5 (tagged, null value for the GC in my runtime system) instead of 0. Ofcourse, i could do it in the frontend (storing -5 to all GC roots), but i was wondering
2008 Nov 08
0
[LLVMdev] non-pointer gcroot
...InsertRootInitializers to memset the > structure in the case that it's not a pointer, but I'm not sure how > to. Can anyone suggest what should go at "todo; something here"? > > ... > for (AllocaInst **I = Roots, **E = Roots + Count; I != E; ++I) > if (!InitedRoots.count(*I)) { > const Type* Ty = cast<PointerType>((*I)->getType())- > >getElementType(); > if (Ty->getTypeID() == Type::PointerTyID) { > new StoreInst(ConstantPointerNull::get(cast<PointerType>(Ty)), > *I, IP); > } else { > // todo...