aboutsummaryrefslogtreecommitdiff
path: root/system/include/gc.h
diff options
context:
space:
mode:
Diffstat (limited to 'system/include/gc.h')
-rw-r--r--system/include/gc.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/system/include/gc.h b/system/include/gc.h
index e0419dcb..8c5a8989 100644
--- a/system/include/gc.h
+++ b/system/include/gc.h
@@ -29,6 +29,12 @@ void *GC_MALLOC(int bytes);
/* Allocate memory for an object that the user promises will not contain pointers. */
void *GC_MALLOC_ATOMIC(int bytes);
+/* Allocate memory that might container pointers but that can't be collected. */
+void *GC_MALLOC_UNCOLLECTABLE(int bytes);
+
+/* Reallocate a GC managed memory block to a new size. */
+void *GC_REALLOC(void *ptr, int newBytes);
+
/* Explicitly deallocate an object. Dangerous as it forces a free and does not check if the object is reffed. */
void GC_FREE(void *ptr);
@@ -36,6 +42,9 @@ void GC_FREE(void *ptr);
void GC_REGISTER_FINALIZER_NO_ORDER(void *ptr, void (*func)(void *, void *), void *arg,
void *(*old_func)(void *, void *), void *old_arg);
+/* Gets the bytes allocated and managed by the GC */
+int GC_get_heap_size();
+
/* Non-Boehm additions */
/* Call this once per frame or such, it will collect if necessary */