diff options
Diffstat (limited to 'kernel/byterun/coq_fix_code.h')
-rw-r--r-- | kernel/byterun/coq_fix_code.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/kernel/byterun/coq_fix_code.h b/kernel/byterun/coq_fix_code.h new file mode 100644 index 00000000..035d5b9b --- /dev/null +++ b/kernel/byterun/coq_fix_code.h @@ -0,0 +1,34 @@ +/***********************************************************************/ +/* */ +/* Coq Compiler */ +/* */ +/* Benjamin Gregoire, projets Logical and Cristal */ +/* INRIA Rocquencourt */ +/* */ +/* */ +/***********************************************************************/ + + +#ifndef _COQ_FIX_CODE_ +#define _COQ_FIX_CODE_ + +#include "mlvalues.h" +void * coq_stat_alloc (asize_t sz); + +#ifdef THREADED_CODE +extern char ** coq_instr_table; +extern char * coq_instr_base; +void init_arity(); +#define VALINSTR(instr) ((opcode_t)(coq_instr_table[instr] - coq_instr_base)) +#else +#define VALINSTR(instr) instr +#endif /* THREADED_CODE */ + +#define Is_instruction(pc,instr) (*pc == VALINSTR(instr)) + +value coq_tcode_of_code(value code, value len); +value coq_makeaccu (value i); +value coq_pushpop (value i); +value coq_accucond (value i); +value coq_is_accumulate_code(value code); +#endif /* _COQ_FIX_CODE_ */ |