mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	premature, these libraries will be going away for the 2.0 release. Other arrangements for profiling, gc, etc. should be made in the next few months. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31807 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*===-- GCInterface.h - Public interface exposed by garbage collectors ----===*\
 | 
						|
|*
 | 
						|
|*                     The LLVM Compiler Infrastructure
 | 
						|
|*
 | 
						|
|* This file was developed by the LLVM research group and is distributed under
 | 
						|
|* the University of Illinois Open Source License. See LICENSE.TXT for details.
 | 
						|
|*
 | 
						|
|*===----------------------------------------------------------------------===*|
 | 
						|
|*
 | 
						|
|* This file defines the common public interface that must be exposed by all
 | 
						|
|* LLVM garbage collectors.
 | 
						|
|*
 | 
						|
\*===----------------------------------------------------------------------===*/
 | 
						|
 | 
						|
#ifndef GCINTERFACE_H
 | 
						|
#define GCINTERFACE_H
 | 
						|
 | 
						|
/* llvm_cg_walk_gcroots - This function is exposed by the LLVM code generator,
 | 
						|
 * and allows us to traverse the roots on the stack.
 | 
						|
 */
 | 
						|
void llvm_cg_walk_gcroots(void (*FP)(void **Root, void *Meta));
 | 
						|
 | 
						|
 | 
						|
/* llvm_gc_initialize - This function is called to initalize the garbage
 | 
						|
 * collector.
 | 
						|
 */
 | 
						|
void llvm_gc_initialize(unsigned InitialHeapSize);
 | 
						|
 | 
						|
/* llvm_gc_allocate - This function allocates Size bytes from the heap and
 | 
						|
 * returns a pointer to it.
 | 
						|
 */
 | 
						|
void *llvm_gc_allocate(unsigned Size);
 | 
						|
 | 
						|
/* llvm_gc_collect - This function forces a garbage collection cycle.
 | 
						|
 */
 | 
						|
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 *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 *ObjPtr, void **FieldPtr);
 | 
						|
 | 
						|
#endif
 |