X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=libgc%2Fmark.c;h=e870342e4121c2b7a92f56813605ef042502ed5f;hb=c889057d6474dd7e077a4622bce8afe182f4164d;hp=dd1fbd5f2fbe86789a77556c561e504e1b2c987c;hpb=234225d112c4b018b8d1796f4c06a15812137500;p=mono.git diff --git a/libgc/mark.c b/libgc/mark.c index dd1fbd5f2fb..e870342e412 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; @@ -936,7 +936,7 @@ void GC_do_local_mark(mse *local_mark_stack, mse *local_top) /* Try to share the load, since the main stack is empty, */ /* and helper threads are waiting for a refill. */ /* The entries near the bottom of the stack are likely */ - /* to require more work. Thus we return those, eventhough */ + /* to require more work. Thus we return those, even though */ /* it's harder. */ mse * p; mse * new_bottom = local_mark_stack @@ -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;