mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
Initial checkin of GC implementation support files
llvm-svn: 13700
This commit is contained in:
parent
e1e37cd089
commit
71890fd358
42
runtime/GC/GCInterface.h
Normal file
42
runtime/GC/GCInterface.h
Normal file
@ -0,0 +1,42 @@
|
||||
/*===-- 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_gc_initialize - This function is called to initalize the garbage
|
||||
* collector.
|
||||
*/
|
||||
void llvm_gc_initialize();
|
||||
|
||||
/* 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 **P);
|
||||
|
||||
/* 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);
|
||||
|
||||
#endif
|
20
runtime/GC/Makefile
Normal file
20
runtime/GC/Makefile
Normal file
@ -0,0 +1,20 @@
|
||||
##===- runtime/GC/Makefile ---------------------------------*- Makefile -*-===##
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
##===----------------------------------------------------------------------===##
|
||||
|
||||
LEVEL = ../..
|
||||
PARALLEL_DIRS := SemiSpace
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
||||
|
||||
# Install target for libraries: Copy into the gcc install directory in chris's
|
||||
# tree...
|
||||
#
|
||||
install::
|
||||
|
||||
clean::
|
7
runtime/GC/gc_exported_symbols.lst
Normal file
7
runtime/GC/gc_exported_symbols.lst
Normal file
@ -0,0 +1,7 @@
|
||||
llvm_gc_initialize
|
||||
llvm_gc_allocate
|
||||
llvm_gc_collect
|
||||
llvm_gc_write
|
||||
llvm_gc_read
|
||||
|
||||
llvm_gc_root_chain
|
Loading…
Reference in New Issue
Block a user