Displaying 2 results from an estimated 2 matches for "load_value".
2016 Jul 11
4
RFC: Strong GC References in LLVM
...t's either on the heap, or in
an alloca.
2. Add an intrinsic gcref.copy which copies a gcref between two allocas.
3. Add intrinsics gcref.load_gcref(GCREF*, GCREF*, offset) and
gcref.store_gcref(GCREF*, GCREF*, offset, value) which load and store a
gcref through a gcref.
4. Add intrinsics gcref.load_value(GCREF*, offset) and
gcref.store_value(GCREF*, offset, value) which load and store normal values
a gcref.
5. The statepoint lowering pass gets rid of the allocas.
Keeping GCREFs exclusively in memory means the LLVM optimizer will handle
them conservatively, but correctly.
I guess the problem with...
2016 Jun 24
6
RFC: Strong GC References in LLVM
This is a proposal to add strong GC reference types to LLVM.
We have some local (downstream) patches that are needed to prevent
LLVM's optimizer from making transforms that are problematic in the
presence of a precise relocating GC. Adding a notion of a strong GC
reference to LLVM will let us upstream these patches in a principled
manner, and will act as a measure to avoid new problematic