Changeset 473

Show
Ignore:
Timestamp:
02/07/08 23:47:21 (1 year ago)
Author:
chris
Message:

Don't know why a trace record can have a null method pointer, but in any
case if it has we shouldn't try to trace it.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Mika/trunk/core-vm/src/heap/collector.c

    r442 r473  
    995995 
    996996  while (record) { 
    997     woempa(7, "%j record at position %d (%m:%d) refers to class %k, marking the latter\n", object->fields, record->position, record->method, record->pc, record->method->spec.declaring_clazz); 
    998     retcode = markClazzReachable(record->method->spec.declaring_clazz, fifo, flag); 
    999     if (retcode < 0) { 
    1000  
    1001       return retcode; 
    1002  
    1003     } 
    1004  
    1005     queued += retcode; 
    1006     record = record->position ? record + 1 : NULL; 
     997    if (record->method) { 
     998      woempa(7, "%j record at position %d (%m:%d) refers to class %k, marking the latter\n", object->fields, record->position, record->method, record->pc, record->method->spec.declaring_clazz); 
     999      retcode = markClazzReachable(record->method->spec.declaring_clazz, fifo, flag); 
     1000      if (retcode < 0) { 
     1001 
     1002        return retcode; 
     1003 
     1004      } 
     1005 
     1006      queued += retcode; 
     1007      record = record->position ? record + 1 : NULL; 
     1008    } 
    10071009  } 
    10081010