Changeset 10095


Ignore:
Timestamp:
Jul 18, 2008, 7:32:25 PM (11 years ago)
Author:
rme
Message:

Conditionalize for x8632.

File:
1 edited

Legend:

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

    r9902 r10095  
    2929    pc = frame->xtra;
    3030  }
     31#ifdef X8632
     32  if (fulltag_of(pc) == fulltag_tra) {
     33    if (*((unsigned char *)pc) == RECOVER_FN_OPCODE) {
     34      natural n = *((natural *)(pc + 1));
     35      fun = (LispObj)n;
     36    }
     37    if (fun && header_subtag(header_of(fun)) == subtag_function) {
     38      delta = pc - fun;
     39      Dprintf("(#x%08X) #x%08X : %s + %d", frame, pc, print_lisp_object(fun), delta);
     40      return;
     41    }
     42  }
     43  if (pc == 0) {
     44    fun = ((xcf *)frame)->nominal_function;
     45    Dprintf("(#x%08X) #x%08X : %s + ??", frame, pc, print_lisp_object(fun));
     46    return;
     47  }
     48#else
    3149  if (tag_of(pc) == tag_tra) {
    3250    if ((*((unsigned short *)pc) == RECOVER_FN_FROM_RIP_WORD0) &&
     
    4664    return;
    4765  }
     66#endif
    4867}
    4968
     
    5978    }
    6079
     80#ifdef X8632
     81    if (fulltag_of(ra) == fulltag_tra) {
     82#else
    6183    if (tag_of(ra) == tag_tra) {
     84#endif
    6285      return true;
    6386    } else if ((ra == lisp_global(LEXPR_RETURN)) ||
     
    126149    if ((((LispObj) ptr_to_lispobj(vs_area->low)) > currentRBP) ||
    127150        (((LispObj) ptr_to_lispobj(vs_area->high)) < currentRBP)) {
     151#ifdef X8664
    128152      currentRBP = (LispObj) (tcr->save_rbp);
     153#else
     154      currentRBP = (LispObj) (tcr->save_ebp);
     155#endif
    129156    }
    130157    if ((((LispObj) ptr_to_lispobj(vs_area->low)) > currentRBP) ||
     
    143170plbt(ExceptionInformation *xp)
    144171{
     172#ifdef X8632
     173  plbt_sp(xpGPR(xp,Iebp));
     174#else
    145175  plbt_sp(xpGPR(xp,Irbp));
     176#endif
    146177}
Note: See TracChangeset for help on using the changeset viewer.