diff options
| author | Chris Lattner <sabre@nondot.org> | 2004-07-22 05:51:13 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2004-07-22 05:51:13 +0000 |
| commit | 51f7c9e56d764825e84e0af785caf486e2e6bd04 (patch) | |
| tree | 8b516e065ab19e90975015a738ca066953447fe7 /llvm/runtime | |
| parent | 001aba76fd9f06a05972da9a55c09e1b389b1baf (diff) | |
| download | bcm5719-llvm-51f7c9e56d764825e84e0af785caf486e2e6bd04.tar.gz bcm5719-llvm-51f7c9e56d764825e84e0af785caf486e2e6bd04.zip | |
Update GC intrinsics to take a pointer to the object as well as a pointer
to the field being updated. Patch contributed by Tobias Nurmiranta
llvm-svn: 15097
Diffstat (limited to 'llvm/runtime')
| -rw-r--r-- | llvm/runtime/GC/GCInterface.h | 4 | ||||
| -rw-r--r-- | llvm/runtime/GC/SemiSpace/semispace.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/llvm/runtime/GC/GCInterface.h b/llvm/runtime/GC/GCInterface.h index e2a9b68fc70..e83abe0d167 100644 --- a/llvm/runtime/GC/GCInterface.h +++ b/llvm/runtime/GC/GCInterface.h @@ -38,11 +38,11 @@ void llvm_gc_collect(); /* llvm_gc_read - This function should be implemented to include any read * barrier code that is needed by the garbage collector. */ -void *llvm_gc_read(void **P); +void *llvm_gc_read(void *ObjPtr, void **FieldPtr); /* llvm_gc_write - This function should be implemented to include any write * barrier code that is needed by the garbage collector. */ -void llvm_gc_write(void *V, void **P); +void llvm_gc_write(void *V, void *ObjPtr, void **FieldPtr); #endif diff --git a/llvm/runtime/GC/SemiSpace/semispace.c b/llvm/runtime/GC/SemiSpace/semispace.c index df60b623b0d..cb5864b0bd6 100644 --- a/llvm/runtime/GC/SemiSpace/semispace.c +++ b/llvm/runtime/GC/SemiSpace/semispace.c @@ -89,8 +89,8 @@ void llvm_gc_collect() { } /* We use no read/write barriers */ -void *llvm_gc_read(void **P) { return *P; } -void llvm_gc_write(void *V, void **P) { *P = V; } +void *llvm_gc_read(void *ObjPtr, void **FieldPtr) { return *FieldPtr; } +void llvm_gc_write(void *V, void *ObjPtr, void **FieldPtr) { *FieldPtr = V; } /*===----------------------------------------------------------------------===** |

