/* We support calling foreign functions with up to 100 arguments. */
#define CODE(nreq) \
- SCM_PACK_RTL_24 (scm_rtl_op_assert_nargs_ee, nreq + 1), \
- SCM_PACK_RTL_12_12 (scm_rtl_op_foreign_call, 0, 1)
+ SCM_PACK_OP_24 (assert_nargs_ee, nreq + 1), \
+ SCM_PACK_OP_12_12 (foreign_call, 0, 1)
-#define CODE_10(n) \
+#define CODE_10(n) \
CODE (n + 0), CODE (n + 1), CODE (n + 2), CODE (n + 3), CODE (n + 4), \
CODE (n + 5), CODE (n + 6), CODE (n + 7), CODE (n + 8), CODE (n + 9)
int
scm_i_foreign_arity (SCM foreign, int *req, int *opt, int *rest)
{
- const scm_t_uint32 *code = SCM_RTL_PROGRAM_CODE (foreign);
+ const scm_t_uint32 *code = SCM_PROGRAM_CODE (foreign);
if (code < foreign_stub_code)
return 0;
ret = scm_words (scm_tc7_program | (nfree << 16) | flags, nfree + 2);
SCM_SET_CELL_WORD_1 (ret, get_foreign_stub_code (c_cif->nargs));
- SCM_RTL_PROGRAM_FREE_VARIABLE_SET (ret, 0, cif);
- SCM_RTL_PROGRAM_FREE_VARIABLE_SET (ret, 1, func_ptr);
+ SCM_PROGRAM_FREE_VARIABLE_SET (ret, 0, cif);
+ SCM_PROGRAM_FREE_VARIABLE_SET (ret, 1, func_ptr);
return ret;
}