[sgen] Improve memory usage with the concurrent collector
[mono.git] / mono / sgen / sgen-pinning.c
index 6d122f8ab395841c8c7050738f293288b6509d41..a94af9ddf4494db961697faac801a9273bece46b 100644 (file)
@@ -173,14 +173,14 @@ sgen_dump_pin_queue (void)
        int i;
 
        for (i = 0; i < last_num_pinned; ++i) {
-               void *ptr = pin_queue.data [i];
+               GCObject *ptr = (GCObject *)pin_queue.data [i];
                SGEN_LOG (3, "Bastard pinning obj %p (%s), size: %zd", ptr, sgen_client_vtable_get_name (SGEN_LOAD_VTABLE (ptr)), sgen_safe_object_get_size (ptr));
        }
 }
 
 typedef struct _CementHashEntry CementHashEntry;
 struct _CementHashEntry {
-       char *obj;
+       GCObject *obj;
        unsigned int count;
 };
 
@@ -202,7 +202,7 @@ sgen_cement_reset (void)
 }
 
 gboolean
-sgen_cement_lookup (char *obj)
+sgen_cement_lookup (GCObject *obj)
 {
        guint hv = sgen_aligned_addr_hash (obj);
        int i = SGEN_CEMENT_HASH (hv);
@@ -221,7 +221,7 @@ sgen_cement_lookup (char *obj)
 }
 
 gboolean
-sgen_cement_lookup_or_register (char *obj)
+sgen_cement_lookup_or_register (GCObject *obj)
 {
        guint hv;
        int i;
@@ -252,7 +252,7 @@ sgen_cement_lookup_or_register (char *obj)
                SGEN_CEMENT_OBJECT (obj);
 
                binary_protocol_cement (obj, (gpointer)SGEN_LOAD_VTABLE (obj),
-                               (int)sgen_safe_object_get_size ((GCObject*)obj));
+                               (int)sgen_safe_object_get_size (obj));
        }
 
        return FALSE;