diff options
author | Chris Lattner <sabre@nondot.org> | 2007-09-21 17:30:40 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-09-21 17:30:40 +0000 |
commit | 1df4f752f86a28427fcf46d395d8d5415f58c223 (patch) | |
tree | 1d93a1ab675c22391c78d9c9eac022c7efcffbe0 /docs/GarbageCollection.html | |
parent | dfe8934258086ca901122d6ce48c64f297a10404 (diff) | |
download | external_llvm-1df4f752f86a28427fcf46d395d8d5415f58c223.zip external_llvm-1df4f752f86a28427fcf46d395d8d5415f58c223.tar.gz external_llvm-1df4f752f86a28427fcf46d395d8d5415f58c223.tar.bz2 |
gcroot must take concrete types, not arbitrary types.
clean up intrinsic descriptions in langref a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42194 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/GarbageCollection.html')
-rw-r--r-- | docs/GarbageCollection.html | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/docs/GarbageCollection.html b/docs/GarbageCollection.html index e39e85c..df887f3 100644 --- a/docs/GarbageCollection.html +++ b/docs/GarbageCollection.html @@ -159,7 +159,7 @@ interface that front-end authors should generate code for. <div class="doc_text"> <div class="doc_code"><tt> - void %llvm.gcroot(<ty>** %ptrloc, <ty2>* %metadata) + void %llvm.gcroot(i8** %ptrloc, i8* %metadata) </tt></div> <p> @@ -200,7 +200,8 @@ CodeBlock: ;; Initialize the object, telling LLVM that it is now live. ;; Java has type-tags on objects, so it doesn't need any ;; metadata. - call void %llvm.gcroot(%Object** %X, sbyte* null) + %tmp = bitcast %Object** %X to i8** + call void %llvm.gcroot(i8** %tmp, i8* null) ... ;; As the pointer goes out of scope, store a null value into @@ -219,7 +220,7 @@ CodeBlock: <div class="doc_text"> <div class="doc_code"><tt> - sbyte *%llvm_gc_allocate(unsigned %Size) + void *%llvm_gc_allocate(unsigned %Size) </tt></div> <p>The <tt>llvm_gc_allocate</tt> function is a global function defined by the @@ -236,8 +237,8 @@ zeroed-out block of memory of the appropriate size.</p> <div class="doc_text"> <div class="doc_code"><tt> - sbyte *%llvm.gcread(sbyte *, sbyte **)<br> - void %llvm.gcwrite(sbyte*, sbyte*, sbyte**) + i8 *%llvm.gcread(i8 *, i8 **)<br> + void %llvm.gcwrite(i8*, i8*, i8**) </tt></div> <p>Several of the more interesting garbage collectors (e.g., generational |