Displaying 2 results from an estimated 2 matches for "pointer_from_objref".
2019 Oct 01
2
Proposal for llvm.experimental.gc intrinsics for inttoptr and ptrtoint
...llaboration, or at least sharing insights and
experiences!
llvm.experimental.gc.ptrtoint:
dropgcroot_type = FunctionType::get(PtrIntTy,
makeArrayRef(PointerType::get(AddressSpace::Derived)), false);
dropgcroot_func = Function::Create(dropgcroot_type,
Function::ExternalLinkage, "julia.pointer_from_objref");
dropgcroot_func->addFnAttr(Attribute::ReadNone);
dropgcroot_func->addFnAttr(Attribute::NoUnwind);
declare void* @"julia.pointer_from_objref"(void addrspace(2)*) readnone
unwind
(AddressSpace::Derived in the signature means it doesn't need to be valid
as a r...
2019 Sep 30
2
Proposal for llvm.experimental.gc intrinsics for inttoptr and ptrtoint
Hi All,
I'm working on a project converting Dart to llvm. Dart uses a relocating GC
but additionally uses pointer tagging. The first bit of a pointer is a tag.
For integers a '0' bit is used and for pointers to objects a '1' bit is
used. V8 apparently uses a similar technique. Generated code may need to
check which bit is used when this information isn't statically known.