mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 05:32:25 +00:00
Update documentation for gc intrinsics change. Contributed by
Tobias Nurmiranta git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15095 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
de1618f1bb
commit
728f03f2ad
@ -234,8 +234,8 @@ zeroed-out block of memory of the appropriate size.</p>
|
||||
<div class="doc_text">
|
||||
|
||||
<div class="doc_code"><tt>
|
||||
sbyte *%llvm.gcread(sbyte **)<br>
|
||||
void %llvm.gcwrite(sbyte*, sbyte**)
|
||||
sbyte *%llvm.gcread(sbyte *, sbyte **)<br>
|
||||
void %llvm.gcwrite(sbyte*, sbyte*, sbyte**)
|
||||
</tt></div>
|
||||
|
||||
<p>Several of the more interesting garbage collectors (e.g., generational
|
||||
@ -250,7 +250,9 @@ tolerable.</p>
|
||||
<p>To support garbage collectors that use read or write barriers, LLVM provides
|
||||
the <tt>llvm.gcread</tt> and <tt>llvm.gcwrite</tt> intrinsics. The first
|
||||
intrinsic has exactly the same semantics as a non-volatile LLVM load and the
|
||||
second has the same semantics as a non-volatile LLVM store. At code generation
|
||||
second has the same semantics as a non-volatile LLVM store, with the
|
||||
additions that they also take a pointer to the start of the memory
|
||||
object as an argument. At code generation
|
||||
time, these intrinsics are replaced with calls into the garbage collector
|
||||
(<tt><a href="#llvm_gc_readwrite">llvm_gc_read</a></tt> and <tt><a
|
||||
href="#llvm_gc_readwrite">llvm_gc_write</a></tt> respectively), which are then
|
||||
@ -341,8 +343,8 @@ implementations</a> available.
|
||||
|
||||
<div class="doc_text">
|
||||
<div class="doc_code"><tt>
|
||||
void *llvm_gc_read(void **)<br>
|
||||
void llvm_gc_write(void*, void**)
|
||||
void *llvm_gc_read(void*, void **)<br>
|
||||
void llvm_gc_write(void*, void *, void**)
|
||||
</tt></div>
|
||||
|
||||
<p>
|
||||
@ -353,8 +355,7 @@ pointer, then return.
|
||||
|
||||
<p>
|
||||
If an actual read or write barrier is needed, it should be straight-forward to
|
||||
implement it. Note that we may add a pointer to the start of the memory object
|
||||
as a parameter in the future, if needed.
|
||||
implement it.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user