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 | 93c9587fbbbc0a6b6a64df9ea6184b7fdf8eba35 (patch) | |
tree | c3a36786aca89b85bdf981533788105e661d1631 /runtime/GC | |
parent | 9545a1797b99cad119d2dfaa975f6e95c745b62a (diff) | |
download | external_llvm-93c9587fbbbc0a6b6a64df9ea6184b7fdf8eba35.zip external_llvm-93c9587fbbbc0a6b6a64df9ea6184b7fdf8eba35.tar.gz external_llvm-93c9587fbbbc0a6b6a64df9ea6184b7fdf8eba35.tar.bz2 |
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15097 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'runtime/GC')
-rw-r--r-- | runtime/GC/GCInterface.h | 4 | ||||
-rw-r--r-- | runtime/GC/SemiSpace/semispace.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/runtime/GC/GCInterface.h b/runtime/GC/GCInterface.h index e2a9b68..e83abe0 100644 --- a/runtime/GC/GCInterface.h +++ b/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/runtime/GC/SemiSpace/semispace.c b/runtime/GC/SemiSpace/semispace.c index df60b62..cb5864b 100644 --- a/runtime/GC/SemiSpace/semispace.c +++ b/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; } /*===----------------------------------------------------------------------===** |