Changeset 6522


Ignore:
Timestamp:
May 9, 2007, 8:50:03 AM (15 years ago)
Author:
gb
Message:

New tra handling.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/x86_print.c

    r5323 r6522  
    317317sprint_tra(LispObj o, int depth)
    318318{
    319   unsigned disp = *(((unsigned *)o)-1);
    320   LispObj f = o-disp;
     319  signed sdisp;
     320  unsigned disp;
     321  LispObj f = 0;
     322
     323  if ((*((unsigned short *)o) == RECOVER_FN_FROM_RIP_WORD0) &&
     324      (*((unsigned char *)(o+2)) == RECOVER_FN_FROM_RIP_BYTE2)) {
     325    sdisp = (*(int *) (o+3));
     326    f = RECOVER_FN_FROM_RIP_LENGTH+o+sdisp;
     327    disp = o-f;
     328  }
    321329
    322330  if (fulltag_of(f) == fulltag_function) {
     
    491499#ifdef X8664
    492500        } else if (header_subtag(o) == subtag_single_float) {
    493           sprintf(numbuf, "%f", o>>32);
     501          LispObj xx = o;
     502          float f = ((float *)&xx)[1];
     503          sprintf(numbuf, "%f", f);
    494504          add_c_string(numbuf);
    495505#endif
Note: See TracChangeset for help on using the changeset viewer.