From: Rodrigo Kumpera Date: Wed, 4 Jun 2014 16:41:32 +0000 (-0400) Subject: [sgen] Use size_t for all heap limits. X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=137d0578d24e66740fec8245fa0c6c3ee9cea676;p=mono.git [sgen] Use size_t for all heap limits. --- diff --git a/mono/metadata/sgen-gc.h b/mono/metadata/sgen-gc.h index 49b6d08650b..9cd8e9e96b7 100644 --- a/mono/metadata/sgen-gc.h +++ b/mono/metadata/sgen-gc.h @@ -692,7 +692,7 @@ struct _SgenMajorCollector { gboolean (*ptr_is_in_non_pinned_space) (char *ptr, char **start); gboolean (*obj_is_from_pinned_alloc) (char *obj); void (*report_pinned_memory_usage) (void); - int (*get_num_major_sections) (void); + size_t (*get_num_major_sections) (void); gboolean (*handle_gc_param) (const char *opt); void (*print_gc_param_usage) (void); gboolean (*is_worker_thread) (MonoNativeThreadId thread); diff --git a/mono/metadata/sgen-marksweep.c b/mono/metadata/sgen-marksweep.c index d036c751822..fda177a07d4 100755 --- a/mono/metadata/sgen-marksweep.c +++ b/mono/metadata/sgen-marksweep.c @@ -217,7 +217,7 @@ static size_t num_empty_blocks = 0; #define FOREACH_BLOCK(bl) for ((bl) = all_blocks; (bl); (bl) = (bl)->next) { #define END_FOREACH_BLOCK } -static int num_major_sections = 0; +static size_t num_major_sections = 0; /* one free block list for each block object size */ static MSBlockInfo **free_block_lists [MS_BLOCK_TYPE_MAX]; @@ -833,7 +833,7 @@ static void* major_alloc_degraded (MonoVTable *vtable, size_t size) { void *obj; - int old_num_sections; + size_t old_num_sections; old_num_sections = num_major_sections; @@ -1831,7 +1831,7 @@ ms_calculate_block_obj_sizes (double factor, int *arr) } /* only valid during minor collections */ -static int old_num_major_sections; +static mword old_num_major_sections; static void major_start_nursery_collection (void) @@ -2107,7 +2107,7 @@ major_get_used_size (void) return size; } -static int +static size_t get_num_major_sections (void) { return num_major_sections; diff --git a/mono/metadata/sgen-memory-governor.c b/mono/metadata/sgen-memory-governor.c index 2081de4fc73..448ebef3f05 100644 --- a/mono/metadata/sgen-memory-governor.c +++ b/mono/metadata/sgen-memory-governor.c @@ -57,14 +57,14 @@ static gboolean debug_print_allowance = FALSE; /* use this to tune when to do a major/minor collection */ static mword memory_pressure = 0; static mword minor_collection_allowance; -static int minor_collection_sections_alloced = 0; +static mword minor_collection_sections_alloced = 0; -static int last_major_num_sections = 0; -static int last_los_memory_usage = 0; +static mword last_major_num_sections = 0; +static mword last_los_memory_usage = 0; static gboolean need_calculate_minor_collection_allowance; -static int last_collection_old_num_major_sections; +static mword last_collection_old_num_major_sections; static mword last_collection_los_memory_usage = 0; static mword last_collection_old_los_memory_usage; static mword last_collection_los_memory_alloced; @@ -85,7 +85,7 @@ double_to_mword_with_saturation (double value) static void sgen_memgov_try_calculate_minor_collection_allowance (gboolean overwrite) { - int num_major_sections, num_major_sections_saved; + size_t num_major_sections, num_major_sections_saved; mword los_memory_saved, new_major, new_heap_size, save_target, allowance_target; if (overwrite) @@ -210,7 +210,7 @@ static void log_timming (GGTimingInfo *info) { //unsigned long stw_time, unsigned long bridge_time, gboolean is_overflow - int num_major_sections = major_collector.get_num_major_sections (); + mword num_major_sections = major_collector.get_num_major_sections (); char full_timing_buff [1024]; full_timing_buff [0] = '\0'; @@ -248,7 +248,7 @@ sgen_memgov_collection_end (int generation, GGTimingInfo* info, int info_count) } void -sgen_register_major_sections_alloced (int num_sections) +sgen_register_major_sections_alloced (size_t num_sections) { minor_collection_sections_alloced += num_sections; } @@ -342,7 +342,7 @@ sgen_free_os_memory (void *addr, size_t size, SgenAllocFlags flags) g_assert (!(flags & ~SGEN_ALLOC_HEAP)); mono_vfree (addr, size); - SGEN_ATOMIC_ADD_P (total_alloc, -size); + SGEN_ATOMIC_ADD_P (total_alloc, -(gssize)size); if (flags & SGEN_ALLOC_HEAP) MONO_GC_HEAP_FREE ((mword)addr, size); } @@ -369,7 +369,7 @@ sgen_memgov_available_free_space (void) void sgen_memgov_release_space (mword size, int space) { - SGEN_ATOMIC_ADD_P (allocated_heap, -size); + SGEN_ATOMIC_ADD_P (allocated_heap, -(gssize)size); } gboolean diff --git a/mono/metadata/sgen-memory-governor.h b/mono/metadata/sgen-memory-governor.h index 497ecb05765..08b1e082f5d 100644 --- a/mono/metadata/sgen-memory-governor.h +++ b/mono/metadata/sgen-memory-governor.h @@ -39,7 +39,7 @@ 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, GGTimingInfo* info, int info_count) MONO_INTERNAL; -void sgen_register_major_sections_alloced (int num_sections) MONO_INTERNAL; +void sgen_register_major_sections_alloced (mword num_sections) MONO_INTERNAL; mword sgen_get_minor_collection_allowance (void) MONO_INTERNAL; gboolean sgen_need_major_collection (mword space_needed) MONO_INTERNAL;