[corlib] GetGenericArguments from reference sources
[mono.git] / mono / metadata / sgen-memory-governor.c
index 5d17a0d721cb0d1c08b4daa4c1f6d84991f8592b..63b01840674b0f1136a648715cfad9fd98b9ab71 100644 (file)
@@ -87,7 +87,7 @@ sgen_memgov_try_calculate_minor_collection_allowance (gboolean overwrite)
        if (!need_calculate_minor_collection_allowance)
                return;
 
-       if (!*major_collector.have_swept) {
+       if (!major_collector.have_finished_sweeping ()) {
                if (overwrite)
                        minor_collection_allowance = MIN_MINOR_COLLECTION_ALLOWANCE;
                return;
@@ -123,8 +123,8 @@ sgen_memgov_try_calculate_minor_collection_allowance (gboolean overwrite)
                SGEN_LOG (1, "Allowance: %ld bytes", (long)minor_collection_allowance);
        }
 
-       if (major_collector.have_computed_minor_collection_allowance)
-               major_collector.have_computed_minor_collection_allowance ();
+       if (major_collector.free_swept_blocks)
+               major_collector.free_swept_blocks ();
 
        need_calculate_minor_collection_allowance = FALSE;
 }
@@ -355,8 +355,10 @@ sgen_memgov_release_space (mword size, int space)
 gboolean
 sgen_memgov_try_alloc_space (mword size, int space)
 {
-       if (sgen_memgov_available_free_space () < size)
+       if (sgen_memgov_available_free_space () < size) {
+               SGEN_ASSERT (4, !sgen_is_worker_thread (mono_native_thread_id_get ()), "Memory shouldn't run out in worker thread");
                return FALSE;
+       }
 
        SGEN_ATOMIC_ADD_P (allocated_heap, size);
        mono_runtime_resource_check_limit (MONO_RESOURCE_GC_HEAP, allocated_heap);