X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmono-hash.c;h=49fac50c681e62f74e823ec6f9808bf6a7048c88;hb=aa3de31b70d1c5826d67147696423cdd9c334d41;hp=a5f3ff809ad9c4faffcc2e7c390445aebfc0fb82;hpb=6352c16dd5306ccb8bedc742bf99505688695dc6;p=mono.git diff --git a/mono/metadata/mono-hash.c b/mono/metadata/mono-hash.c index a5f3ff809ad..49fac50c681 100644 --- a/mono/metadata/mono-hash.c +++ b/mono/metadata/mono-hash.c @@ -68,7 +68,7 @@ struct _MonoGHashTable { #ifdef HAVE_SGEN_GC static void *table_hash_descr = NULL; -static void mono_g_hash_mark (void *addr, MonoGCMarkFunc mark_func); +static void mono_g_hash_mark (void *addr, MonoGCMarkFunc mark_func, void *gc_data); static Slot* new_slot (MonoGHashTable *hash) @@ -481,7 +481,7 @@ mono_g_hash_table_print_stats (MonoGHashTable *table) /* GC marker function */ static void -mono_g_hash_mark (void *addr, MonoGCMarkFunc mark_func) +mono_g_hash_mark (void *addr, MonoGCMarkFunc mark_func, void *gc_data) { MonoGHashTable *table = (MonoGHashTable*)addr; Slot *node; @@ -491,23 +491,23 @@ mono_g_hash_mark (void *addr, MonoGCMarkFunc mark_func) for (i = 0; i < table->table_size; i++) { for (node = table->table [i]; node; node = node->next) { if (node->key) - mark_func (&node->key); + mark_func (&node->key, gc_data); } } } else if (table->gc_type == MONO_HASH_VALUE_GC) { for (i = 0; i < table->table_size; i++) { for (node = table->table [i]; node; node = node->next) { if (node->value) - mark_func (&node->value); + mark_func (&node->value, gc_data); } } } else if (table->gc_type == MONO_HASH_KEY_VALUE_GC) { for (i = 0; i < table->table_size; i++) { for (node = table->table [i]; node; node = node->next) { if (node->key) - mark_func (&node->key); + mark_func (&node->key, gc_data); if (node->value) - mark_func (&node->value); + mark_func (&node->value, gc_data); } } }