Changeset 10095
- Timestamp:
- Jul 18, 2008, 7:32:25 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/lisp-kernel/xlbt.c
r9902 r10095 29 29 pc = frame->xtra; 30 30 } 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 31 49 if (tag_of(pc) == tag_tra) { 32 50 if ((*((unsigned short *)pc) == RECOVER_FN_FROM_RIP_WORD0) && … … 46 64 return; 47 65 } 66 #endif 48 67 } 49 68 … … 59 78 } 60 79 80 #ifdef X8632 81 if (fulltag_of(ra) == fulltag_tra) { 82 #else 61 83 if (tag_of(ra) == tag_tra) { 84 #endif 62 85 return true; 63 86 } else if ((ra == lisp_global(LEXPR_RETURN)) || … … 126 149 if ((((LispObj) ptr_to_lispobj(vs_area->low)) > currentRBP) || 127 150 (((LispObj) ptr_to_lispobj(vs_area->high)) < currentRBP)) { 151 #ifdef X8664 128 152 currentRBP = (LispObj) (tcr->save_rbp); 153 #else 154 currentRBP = (LispObj) (tcr->save_ebp); 155 #endif 129 156 } 130 157 if ((((LispObj) ptr_to_lispobj(vs_area->low)) > currentRBP) || … … 143 170 plbt(ExceptionInformation *xp) 144 171 { 172 #ifdef X8632 173 plbt_sp(xpGPR(xp,Iebp)); 174 #else 145 175 plbt_sp(xpGPR(xp,Irbp)); 176 #endif 146 177 }
Note: See TracChangeset
for help on using the changeset viewer.