mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
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
This commit is contained in:
@@ -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
|
||||
|
@@ -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; }
|
||||
|
||||
|
||||
/*===----------------------------------------------------------------------===**
|
||||
|
Reference in New Issue
Block a user