Changeset 6334


Ignore:
Timestamp:
Apr 22, 2007, 12:20:22 PM (15 years ago)
Author:
gb
Message:

In mark_xp(), mark rip as function if it looks like rip points to the
initial instruction which will establish fn.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/x8664-call/ccl/lisp-kernel/x86-gc.c

    r6327 r6334  
    14941494      (! ref_bit(GCmarkbits,dnode))) {
    14951495    if (tag_of(rip) == tag_tra) {
     1496      mark_root(rip);
     1497    } else if ((fulltag_of(rip) == fulltag_function) &&
     1498               (*((unsigned short *)rip) == RECOVER_FN_FROM_RIP_WORD0) &&
     1499               (*((unsigned char *)(rip+2)) == RECOVER_FN_FROM_RIP_BYTE2) &&
     1500               ((*(int *) (rip+3))) == -RECOVER_FN_FROM_RIP_LENGTH) {
    14961501      mark_root(rip);
    14971502    } else {
Note: See TracChangeset for help on using the changeset viewer.