- Timestamp:
- Apr 22, 2007, 3:42:42 AM (18 years ago)
- File:
-
- 1 edited
-
branches/x8664-call/ccl/lisp-kernel/x86-gc.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/x8664-call/ccl/lisp-kernel/x86-gc.c
r6315 r6327 101 101 */ 102 102 { 103 int disp = ((int *)n)[-1];103 int disp = 0; 104 104 LispObj m = n; 105 105 106 if (disp > 0) { 107 n = m - disp; 108 } 109 if ((disp <= 0) || 106 if ((*((unsigned short *)n) == RECOVER_FN_FROM_RIP_WORD0) && 107 (*((unsigned char *)(n+2)) == RECOVER_FN_FROM_RIP_BYTE2)) { 108 disp = (*(int *) (n+3)); 109 n = RECOVER_FN_FROM_RIP_LENGTH+m+disp; 110 } 111 if ((disp == 0) || 110 112 (fulltag_of(n) != fulltag_function) || 111 113 (heap_area_containing((BytePtr)ptr_from_lispobj(n)) != a)) { 112 Bug(NULL, "TRA at 0x%lx has bad displacement ~d\n", n, disp);114 Bug(NULL, "TRA at 0x%lx has bad displacement %d\n", n, disp); 113 115 } 114 116 }
Note:
See TracChangeset
for help on using the changeset viewer.
