Merge pull request #811 from criteo/16334-ConcurrentBag
[mono.git] / mono / metadata / sgen-memory-governor.h
index ea9211856abc1ec2578827d6efa4a0d1f433b2a7..1dd344524e07a0a339a9b3f71f954b6389ebcd49 100644 (file)
@@ -37,17 +37,26 @@ void sgen_memgov_major_collection_start (void) MONO_INTERNAL;
 void sgen_memgov_major_collection_end (void) MONO_INTERNAL;
 
 void sgen_memgov_collection_start (int generation) MONO_INTERNAL;
-void sgen_memgov_collection_end (int generation, unsigned long pause_time, unsigned long bridge_pause_time) MONO_INTERNAL;
+void sgen_memgov_collection_end (int generation, GGTimingInfo* info, int info_count) MONO_INTERNAL;
 
 void sgen_register_major_sections_alloced (int num_sections) MONO_INTERNAL;
 mword sgen_get_minor_collection_allowance (void) MONO_INTERNAL;
 gboolean sgen_need_major_collection (mword space_needed) MONO_INTERNAL;
 
 
+typedef enum {
+       SGEN_ALLOC_INTERNAL = 0,
+       SGEN_ALLOC_HEAP = 1,
+       SGEN_ALLOC_ACTIVATE = 2
+} SgenAllocFlags;
+
 /* OS memory allocation */
-void* sgen_alloc_os_memory (size_t size, int activate) MONO_INTERNAL;
-void* sgen_alloc_os_memory_aligned (size_t size, mword alignment, gboolean activate) MONO_INTERNAL;
-void sgen_free_os_memory (void *addr, size_t size) MONO_INTERNAL;
+void* sgen_alloc_os_memory (size_t size, SgenAllocFlags flags, const char *assert_description) MONO_INTERNAL;
+void* sgen_alloc_os_memory_aligned (size_t size, mword alignment, SgenAllocFlags flags, const char *assert_description) MONO_INTERNAL;
+void sgen_free_os_memory (void *addr, size_t size, SgenAllocFlags flags) MONO_INTERNAL;
+
+/* Error handling */
+void sgen_assert_memory_alloc (void *ptr, size_t requested_size, const char *assert_description) MONO_INTERNAL;
 
 #endif