Merge branch 'master'
[mono.git] / mono / sgen / sgen-marksweep-drain-gray-stack.h
index 2ddb9b050e33c59ff982ad878049bab7f720dda8..677435a0a09cba9abd3d598b18ab7b20350451b1 100644 (file)
@@ -40,7 +40,7 @@ COPY_OR_MARK_FUNCTION_NAME (GCObject **ptr, GCObject *obj, SgenGrayQueue *queue)
 #ifdef HEAVY_STATISTICS
        ++stat_optimized_copy;
        {
-               char *forwarded;
+               GCObject *forwarded;
                SgenDescriptor desc;
                if ((forwarded = SGEN_OBJECT_IS_FORWARDED (obj)))
                        desc = sgen_obj_get_descriptor_safe (forwarded);
@@ -225,10 +225,9 @@ SCAN_OBJECT_FUNCTION_NAME (GCObject *full_object, SgenDescriptor desc, SgenGrayQ
                GCObject *__old = *(ptr);                               \
                binary_protocol_scan_process_reference ((full_object), (ptr), __old); \
                if (__old && !sgen_ptr_in_nursery (__old)) {            \
-                       MSBlockInfo *block = MS_BLOCK_FOR_OBJ (__old);  \
                        if (G_UNLIKELY (!sgen_ptr_in_nursery (ptr) &&   \
                                        sgen_safe_object_is_small (__old, sgen_obj_get_descriptor (__old) & DESC_TYPE_MASK) && \
-                                       major_block_is_evacuating (block))) { \
+                                       major_block_is_evacuating (MS_BLOCK_FOR_OBJ (__old)))) { \
                                mark_mod_union_card ((full_object), (void**)(ptr), __old); \
                        } else {                                        \
                                PREFETCH_READ (__old);                  \