Ignore:
Timestamp:
Feb 24, 2009, 3:01:54 AM (11 years ago)
Author:
rme
Message:

x8632 gc/runtime bugfixes from trunk (r11748, r11752, r11754)

File:
1 edited

Legend:

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

    r11623 r11780  
    18591859
    18601860  i = ((unsigned short *)node)[2];
    1861   offset = node[--i];
    1862   while (offset) {
    1863     *(LispObj *)(p + offset) = fn;
     1861  if (i) {
    18641862    offset = node[--i];
     1863    while (offset) {
     1864      *(LispObj *)(p + offset) = fn;
     1865      offset = node[--i];
     1866    }
    18651867  }   
    18661868}
     
    19351937#endif
    19361938            *dest++ = node;
    1937             elements -= skip;
    1938             while(skip--) {
    1939               *dest++ = *src++;
    1940             }
     1939            if (skip) {
     1940              elements -= skip;
     1941              while(skip--) {
     1942                *dest++ = *src++;
     1943              }
    19411944#ifdef X8632
    1942             update_self_references(f);
    1943 #endif
     1945              update_self_references(f);
     1946#endif
     1947            }
    19441948            while(elements--) {
    19451949              *dest++ = node_forwarding_address(*src++);
Note: See TracChangeset for help on using the changeset viewer.