X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=libgc%2Fmark.c;h=e14e5296c59f76d309ed7c7bc0d6c745019cde32;hb=ab87d5de93758035f1563de4a15bac87650c23df;hp=dd1fbd5f2fbe86789a77556c561e504e1b2c987c;hpb=7e18ed47c9606f3981e7b18cbc238d6781843153;p=mono.git diff --git a/libgc/mark.c b/libgc/mark.c index dd1fbd5f2fb..e14e5296c59 100644 --- a/libgc/mark.c +++ b/libgc/mark.c @@ -28,7 +28,7 @@ #ifdef __WATCOMC__ void GC_noop(void *p, ...) {} #else - void GC_noop() {} + void GC_noop(void *p, ...) {} #endif /* Single argument version, robust against whole program analysis. */ @@ -858,9 +858,9 @@ mse * GC_steal_mark_stack(mse * low, mse * high, mse * local, ++top; top -> mse_descr = descr; top -> mse_start = p -> mse_start; - GC_ASSERT( top -> mse_descr & GC_DS_TAGS != GC_DS_LENGTH || - top -> mse_descr < GC_greatest_plausible_heap_addr - - GC_least_plausible_heap_addr); + GC_ASSERT( (top -> mse_descr & GC_DS_TAGS) != GC_DS_LENGTH || + top -> mse_descr < (ptr_t)GC_greatest_plausible_heap_addr + - (ptr_t)GC_least_plausible_heap_addr); /* If this is a big object, count it as */ /* size/256 + 1 objects. */ ++i; @@ -1450,8 +1450,8 @@ void GC_push_all_eager(bottom, top) ptr_t bottom; ptr_t top; { - word * b = (word *)(((long) bottom + ALIGNMENT-1) & ~(ALIGNMENT-1)); - word * t = (word *)(((long) top) & ~(ALIGNMENT-1)); + word * b = (word *)(((word) bottom + ALIGNMENT-1) & ~(ALIGNMENT-1)); + word * t = (word *)(((word) top) & ~(ALIGNMENT-1)); register word *p; register word q; register word *lim; @@ -1739,7 +1739,7 @@ register hdr * hhdr; { register int sz = hhdr -> hb_sz; - if (sz < MAXOBJSZ) { + if (sz <= MAXOBJSZ) { return(GC_page_was_dirty(h)); } else { register ptr_t p = (ptr_t)h;