From 7b412cb823f09378d45a0d0baf1127f4466c640c Mon Sep 17 00:00:00 2001
From: Chris Lattner
Date: Wed, 12 Sep 2007 17:53:10 +0000
Subject: Change llvm.gcroot to not init the root to null at runtime, this
prevents using it for live-in values etc.
llvm-svn: 41879
---
llvm/docs/GarbageCollection.html | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
(limited to 'llvm/docs/GarbageCollection.html')
diff --git a/llvm/docs/GarbageCollection.html b/llvm/docs/GarbageCollection.html
index 0accd0c78a0..e39e85ce3cd 100644
--- a/llvm/docs/GarbageCollection.html
+++ b/llvm/docs/GarbageCollection.html
@@ -166,9 +166,7 @@ interface that front-end authors should generate code for.
The llvm.gcroot intrinsic is used to inform LLVM of a pointer variable
on the stack. The first argument contains the address of the variable on the
stack, and the second contains a pointer to metadata that should be associated
-with the pointer (which must be a constant or global value address). At
-runtime, the llvm.gcroot intrinsic stores a null pointer into the
-specified location to initialize the pointer.
+with the pointer (which must be a constant or global value address).
Consider the following fragment of Java code:
@@ -193,6 +191,9 @@ Entry:
%X = alloca %Object*
...
+ ;; Java null-initializes pointers.
+ store %Object* null, %Object** %X
+
;; "CodeBlock" is the block corresponding to the start
;; of the scope above.
CodeBlock:
--
cgit v1.2.3