Changeset 14825


Ignore:
Timestamp:
Jun 14, 2011, 7:54:09 AM (8 years ago)
Author:
gb
Message:

If pc_luser_xp() finds that the target thread was interrupted while
consing at the branch around the alloc_trap, the branch would have
been taken, and a uvector was being allocated, we need to (as the
comment says) "slap the header on the new uvector". On x8632, the
header's in xmm0, not imm0.

(This has been broken forever; apparently, it's very hard to reproduce.)

Fixes ticket:868.

File:
1 edited

Legend:

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

    r14692 r14825  
    26242624            /* Slap the header on the new uvector */
    26252625            new_vector = xpGPR(xp,Iallocptr);
     2626#ifdef X8664
    26262627            deref(new_vector,0) = xpGPR(xp,Iimm0);
     2628#else
     2629            deref(new_vector,0) = xpMMXreg(xp,Imm0);
     2630#endif
    26272631            xpPC(xp) += sizeof(set_allocptr_header_instruction);
    26282632          }
Note: See TracChangeset for help on using the changeset viewer.