* we push it onto the lisp control stack, and read it back
* off after any potential GC has finished */
#ifndef LISP_FEATURE_C_STACK_IS_CONTROL_STACK
-#ifdef LISP_FEATURE_STACK_GROWS_DOWNARD_NOT_UPWARD
+#ifdef LISP_FEATURE_STACK_GROWS_DOWNWARD_NOT_UPWARD
#error "!C_STACK_IS_CONTROL_STACK and STACK_GROWS_DOWNWARD_NOT_UPWARD is not supported"
#endif
- current_control_stack_pointer += 1;
*current_control_stack_pointer = result;
+ current_control_stack_pointer += 1;
#endif
do_pending_interrupt();
#ifndef LISP_FEATURE_C_STACK_IS_CONTROL_STACK
- result = *current_control_stack_pointer;
current_control_stack_pointer -= 1;
+ result = *current_control_stack_pointer;
#endif
}
#else
* section */
SetSymbolValue(GC_PENDING,T,thread);
if (SymbolValue(GC_INHIBIT,thread) == NIL)
- set_pseudo_atomic_interrupted(0);
+ set_pseudo_atomic_interrupted(thread);
}
}
new_obj = gc_alloc_with_region(nbytes,0,region,0);
break;
case 0x10:
- arch_clear_pseudo_atomic_interrupted(context)
+ arch_clear_pseudo_atomic_interrupted(context)
arch_skip_instruction(context);
interrupt_handle_pending(context);
return;
to fixup up alloc-tn to remove the interrupted flag,
skip over the trap instruction, and then handle the
pending interrupt(s). */
- arch_clear_pseudo_atomic_interrupted(context);
+ arch_clear_pseudo_atomic_interrupted(context);
arch_skip_instruction(context);
interrupt_handle_pending(context);
}
result = op1 - op2;
else
result = op1 + op2;
- /* KLUDGE: this & ~7 is a little bit magical but basically
- clears pseudo_atomic bits if any */
+ /* KLUDGE: this & ~7 is a little bit magical but basically
+ clears pseudo_atomic bits if any */
*os_context_register_addr(context, reg_ALLOC) = result & ~7;
arch_skip_instruction(context);
interrupt_handle_pending(context);
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.9.37"
+"0.9.9.38"