static scm_i_pthread_mutex_t itable_lock = SCM_I_PTHREAD_MUTEX_INITIALIZER;
-static struct scm_instruction*
+static const struct scm_instruction*
fetch_instruction_table ()
{
static struct scm_instruction *table = NULL;
return table;
}
-static struct scm_rtl_instruction*
+static const struct scm_rtl_instruction*
fetch_rtl_instruction_table ()
{
static struct scm_rtl_instruction *table = NULL;
return table;
}
-static struct scm_instruction *
+static const struct scm_instruction *
scm_lookup_instruction_by_name (SCM name)
{
static SCM instructions_by_name = SCM_BOOL_F;
- struct scm_instruction *table = fetch_instruction_table ();
+ const struct scm_instruction *table = fetch_instruction_table ();
SCM op;
if (SCM_UNLIKELY (scm_is_false (instructions_by_name)))
{
SCM list = SCM_EOL;
int i;
- struct scm_instruction *ip = fetch_instruction_table ();
+ const struct scm_instruction *ip = fetch_instruction_table ();
for (i = 0; i < SCM_VM_NUM_INSTRUCTIONS; i++)
if (ip[i].name)
list = scm_cons (ip[i].symname, list);
{
SCM list = SCM_EOL;
int i;
- struct scm_rtl_instruction *ip = fetch_rtl_instruction_table ();
+ const struct scm_rtl_instruction *ip = fetch_rtl_instruction_table ();
for (i = 0; i < SCM_VM_NUM_INSTRUCTIONS; i++)
if (ip[i].name)
{
SCM tail = SCM_EOL;
int len;
- /* Format: (name opcode len rest? out br in) */
+ /* Format: (name opcode word0 word1 ...) */
if (WORD_TYPE (3, meta))
len = 4;
"")
#define FUNC_NAME s_scm_instruction_length
{
- struct scm_instruction *ip;
+ const struct scm_instruction *ip;
SCM_VALIDATE_LOOKUP_INSTRUCTION (1, inst, ip);
return SCM_I_MAKINUM (ip->len);
}
"")
#define FUNC_NAME s_scm_instruction_pops
{
- struct scm_instruction *ip;
+ const struct scm_instruction *ip;
SCM_VALIDATE_LOOKUP_INSTRUCTION (1, inst, ip);
return SCM_I_MAKINUM (ip->npop);
}
"")
#define FUNC_NAME s_scm_instruction_pushes
{
- struct scm_instruction *ip;
+ const struct scm_instruction *ip;
SCM_VALIDATE_LOOKUP_INSTRUCTION (1, inst, ip);
return SCM_I_MAKINUM (ip->npush);
}
"")
#define FUNC_NAME s_scm_instruction_to_opcode
{
- struct scm_instruction *ip;
+ const struct scm_instruction *ip;
SCM_VALIDATE_LOOKUP_INSTRUCTION (1, inst, ip);
return SCM_I_MAKINUM (ip->opcode);
}