/* -*-C-*-
-$Id: cmpint.c,v 1.83 1994/01/10 21:31:20 gjr Exp $
+$Id: cmpint.c,v 1.84 1994/11/28 04:03:58 cph Exp $
Copyright (c) 1989-1994 Massachusetts Institute of Technology
# define PUSH_D_CACHE_REGION(addr, nwords) FLUSH_I_CACHE_REGION(addr, nwords)
#endif
+/* ASM_ENTRY_POINT, EXFNX, and DEFNX are for OS/2. The IBM C Set++/2
+ compiler has several different external calling conventions. The
+ default calling convention is called _Optlink, uses a combination
+ of registers and the stack, and is complicated. The calling
+ convention used for operating system interface procedures is called
+ _System, uses only the stack, and is very similar to the calling
+ conventions used with our DOS compilers. So, in order to simplify
+ the changes to the assembly language, we use _System conventions
+ for calling C procedures from the assembly language file.
+
+ Since _Optlink is the default, we must somehow cause the relevant
+ procedures to be compiled using _System. The easiest way to do
+ this is to force the use of _System everywhere, but that's
+ undesirable since _Optlink is generally more efficient. Instead,
+ we use the ASM_ENTRY_POINT wrapper to cause each of the relevant
+ procedures to be tagged with the compiler's _System keyword. The
+ relevant procedures are all of the SCHEME_UTILITY procedures,
+ C_to_interface, interface_to_C, and interface_to_scheme. */
+
+#ifndef ASM_ENTRY_POINT
+#define ASM_ENTRY_POINT(name) name
+#endif
+
+#ifdef __STDC__
+#define EXFNX(name, proto) ASM_ENTRY_POINT (name) proto
+#define DEFNX(name, arglist, args) ASM_ENTRY_POINT (name) (args)
+#define DEFNX_VOID(name) ASM_ENTRY_POINT (name) (void)
+#else
+#define EXFNX(name, proto) ASM_ENTRY_POINT (name) ()
+#define DEFNX(name, arglist, args) ASM_ENTRY_POINT (name) arglist args;
+#define DEFNX_VOID(name) ASM_ENTRY_POINT (name) ()
+#endif
+
/* Make noise words invisible to the C compiler. */
#define C_UTILITY
/* Imports from assembly language */
-extern void EXFUN (C_to_interface, (void *));
+extern void EXFNX (C_to_interface, (void *));
extern utility_result interface_to_C_hook;
extern long C_return_value;
#else
# define REFENTRY(name) ((void (*)()) name)
# define VARENTRY(name) void (*name)()
-# define EXTENTRY(name) extern void EXFUN (name, (void))
+# define EXTENTRY(name) extern void EXFNX (name, (void))
#endif
/* Structure returned by SCHEME_UTILITYs */
/* Imports from assembly language */
-extern long EXFUN (C_to_interface, (void *));
+extern long EXFNX (C_to_interface, (void *));
EXTENTRY (interface_to_C);
EXTENTRY (interface_to_scheme);
/* utility table entries. */
typedef utility_result EXFUN
- ((*utility_table_entry), (long, long, long, long));
+ ((*ASM_ENTRY_POINT(utility_table_entry)), (long, long, long, long));
#define RETURN_UNLESS_EXCEPTION(code, entry_point) \
{ \
extern C_UTILITY SCHEME_OBJECT EXFUN (bkpt_install, (PTR));
extern C_UTILITY SCHEME_OBJECT EXFUN (bkpt_closure_install, (PTR));
extern C_UTILITY Boolean EXFUN (bkpt_p, (PTR));
-extern C_UTILITY SCHEME_OBJECT EXFUN (bkpt_proceed, (PTR, SCHEME_OBJECT, SCHEME_OBJECT));
+extern C_UTILITY SCHEME_OBJECT EXFUN
+ (bkpt_proceed, (PTR, SCHEME_OBJECT, SCHEME_OBJECT));
extern C_UTILITY void EXFUN (bkpt_remove, (PTR, SCHEME_OBJECT));
\f
/* These definitions reflect the indices into the table above. */
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_return_to_interpreter,
+DEFNX (comutil_return_to_interpreter,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_primitive_apply,
+DEFNX (comutil_primitive_apply,
(primitive, ignore_2, ignore_3, ignore_4),
SCHEME_OBJECT primitive
AND long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_primitive_lexpr_apply,
+DEFNX (comutil_primitive_lexpr_apply,
(primitive, ignore_2, ignore_3, ignore_4),
SCHEME_OBJECT primitive
AND long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_apply,
+DEFNX (comutil_apply,
(procedure, nactuals, ignore_3, ignore_4),
SCHEME_OBJECT procedure
AND unsigned long nactuals
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_error,
+DEFNX (comutil_error,
(nactuals, ignore_2, ignore_3, ignore_4),
long nactuals AND
long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_lexpr_apply,
+DEFNX (comutil_lexpr_apply,
(entry_address_raw, nactuals, ignore_3, ignore_4),
SCHEME_ADDR entry_address_raw AND long nactuals
AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_link,
+DEFNX (comutil_link,
(ret_add_raw, block_address_raw, constant_address_raw, sections),
SCHEME_ADDR ret_add_raw
AND SCHEME_ADDR block_address_raw
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_apply_trap,
+DEFNX (comutil_operator_apply_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_arity_trap,
+DEFNX (comutil_operator_arity_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_entity_trap,
+DEFNX (comutil_operator_entity_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_interpreted_trap,
+DEFNX (comutil_operator_interpreted_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_lexpr_trap,
+DEFNX (comutil_operator_lexpr_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_primitive_trap,
+DEFNX (comutil_operator_primitive_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_lookup_trap,
+DEFNX (comutil_operator_lookup_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_1_0_trap,
+DEFNX (comutil_operator_1_0_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_2_1_trap,
+DEFNX (comutil_operator_2_1_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_2_0_trap,
+DEFNX (comutil_operator_2_0_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_3_2_trap,
+DEFNX (comutil_operator_3_2_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_3_1_trap,
+DEFNX (comutil_operator_3_1_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_3_0_trap,
+DEFNX (comutil_operator_3_0_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_4_3_trap,
+DEFNX (comutil_operator_4_3_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_4_2_trap,
+DEFNX (comutil_operator_4_2_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_4_1_trap,
+DEFNX (comutil_operator_4_1_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_4_0_trap,
+DEFNX (comutil_operator_4_0_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_closure, (ignore_1, ignore_2, ignore_3, ignore_4),
+DEFNX (comutil_interrupt_closure, (ignore_1, ignore_2, ignore_3, ignore_4),
long ignore_1 AND
long ignore_2 AND
long ignore_3 AND
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_dlink,
+DEFNX (comutil_interrupt_dlink,
(entry_point_raw, dlink_raw, ignore_3, ignore_4),
SCHEME_ADDR entry_point_raw AND
SCHEME_ADDR dlink_raw AND
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_procedure,
+DEFNX (comutil_interrupt_procedure,
(entry_point_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR entry_point_raw AND
long ignore_2 AND
/* Val has live data, and there is no entry address on the stack */
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_continuation,
+DEFNX (comutil_interrupt_continuation,
(return_address_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR return_address_raw AND
long ignore_2 AND
/* Env has live data; no entry point on the stack */
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_ic_procedure,
+DEFNX (comutil_interrupt_ic_procedure,
(entry_point_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR entry_point_raw AND
long ignore_2 AND
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_continuation_2, (ignore_1, ignore_2, ignore_3, ignore_4),
+DEFNX (comutil_interrupt_continuation_2,
+ (ignore_1, ignore_2, ignore_3, ignore_4),
long ignore_1 AND
long ignore_2 AND
long ignore_3 AND
/* Assigning a variable that has a trap in it (except unassigned) */
SCHEME_UTILITY utility_result
-DEFUN (comutil_assignment_trap,
+DEFNX (comutil_assignment_trap,
(return_address_raw, extension_addr_raw, value, ignore_4),
SCHEME_ADDR return_address_raw
AND SCHEME_ADDR extension_addr_raw
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_cache_lookup_apply,
+DEFNX (comutil_cache_lookup_apply,
(extension_addr_raw, block_address_raw, nactuals, ignore_4),
SCHEME_ADDR extension_addr_raw
AND SCHEME_ADDR block_address_raw
#define CMPLR_REF_TRAP(name, c_trap, ret_code, restart, c_lookup) \
SCHEME_UTILITY utility_result \
-DEFUN (name, \
+DEFNX (name, \
(return_address_raw, extension_addr_raw, ignore_3, ignore_4), \
SCHEME_ADDR return_address_raw \
AND SCHEME_ADDR extension_addr_raw \
#define COMPILER_ARITH_PRIM(name, fobj_index, arity) \
SCHEME_UTILITY utility_result \
-DEFUN (name, \
+DEFNX (name, \
(ignore_1, ignore_2, ignore_3, ignore_4), \
long ignore_1 AND long ignore_2 \
AND long ignore_3 AND long ignore_4) \
#define CMPLR_REFERENCE(util_name, c_proc, ret_code, restart_name) \
SCHEME_UTILITY utility_result \
-DEFUN (util_name, \
+DEFNX (util_name, \
(ret_add_raw, environment, variable, ignore_4), \
SCHEME_ADDR ret_add_raw \
AND SCHEME_OBJECT environment AND SCHEME_OBJECT variable \
\f
#define CMPLR_ASSIGNMENT(util_name, c_proc, ret_code, restart_name) \
SCHEME_UTILITY utility_result \
-DEFUN (util_name, \
+DEFNX (util_name, \
(ret_add_raw, environment, variable, value), \
SCHEME_ADDR ret_add_raw \
AND SCHEME_OBJECT environment \
comp_definition_restart)
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_lookup_apply,
+DEFNX (comutil_lookup_apply,
(environment, variable, nactuals, ignore_4),
SCHEME_OBJECT environment AND SCHEME_OBJECT variable
AND long nactuals AND long ignore_4)
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_primitive_error,
+DEFNX (comutil_primitive_error,
(ret_add_raw, primitive, ignore_3, ignore_4),
SCHEME_ADDR ret_add_raw
AND SCHEME_OBJECT primitive
#endif /* HAVE_BKPT_SUPPORT */
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_compiled_code_bkpt,
+DEFNX (comutil_compiled_code_bkpt,
(entry_point_raw, state_raw, ignore_3, ignore_4),
SCHEME_ADDR entry_point_raw AND SCHEME_ADDR state_raw
AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_compiled_closure_bkpt,
+DEFNX (comutil_compiled_closure_bkpt,
(entry_point_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR entry_point_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_reflect_to_interface,
+DEFNX (comutil_reflect_to_interface,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
#endif
static int last_util_table_index =
- (((sizeof (utility_descriptor_table)) / (sizeof (struct util_descriptor_s))) - 1);
+ (((sizeof (utility_descriptor_table)) / (sizeof (struct util_descriptor_s)))
+ - 1);
char *
DEFUN (utility_index_to_name, (index), int index)
/* -*-C-*-
-$Id: i386.h,v 1.24 1993/08/26 05:38:15 gjr Exp $
+$Id: i386.h,v 1.25 1994/11/28 04:05:21 cph Exp $
-Copyright (c) 1992-1993 Massachusetts Institute of Technology
+Copyright (c) 1992-94 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
/* Until cmpaux-i386.m4 is updated. */
#define CMPINT_USE_STRUCS
+/* Hack for OS/2 calling-convention type: */
+
+#ifdef _OS2
+#define ASM_ENTRY_POINT(name) (_System name)
+#else
+#define ASM_ENTRY_POINT(name) name
+#endif
+
/*
Problems with i386 ISA (instruction set architecture)
void
DEFUN_VOID (i386_reset_hook)
{
- extern int EXFUN (i386_interface_initialize, (void));
+ extern int EXFUN (ASM_ENTRY_POINT(i386_interface_initialize), (void));
int offset = (COMPILER_REGBLOCK_N_FIXED * (sizeof (SCHEME_OBJECT)));
unsigned char * esi_value = ((unsigned char *) (&Registers[0]));
int fp_support_present = (i386_interface_initialize ());
/* -*-C-*-
-$Id: cmpint.c,v 1.83 1994/01/10 21:31:20 gjr Exp $
+$Id: cmpint.c,v 1.84 1994/11/28 04:03:58 cph Exp $
Copyright (c) 1989-1994 Massachusetts Institute of Technology
# define PUSH_D_CACHE_REGION(addr, nwords) FLUSH_I_CACHE_REGION(addr, nwords)
#endif
+/* ASM_ENTRY_POINT, EXFNX, and DEFNX are for OS/2. The IBM C Set++/2
+ compiler has several different external calling conventions. The
+ default calling convention is called _Optlink, uses a combination
+ of registers and the stack, and is complicated. The calling
+ convention used for operating system interface procedures is called
+ _System, uses only the stack, and is very similar to the calling
+ conventions used with our DOS compilers. So, in order to simplify
+ the changes to the assembly language, we use _System conventions
+ for calling C procedures from the assembly language file.
+
+ Since _Optlink is the default, we must somehow cause the relevant
+ procedures to be compiled using _System. The easiest way to do
+ this is to force the use of _System everywhere, but that's
+ undesirable since _Optlink is generally more efficient. Instead,
+ we use the ASM_ENTRY_POINT wrapper to cause each of the relevant
+ procedures to be tagged with the compiler's _System keyword. The
+ relevant procedures are all of the SCHEME_UTILITY procedures,
+ C_to_interface, interface_to_C, and interface_to_scheme. */
+
+#ifndef ASM_ENTRY_POINT
+#define ASM_ENTRY_POINT(name) name
+#endif
+
+#ifdef __STDC__
+#define EXFNX(name, proto) ASM_ENTRY_POINT (name) proto
+#define DEFNX(name, arglist, args) ASM_ENTRY_POINT (name) (args)
+#define DEFNX_VOID(name) ASM_ENTRY_POINT (name) (void)
+#else
+#define EXFNX(name, proto) ASM_ENTRY_POINT (name) ()
+#define DEFNX(name, arglist, args) ASM_ENTRY_POINT (name) arglist args;
+#define DEFNX_VOID(name) ASM_ENTRY_POINT (name) ()
+#endif
+
/* Make noise words invisible to the C compiler. */
#define C_UTILITY
/* Imports from assembly language */
-extern void EXFUN (C_to_interface, (void *));
+extern void EXFNX (C_to_interface, (void *));
extern utility_result interface_to_C_hook;
extern long C_return_value;
#else
# define REFENTRY(name) ((void (*)()) name)
# define VARENTRY(name) void (*name)()
-# define EXTENTRY(name) extern void EXFUN (name, (void))
+# define EXTENTRY(name) extern void EXFNX (name, (void))
#endif
/* Structure returned by SCHEME_UTILITYs */
/* Imports from assembly language */
-extern long EXFUN (C_to_interface, (void *));
+extern long EXFNX (C_to_interface, (void *));
EXTENTRY (interface_to_C);
EXTENTRY (interface_to_scheme);
/* utility table entries. */
typedef utility_result EXFUN
- ((*utility_table_entry), (long, long, long, long));
+ ((*ASM_ENTRY_POINT(utility_table_entry)), (long, long, long, long));
#define RETURN_UNLESS_EXCEPTION(code, entry_point) \
{ \
extern C_UTILITY SCHEME_OBJECT EXFUN (bkpt_install, (PTR));
extern C_UTILITY SCHEME_OBJECT EXFUN (bkpt_closure_install, (PTR));
extern C_UTILITY Boolean EXFUN (bkpt_p, (PTR));
-extern C_UTILITY SCHEME_OBJECT EXFUN (bkpt_proceed, (PTR, SCHEME_OBJECT, SCHEME_OBJECT));
+extern C_UTILITY SCHEME_OBJECT EXFUN
+ (bkpt_proceed, (PTR, SCHEME_OBJECT, SCHEME_OBJECT));
extern C_UTILITY void EXFUN (bkpt_remove, (PTR, SCHEME_OBJECT));
\f
/* These definitions reflect the indices into the table above. */
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_return_to_interpreter,
+DEFNX (comutil_return_to_interpreter,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_primitive_apply,
+DEFNX (comutil_primitive_apply,
(primitive, ignore_2, ignore_3, ignore_4),
SCHEME_OBJECT primitive
AND long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_primitive_lexpr_apply,
+DEFNX (comutil_primitive_lexpr_apply,
(primitive, ignore_2, ignore_3, ignore_4),
SCHEME_OBJECT primitive
AND long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_apply,
+DEFNX (comutil_apply,
(procedure, nactuals, ignore_3, ignore_4),
SCHEME_OBJECT procedure
AND unsigned long nactuals
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_error,
+DEFNX (comutil_error,
(nactuals, ignore_2, ignore_3, ignore_4),
long nactuals AND
long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_lexpr_apply,
+DEFNX (comutil_lexpr_apply,
(entry_address_raw, nactuals, ignore_3, ignore_4),
SCHEME_ADDR entry_address_raw AND long nactuals
AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_link,
+DEFNX (comutil_link,
(ret_add_raw, block_address_raw, constant_address_raw, sections),
SCHEME_ADDR ret_add_raw
AND SCHEME_ADDR block_address_raw
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_apply_trap,
+DEFNX (comutil_operator_apply_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_arity_trap,
+DEFNX (comutil_operator_arity_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_entity_trap,
+DEFNX (comutil_operator_entity_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_interpreted_trap,
+DEFNX (comutil_operator_interpreted_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_lexpr_trap,
+DEFNX (comutil_operator_lexpr_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_primitive_trap,
+DEFNX (comutil_operator_primitive_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_lookup_trap,
+DEFNX (comutil_operator_lookup_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
*/
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_1_0_trap,
+DEFNX (comutil_operator_1_0_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_2_1_trap,
+DEFNX (comutil_operator_2_1_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_2_0_trap,
+DEFNX (comutil_operator_2_0_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_3_2_trap,
+DEFNX (comutil_operator_3_2_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_3_1_trap,
+DEFNX (comutil_operator_3_1_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_3_0_trap,
+DEFNX (comutil_operator_3_0_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_4_3_trap,
+DEFNX (comutil_operator_4_3_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_4_2_trap,
+DEFNX (comutil_operator_4_2_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_4_1_trap,
+DEFNX (comutil_operator_4_1_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_operator_4_0_trap,
+DEFNX (comutil_operator_4_0_trap,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_closure, (ignore_1, ignore_2, ignore_3, ignore_4),
+DEFNX (comutil_interrupt_closure, (ignore_1, ignore_2, ignore_3, ignore_4),
long ignore_1 AND
long ignore_2 AND
long ignore_3 AND
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_dlink,
+DEFNX (comutil_interrupt_dlink,
(entry_point_raw, dlink_raw, ignore_3, ignore_4),
SCHEME_ADDR entry_point_raw AND
SCHEME_ADDR dlink_raw AND
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_procedure,
+DEFNX (comutil_interrupt_procedure,
(entry_point_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR entry_point_raw AND
long ignore_2 AND
/* Val has live data, and there is no entry address on the stack */
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_continuation,
+DEFNX (comutil_interrupt_continuation,
(return_address_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR return_address_raw AND
long ignore_2 AND
/* Env has live data; no entry point on the stack */
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_ic_procedure,
+DEFNX (comutil_interrupt_ic_procedure,
(entry_point_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR entry_point_raw AND
long ignore_2 AND
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_interrupt_continuation_2, (ignore_1, ignore_2, ignore_3, ignore_4),
+DEFNX (comutil_interrupt_continuation_2,
+ (ignore_1, ignore_2, ignore_3, ignore_4),
long ignore_1 AND
long ignore_2 AND
long ignore_3 AND
/* Assigning a variable that has a trap in it (except unassigned) */
SCHEME_UTILITY utility_result
-DEFUN (comutil_assignment_trap,
+DEFNX (comutil_assignment_trap,
(return_address_raw, extension_addr_raw, value, ignore_4),
SCHEME_ADDR return_address_raw
AND SCHEME_ADDR extension_addr_raw
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_cache_lookup_apply,
+DEFNX (comutil_cache_lookup_apply,
(extension_addr_raw, block_address_raw, nactuals, ignore_4),
SCHEME_ADDR extension_addr_raw
AND SCHEME_ADDR block_address_raw
#define CMPLR_REF_TRAP(name, c_trap, ret_code, restart, c_lookup) \
SCHEME_UTILITY utility_result \
-DEFUN (name, \
+DEFNX (name, \
(return_address_raw, extension_addr_raw, ignore_3, ignore_4), \
SCHEME_ADDR return_address_raw \
AND SCHEME_ADDR extension_addr_raw \
#define COMPILER_ARITH_PRIM(name, fobj_index, arity) \
SCHEME_UTILITY utility_result \
-DEFUN (name, \
+DEFNX (name, \
(ignore_1, ignore_2, ignore_3, ignore_4), \
long ignore_1 AND long ignore_2 \
AND long ignore_3 AND long ignore_4) \
#define CMPLR_REFERENCE(util_name, c_proc, ret_code, restart_name) \
SCHEME_UTILITY utility_result \
-DEFUN (util_name, \
+DEFNX (util_name, \
(ret_add_raw, environment, variable, ignore_4), \
SCHEME_ADDR ret_add_raw \
AND SCHEME_OBJECT environment AND SCHEME_OBJECT variable \
\f
#define CMPLR_ASSIGNMENT(util_name, c_proc, ret_code, restart_name) \
SCHEME_UTILITY utility_result \
-DEFUN (util_name, \
+DEFNX (util_name, \
(ret_add_raw, environment, variable, value), \
SCHEME_ADDR ret_add_raw \
AND SCHEME_OBJECT environment \
comp_definition_restart)
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_lookup_apply,
+DEFNX (comutil_lookup_apply,
(environment, variable, nactuals, ignore_4),
SCHEME_OBJECT environment AND SCHEME_OBJECT variable
AND long nactuals AND long ignore_4)
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_primitive_error,
+DEFNX (comutil_primitive_error,
(ret_add_raw, primitive, ignore_3, ignore_4),
SCHEME_ADDR ret_add_raw
AND SCHEME_OBJECT primitive
#endif /* HAVE_BKPT_SUPPORT */
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_compiled_code_bkpt,
+DEFNX (comutil_compiled_code_bkpt,
(entry_point_raw, state_raw, ignore_3, ignore_4),
SCHEME_ADDR entry_point_raw AND SCHEME_ADDR state_raw
AND long ignore_3 AND long ignore_4)
}
SCHEME_UTILITY utility_result
-DEFUN (comutil_compiled_closure_bkpt,
+DEFNX (comutil_compiled_closure_bkpt,
(entry_point_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR entry_point_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
}
\f
SCHEME_UTILITY utility_result
-DEFUN (comutil_reflect_to_interface,
+DEFNX (comutil_reflect_to_interface,
(tramp_data_raw, ignore_2, ignore_3, ignore_4),
SCHEME_ADDR tramp_data_raw
AND long ignore_2 AND long ignore_3 AND long ignore_4)
#endif
static int last_util_table_index =
- (((sizeof (utility_descriptor_table)) / (sizeof (struct util_descriptor_s))) - 1);
+ (((sizeof (utility_descriptor_table)) / (sizeof (struct util_descriptor_s)))
+ - 1);
char *
DEFUN (utility_index_to_name, (index), int index)