[System.Runtime.Serialization] Static writer fix.
[mono.git] / mono / sgen / sgen-marksweep-scan-object-concurrent.h
index 8ebd8eee2a14a2a05ae799eb74d6f12b6076bd73..541a0a2b52fec22415a6468147e50a8aec241584 100644 (file)
 
 #undef HANDLE_PTR
 #define HANDLE_PTR(ptr,obj)     do {                                    \
-                void *__old = *(ptr);                                   \
-                binary_protocol_scan_process_reference ((obj), (ptr), __old); \
+                GCObject *__old = *(ptr);                                   \
+                binary_protocol_scan_process_reference ((full_object), (ptr), __old); \
                 if (__old) {                                            \
-                        gboolean __still_in_nursery = major_copy_or_mark_object_no_evacuation ((ptr), __old, queue); \
+                        gboolean __still_in_nursery = major_copy_or_mark_object_with_evacuation ((ptr), __old, queue); \
                         if (G_UNLIKELY (__still_in_nursery && !sgen_ptr_in_nursery ((ptr)) && !SGEN_OBJECT_IS_CEMENTED (*(ptr)))) { \
-                                void *__copy = *(ptr);                  \
+                                GCObject *__copy = *(ptr);                  \
                                 sgen_add_to_global_remset ((ptr), __copy); \
                         }                                              \
                 }                                                       \