Raymond Toy pushed to branch issue-243-weak-pointer-to-static-array at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • src/lisp/gencgc.c
    ... ... @@ -5433,20 +5433,20 @@ scan_static_vectors(struct weak_pointer *static_vector_list)
    5433 5433
          * visited the static vector, break the weak pointer.
    
    5434 5434
          */
    
    5435 5435
         for (wp = static_vector_list; wp; wp = wp->next) {
    
    5436
    -        lispobj header = *(lispobj *) PTR(wp->value);
    
    5436
    +        lispobj *header = (lispobj *) PTR(wp->value);
    
    5437 5437
     
    
    5438 5438
             DPRINTF(debug_static_array_p,
    
    5439 5439
                     (stdout, "  wp %p value %p header 0x%08lx\n",
    
    5440
    -                 wp, (lispobj *) wp->value, header));
    
    5440
    +                 wp, (lispobj *) wp->value, *header));
    
    5441 5441
     
    
    5442 5442
             /*
    
    5443 5443
              * If the static vector is unused (mark bit clear) and if we
    
    5444 5444
              * haven't seen this vector before, set the visited flag.  If
    
    5445 5445
              * we have visited this vector before, break the weak pointer.
    
    5446 5446
              */
    
    5447
    -        if ((header & STATIC_VECTOR_MARK_BIT) == 0) {
    
    5447
    +        if ((*header & STATIC_VECTOR_MARK_BIT) == 0) {
    
    5448 5448
                 /* Unused static vector */
    
    5449
    -            if ((header & STATIC_VECTOR_VISITED_BIT) == 0) {
    
    5449
    +            if ((*header & STATIC_VECTOR_VISITED_BIT) == 0) {
    
    5450 5450
                     DPRINTF(debug_static_array_p, (stdout, "    Mark vector\n"));
    
    5451 5451
     
    
    5452 5452
                     *header |= STATIC_VECTOR_VISITED_BIT;