Changeset 8244


Ignore:
Timestamp:
Jan 23, 2008, 6:14:28 AM (12 years ago)
Author:
gb
Message:

Don't add non-weak hash-table vectors to GCweakvll in the marker.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/x86-gc.c

    r7680 r8244  
    2525#include <string.h>
    2626#include <sys/time.h>
    27 
    28 #ifndef timeradd
    29 # define timeradd(a, b, result)                                               \
    30   do {                                                                        \
    31     (result)->tv_sec = (a)->tv_sec + (b)->tv_sec;                             \
    32     (result)->tv_usec = (a)->tv_usec + (b)->tv_usec;                          \
    33     if ((result)->tv_usec >= 1000000)                                         \
    34       {                                                                       \
    35         ++(result)->tv_sec;                                                   \
    36         (result)->tv_usec -= 1000000;                                         \
    37       }                                                                       \
    38   } while (0)
    39 #endif
    40 #ifndef timersub
    41 # define timersub(a, b, result)                                               \
    42   do {                                                                        \
    43     (result)->tv_sec = (a)->tv_sec - (b)->tv_sec;                             \
    44     (result)->tv_usec = (a)->tv_usec - (b)->tv_usec;                          \
    45     if ((result)->tv_usec < 0) {                                              \
    46       --(result)->tv_sec;                                                     \
    47       (result)->tv_usec += 1000000;                                           \
    48     }                                                                         \
    49   } while (0)
    50 #endif
    5127
    5228
     
    349325          ((hash_table_vector_header *) base)->cache_key = undefined;
    350326          ((hash_table_vector_header *) base)->cache_value = lisp_nil;
    351         }
    352         deref(ptr_to_lispobj(base),1) = GCweakvll;
    353         GCweakvll = n;
    354         return;
     327          deref(ptr_to_lispobj(base),1) = GCweakvll;
     328          GCweakvll = n;
     329          return;
     330        }
    355331      }
    356332
     
    518494          ((hash_table_vector_header *) base)->cache_key = undefined;
    519495          ((hash_table_vector_header *) base)->cache_value = lisp_nil;
    520         }
    521         deref(ptr_to_lispobj(base),1) = GCweakvll;
    522         GCweakvll = n;
    523         return;
     496          deref(ptr_to_lispobj(base),1) = GCweakvll;
     497          GCweakvll = n;
     498          return;
     499        }
    524500      }
    525501
     
    758734        ((hash_table_vector_header *) base)->cache_key = undefined;
    759735        ((hash_table_vector_header *) base)->cache_value = lisp_nil;
    760       }
    761 
    762       deref(ptr_to_lispobj(base),1) = GCweakvll;
    763       GCweakvll = this;
    764       goto Climb;
     736        deref(ptr_to_lispobj(base),1) = GCweakvll;
     737        GCweakvll = this;
     738        goto Climb;
     739      }
    765740    }
    766741
Note: See TracChangeset for help on using the changeset viewer.