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...