emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/alloc.c


From: Andreas Schwab
Subject: [Emacs-diffs] Changes to emacs/src/alloc.c
Date: Tue, 15 Nov 2005 08:53:27 -0500

Index: emacs/src/alloc.c
diff -c emacs/src/alloc.c:1.382 emacs/src/alloc.c:1.383
*** emacs/src/alloc.c:1.382     Wed Nov  9 23:14:12 2005
--- emacs/src/alloc.c   Tue Nov 15 13:53:26 2005
***************
*** 2531,2537 ****
  free_float (ptr)
       struct Lisp_Float *ptr;
  {
!   *(struct Lisp_Float **)&ptr->data = float_free_list;
    float_free_list = ptr;
  }
  
--- 2531,2537 ----
  free_float (ptr)
       struct Lisp_Float *ptr;
  {
!   ptr->u.chain = float_free_list;
    float_free_list = ptr;
  }
  
***************
*** 2549,2555 ****
        /* We use the data field for chaining the free list
         so that we won't use the same field that has the mark bit.  */
        XSETFLOAT (val, float_free_list);
!       float_free_list = *(struct Lisp_Float **)&float_free_list->data;
      }
    else
      {
--- 2549,2555 ----
        /* We use the data field for chaining the free list
         so that we won't use the same field that has the mark bit.  */
        XSETFLOAT (val, float_free_list);
!       float_free_list = float_free_list->u.chain;
      }
    else
      {
***************
*** 2649,2655 ****
  free_cons (ptr)
       struct Lisp_Cons *ptr;
  {
!   *(struct Lisp_Cons **)&ptr->cdr = cons_free_list;
  #if GC_MARK_STACK
    ptr->car = Vdead;
  #endif
--- 2649,2655 ----
  free_cons (ptr)
       struct Lisp_Cons *ptr;
  {
!   ptr->u.chain = cons_free_list;
  #if GC_MARK_STACK
    ptr->car = Vdead;
  #endif
***************
*** 2668,2674 ****
        /* We use the cdr for chaining the free list
         so that we won't use the same field that has the mark bit.  */
        XSETCONS (val, cons_free_list);
!       cons_free_list = *(struct Lisp_Cons **)&cons_free_list->cdr;
      }
    else
      {
--- 2668,2674 ----
        /* We use the cdr for chaining the free list
         so that we won't use the same field that has the mark bit.  */
        XSETCONS (val, cons_free_list);
!       cons_free_list = cons_free_list->u.chain;
      }
    else
      {
***************
*** 2703,2709 ****
    struct Lisp_Cons *tail = cons_free_list;
  
    while (tail)
!     tail = *(struct Lisp_Cons **)&tail->cdr;
  #endif
  }
  
--- 2703,2709 ----
    struct Lisp_Cons *tail = cons_free_list;
  
    while (tail)
!     tail = tail->u.chain;
  #endif
  }
  
***************
*** 3140,3146 ****
    if (symbol_free_list)
      {
        XSETSYMBOL (val, symbol_free_list);
!       symbol_free_list = *(struct Lisp_Symbol **)&symbol_free_list->value;
      }
    else
      {
--- 3140,3146 ----
    if (symbol_free_list)
      {
        XSETSYMBOL (val, symbol_free_list);
!       symbol_free_list = symbol_free_list->next;
      }
    else
      {
***************
*** 5563,5576 ****
        CHECK_ALLOCATED_AND_LIVE (live_cons_p);
        CONS_MARK (ptr);
        /* If the cdr is nil, avoid recursion for the car.  */
!       if (EQ (ptr->cdr, Qnil))
          {
            obj = ptr->car;
            cdr_count = 0;
            goto loop;
          }
        mark_object (ptr->car);
!       obj = ptr->cdr;
        cdr_count++;
        if (cdr_count == mark_object_loop_halt)
          abort ();
--- 5563,5576 ----
        CHECK_ALLOCATED_AND_LIVE (live_cons_p);
        CONS_MARK (ptr);
        /* If the cdr is nil, avoid recursion for the car.  */
!       if (EQ (ptr->u.cdr, Qnil))
          {
            obj = ptr->car;
            cdr_count = 0;
            goto loop;
          }
        mark_object (ptr->car);
!       obj = ptr->u.cdr;
        cdr_count++;
        if (cdr_count == mark_object_loop_halt)
          abort ();
***************
*** 5717,5723 ****
          if (!CONS_MARKED_P (&cblk->conses[i]))
            {
              this_free++;
!             *(struct Lisp_Cons **)&cblk->conses[i].cdr = cons_free_list;
              cons_free_list = &cblk->conses[i];
  #if GC_MARK_STACK
              cons_free_list->car = Vdead;
--- 5717,5723 ----
          if (!CONS_MARKED_P (&cblk->conses[i]))
            {
              this_free++;
!             cblk->conses[i].u.chain = cons_free_list;
              cons_free_list = &cblk->conses[i];
  #if GC_MARK_STACK
              cons_free_list->car = Vdead;
***************
*** 5736,5742 ****
          {
            *cprev = cblk->next;
            /* Unhook from the free list.  */
!           cons_free_list = *(struct Lisp_Cons **) &cblk->conses[0].cdr;
            lisp_align_free (cblk);
            n_cons_blocks--;
          }
--- 5736,5742 ----
          {
            *cprev = cblk->next;
            /* Unhook from the free list.  */
!           cons_free_list = cblk->conses[0].u.chain;
            lisp_align_free (cblk);
            n_cons_blocks--;
          }
***************
*** 5767,5773 ****
          if (!FLOAT_MARKED_P (&fblk->floats[i]))
            {
              this_free++;
!             *(struct Lisp_Float **)&fblk->floats[i].data = float_free_list;
              float_free_list = &fblk->floats[i];
            }
          else
--- 5767,5773 ----
          if (!FLOAT_MARKED_P (&fblk->floats[i]))
            {
              this_free++;
!             fblk->floats[i].u.chain = float_free_list;
              float_free_list = &fblk->floats[i];
            }
          else
***************
*** 5783,5789 ****
          {
            *fprev = fblk->next;
            /* Unhook from the free list.  */
!           float_free_list = *(struct Lisp_Float **) &fblk->floats[0].data;
            lisp_align_free (fblk);
            n_float_blocks--;
          }
--- 5783,5789 ----
          {
            *fprev = fblk->next;
            /* Unhook from the free list.  */
!           float_free_list = fblk->floats[0].u.chain;
            lisp_align_free (fblk);
            n_float_blocks--;
          }
***************
*** 5871,5877 ****
  
            if (!sym->gcmarkbit && !pure_p)
              {
!               *(struct Lisp_Symbol **) &sym->value = symbol_free_list;
                symbol_free_list = sym;
  #if GC_MARK_STACK
                symbol_free_list->function = Vdead;
--- 5871,5877 ----
  
            if (!sym->gcmarkbit && !pure_p)
              {
!               sym->next = symbol_free_list;
                symbol_free_list = sym;
  #if GC_MARK_STACK
                symbol_free_list->function = Vdead;
***************
*** 5895,5901 ****
          {
            *sprev = sblk->next;
            /* Unhook from the free list.  */
!           symbol_free_list = *(struct Lisp_Symbol **)&sblk->symbols[0].value;
            lisp_free (sblk);
            n_symbol_blocks--;
          }
--- 5895,5901 ----
          {
            *sprev = sblk->next;
            /* Unhook from the free list.  */
!           symbol_free_list = sblk->symbols[0].next;
            lisp_free (sblk);
            n_symbol_blocks--;
          }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]