Changeset 14754
- Timestamp:
- Apr 29, 2011, 11:23:52 AM (14 years ago)
- File:
-
- 1 edited
-
trunk/source/lisp-kernel/arm-exceptions.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/lisp-kernel/arm-exceptions.c
r14655 r14754 1658 1658 */ 1659 1659 } else { 1660 Boolean ok = false; 1660 1661 update_bytes_allocated(tcr, (void *) ptr_from_lispobj(cur_allocptr + disp)); 1661 1662 xpGPR(xp, allocptr) = VOID_ALLOCPTR + disp; 1662 1663 instr = program_counter[-1]; 1663 if (IS_COMPARE_ALLOCPTR_TO_RM(instr)){ 1664 xpGPR(xp,RM_field(instr)) = VOID_ALLOCPTR; 1664 if (IS_BRANCH_AROUND_ALLOC_TRAP(instr)) { 1665 instr = program_counter[-2]; 1666 if (IS_COMPARE_ALLOCPTR_TO_RM(instr)){ 1667 xpGPR(xp,RM_field(instr)) = VOID_ALLOCPTR; 1668 ok = true; 1669 } 1670 } 1671 if (ok) { 1672 /* Clear the carry bit, so that the trap will be taken. */ 1673 xpPSR(xp) &= ~PSR_C_MASK; 1665 1674 } else { 1666 1675 Bug(NULL, "unexpected instruction preceding alloc trap."); 1667 1676 } 1668 /* Clear the carry bit, so that the trap will be taken. */1669 xpPSR(xp) &= ~PSR_C_MASK;1670 1677 } 1671 1678 } else {
Note:
See TracChangeset
for help on using the changeset viewer.
