[llvm-commits] CVS: llvm/runtime/GC/GCInterface.h Makefile gc_exported_symbols.lst

Reid Spencer reid at x10sys.com
Thu Nov 16 19:33:09 PST 2006



Changes in directory llvm/runtime/GC:

GCInterface.h updated: 1.5 -> 1.6
Makefile updated: 1.4 -> 1.5
gc_exported_symbols.lst updated: 1.2 -> 1.3
---
Log message:

Undo removal of the runtime libraries. While this may have been a bit
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.


---
Diffs of the changes:  (+74 -0)

 GCInterface.h           |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 Makefile                |   19 +++++++++++++++++++
 gc_exported_symbols.lst |    7 +++++++
 3 files changed, 74 insertions(+)


Index: llvm/runtime/GC/GCInterface.h
diff -u /dev/null llvm/runtime/GC/GCInterface.h:1.6
--- /dev/null	Thu Nov 16 21:32:43 2006
+++ llvm/runtime/GC/GCInterface.h	Thu Nov 16 21:32:33 2006
@@ -0,0 +1,48 @@
+/*===-- 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


Index: llvm/runtime/GC/Makefile
diff -u /dev/null llvm/runtime/GC/Makefile:1.5
--- /dev/null	Thu Nov 16 21:33:09 2006
+++ llvm/runtime/GC/Makefile	Thu Nov 16 21:32:33 2006
@@ -0,0 +1,19 @@
+##===- 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
+EXTRA_DIST := gc_exported_symbols.lst
+include $(LEVEL)/Makefile.common
+
+# Install target for libraries: Copy into $LLVMGCCDIR/bytecode-libs
+#
+install::
+
+clean::


Index: llvm/runtime/GC/gc_exported_symbols.lst
diff -u /dev/null llvm/runtime/GC/gc_exported_symbols.lst:1.3
--- /dev/null	Thu Nov 16 21:33:09 2006
+++ llvm/runtime/GC/gc_exported_symbols.lst	Thu Nov 16 21:32:33 2006
@@ -0,0 +1,7 @@
+llvm_gc_initialize
+llvm_gc_allocate
+llvm_gc_collect
+llvm_gc_write
+llvm_gc_read
+
+llvm_gc_root_chain
\ No newline at end of file






More information about the llvm-commits mailing list