[BACK]Return to typd_mlc.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / gc

Diff for /OpenXM_contrib2/asir2000/gc/typd_mlc.c between version 1.1 and 1.2

version 1.1, 1999/12/03 07:39:10 version 1.2, 2000/12/01 09:26:13
Line 175  GC_descr GC_double_descr(descriptor, nwords)
Line 175  GC_descr GC_double_descr(descriptor, nwords)
 register GC_descr descriptor;  register GC_descr descriptor;
 register word nwords;  register word nwords;
 {  {
     if (descriptor && DS_TAGS == DS_LENGTH) {      if (descriptor & DS_TAGS == DS_LENGTH) {
         descriptor = GC_bm_table[BYTES_TO_WORDS((word)descriptor)];          descriptor = GC_bm_table[BYTES_TO_WORDS((word)descriptor)];
     };      };
     descriptor |= (descriptor & ~DS_TAGS) >> nwords;      descriptor |= (descriptor & ~DS_TAGS) >> nwords;
Line 430  word env;
Line 430  word env;
         if (bm & 1) {          if (bm & 1) {
             current = *current_p;              current = *current_p;
             if ((ptr_t)current >= least_ha && (ptr_t)current <= greatest_ha) {              if ((ptr_t)current >= least_ha && (ptr_t)current <= greatest_ha) {
                 PUSH_CONTENTS(current, mark_stack_ptr,                  PUSH_CONTENTS((ptr_t)current, mark_stack_ptr,
                               mark_stack_limit, current_p, exit1);                                mark_stack_limit, current_p, exit1);
             }              }
         }          }
Line 665  DCL_LOCK_STATE;
Line 665  DCL_LOCK_STATE;
 #           endif  #           endif
         } else {          } else {
             *opp = obj_link(op);              *opp = obj_link(op);
               obj_link(op) = 0;
             GC_words_allocd += lw;              GC_words_allocd += lw;
             FASTUNLOCK();              FASTUNLOCK();
         }          }
Line 708  DCL_LOCK_STATE;
Line 709  DCL_LOCK_STATE;
 #           endif  #           endif
         } else {          } else {
             *opp = obj_link(op);              *opp = obj_link(op);
               obj_link(op) = 0;
             GC_words_allocd += lw;              GC_words_allocd += lw;
             FASTUNLOCK();              FASTUNLOCK();
         }          }
Line 717  DCL_LOCK_STATE;
Line 719  DCL_LOCK_STATE;
        lw = BYTES_TO_WORDS(GC_size(op));         lw = BYTES_TO_WORDS(GC_size(op));
    }     }
    if (op != NULL)     if (op != NULL)
    ((word *)op)[lw - 1] = d;         ((word *)op)[lw - 1] = d;
    return((GC_PTR) op);     return((GC_PTR) op);
 }  }
   
Line 772  DCL_LOCK_STATE;
Line 774  DCL_LOCK_STATE;
 #           endif  #           endif
         } else {          } else {
             *opp = obj_link(op);              *opp = obj_link(op);
               obj_link(op) = 0;
             GC_words_allocd += lw;              GC_words_allocd += lw;
             FASTUNLOCK();              FASTUNLOCK();
         }          }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>