[coop] Add missing coop checks for WFSO and WFMO.
[mono.git] / mono / metadata / sgen-pointer-queue.h
index d972f3cc92e235f04cb200d33622846f9ed53bd8..2f8b4cc3874ea3585566402e1653790a77c24bad 100644 (file)
 #ifndef __MONO_SGEN_POINTER_QUEUE_H__
 #define __MONO_SGEN_POINTER_QUEUE_H__
 
+#include <glib.h>
+
 typedef struct {
        void **data;
        size_t size;
        size_t next_slot;
+       int mem_type;
 } SgenPointerQueue;
 
-void sgen_pointer_queue_add (SgenPointerQueue *queue, void *ptr) MONO_INTERNAL;
-void sgen_pointer_queue_clear (SgenPointerQueue *queue) MONO_INTERNAL;
-void sgen_pointer_queue_remove_nulls (SgenPointerQueue *queue) MONO_INTERNAL;
-void sgen_pointer_queue_sort_uniq (SgenPointerQueue *queue) MONO_INTERNAL;
-size_t sgen_pointer_queue_search (SgenPointerQueue *queue, void *addr) MONO_INTERNAL;
-size_t sgen_pointer_queue_find (SgenPointerQueue *queue, void *ptr) MONO_INTERNAL;
+void sgen_pointer_queue_add (SgenPointerQueue *queue, void *ptr);
+void sgen_pointer_queue_clear (SgenPointerQueue *queue);
+void sgen_pointer_queue_remove_nulls (SgenPointerQueue *queue);
+void sgen_pointer_queue_sort_uniq (SgenPointerQueue *queue);
+size_t sgen_pointer_queue_search (SgenPointerQueue *queue, void *addr);
+size_t sgen_pointer_queue_find (SgenPointerQueue *queue, void *ptr);
+void sgen_pointer_queue_init (SgenPointerQueue *queue, int mem_type);
+void* sgen_pointer_queue_pop (SgenPointerQueue *queue);
+gboolean sgen_pointer_queue_is_empty (SgenPointerQueue *queue);
+void sgen_pointer_queue_free (SgenPointerQueue *queue);
+gboolean sgen_pointer_queue_will_grow (SgenPointerQueue *queue);
 
 #endif