mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-28 22:24:28 +00:00
Initial checkin of GC implementation support files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13700 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
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
|
Reference in New Issue
Block a user