Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / libgc / mark.c
index dd1fbd5f2fbe86789a77556c561e504e1b2c987c..e870342e4121c2b7a92f56813605ef042502ed5f 100644 (file)
@@ -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;