### -*-Midas-*-
###
-### $Id: i386.m4,v 1.31 1993/08/23 04:46:44 gjr Exp $
+### $Id: i386.m4,v 1.32 1993/08/26 05:38:06 gjr Exp $
###
### Copyright (c) 1992-1993 Massachusetts Institute of Technology
###
define_call_indirection(interrupt_procedure,1a)
define_call_indirection(interrupt_continuation,1b)
define_jump_indirection(interrupt_closure,18)
+define_jump_indirection(interrupt_continuation_2,3b)
define_c_label(asm_interrupt_dlink)
OP(mov,l) TW(LOF(REGBLOCK_DLINK(),regs),REG(edx))
/* -*-C-*-
-$Id: cmpint.c,v 1.63 1993/08/22 20:25:25 gjr Exp $
+$Id: cmpint.c,v 1.64 1993/08/26 05:38:29 gjr Exp $
Copyright (c) 1989-1993 Massachusetts Institute of Technology
return (compiler_interrupt_common (entry_point_raw, (Fetch_Env ())));
}
+SCHEME_UTILITY utility_result
+DEFUN (comutil_interrupt_continuation_2, (ignore_1, ignore_2, ignore_3, ignore_4),
+ long ignore_1 AND
+ long ignore_2 AND
+ long ignore_3 AND
+ long ignore_4)
+{
+ return (compiler_interrupt_common (0, Val));
+}
+
C_TO_SCHEME long
DEFUN_VOID (comp_interrupt_restart)
{
UTE(comutil_quotient), /* 0x37 */
UTE(comutil_remainder), /* 0x38 */
UTE(comutil_modulo), /* 0x39 */
- UTE(comutil_apply_in_interpreter) /* 0x3a */
+ UTE(comutil_apply_in_interpreter), /* 0x3a */
+ UTE(comutil_interrupt_continuation_2) /* 0x3b */
};
\f
/* Support for trap handling. */
UTLD(comutil_interrupt_procedure),
UTLD(comutil_interrupt_continuation),
UTLD(comutil_interrupt_ic_procedure),
+ UTLD(comutil_interrupt_continuation_2),
UTLD(comp_interrupt_restart),
\f
UTLD(comutil_assignment_trap),
UTLD(compiled_entry_closure_p),
UTLD(compiled_closure_to_entry),
UTLD(compiled_entry_type),
+ UTLD(declare_compiled_code),
UTLD(store_variable_cache),
UTLD(extract_variable_cache),
UTLD(extract_uuo_link),
/* -*-C-*-
-$Id: i386.h,v 1.23 1993/08/23 02:19:52 gjr Exp $
+$Id: i386.h,v 1.24 1993/08/26 05:38:15 gjr Exp $
Copyright (c) 1992-1993 Massachusetts Institute of Technology
SETUP_REGISTER (asm_primitive_error); /* 14 */
SETUP_REGISTER (asm_short_primitive_apply); /* 15 */
+ /* No more room for positive offsets without going to 32-bit
+ offsets!
+ */
+
/* This is a hack to make all the hooks be addressable
with byte offsets (instead of longword offsets).
The register block extends to negative offsets as well,
SETUP_REGISTER (asm_sc_apply_size_6); /* -11 */
SETUP_REGISTER (asm_sc_apply_size_7); /* -10 */
SETUP_REGISTER (asm_sc_apply_size_8); /* -9 */
+ SETUP_REGISTER (asm_interrupt_continuation_2); /* -8 */
\f
#ifdef _MACH_UNIX
{
/* -*-C-*-
-$Id: cmpint.c,v 1.63 1993/08/22 20:25:25 gjr Exp $
+$Id: cmpint.c,v 1.64 1993/08/26 05:38:29 gjr Exp $
Copyright (c) 1989-1993 Massachusetts Institute of Technology
return (compiler_interrupt_common (entry_point_raw, (Fetch_Env ())));
}
+SCHEME_UTILITY utility_result
+DEFUN (comutil_interrupt_continuation_2, (ignore_1, ignore_2, ignore_3, ignore_4),
+ long ignore_1 AND
+ long ignore_2 AND
+ long ignore_3 AND
+ long ignore_4)
+{
+ return (compiler_interrupt_common (0, Val));
+}
+
C_TO_SCHEME long
DEFUN_VOID (comp_interrupt_restart)
{
UTE(comutil_quotient), /* 0x37 */
UTE(comutil_remainder), /* 0x38 */
UTE(comutil_modulo), /* 0x39 */
- UTE(comutil_apply_in_interpreter) /* 0x3a */
+ UTE(comutil_apply_in_interpreter), /* 0x3a */
+ UTE(comutil_interrupt_continuation_2) /* 0x3b */
};
\f
/* Support for trap handling. */
UTLD(comutil_interrupt_procedure),
UTLD(comutil_interrupt_continuation),
UTLD(comutil_interrupt_ic_procedure),
+ UTLD(comutil_interrupt_continuation_2),
UTLD(comp_interrupt_restart),
\f
UTLD(comutil_assignment_trap),
UTLD(compiled_entry_closure_p),
UTLD(compiled_closure_to_entry),
UTLD(compiled_entry_type),
+ UTLD(declare_compiled_code),
UTLD(store_variable_cache),
UTLD(extract_variable_cache),
UTLD(extract_uuo_link),