OSDN Git Service

fd17f00f8cf8d383d6a960296775381ac0595f92
[heavyosecpu/HeavyOSECPU.git] / HeavyOSECPU / jitc.h
1 #ifndef _HDLOAD_JITC
2 #define _HDLOAD_JITC 1
3
4 /* JITC\82Ì\83t\83\89\83O\8cQ */
5 #define JITC_LV_SLOWEST         0       /* \83f\83o\83b\83O\8ex\89\87\82Í\89½\82Å\82à\82â\82é */
6 #define JITC_LV_SLOWER          1       /* \83G\83\89\81[\83\82\83W\83\85\81[\83\8b\82Í\83\8c\83|\81[\83g\82Å\82«\82é\82ª\81A\8ds\94Ô\8d\86\82Í\95ª\82©\82ç\82È\82¢\81A\83e\83X\83g\82Í\89ß\8fè */
7 #define JITC_LV_SAFE            2       /* \82Æ\82É\82©\82­\8e~\82Ü\82é\81A\8fê\8f\8a\82Í\95s\96¾\81A\83e\83X\83g\82Í\95K\97v\8dÅ\8f¬\8cÀ */
8 #define JITC_LV_FASTER          4       /* \8fî\95ñ\82Í\90\90¬\82·\82é\82ª\83`\83F\83b\83N\82ð\82µ\82È\82¢ */
9 #define JITC_LV_FASTEST         5       /* \8fî\95ñ\82·\82ç\90\90¬\82µ\82È\82¢ */
10 #define JITC_PHASE1                     0x0001
11 #define JITC_SKIPCHECK          0x0002  /* \83Z\83L\83\85\83\8a\83e\83B\83`\83F\83b\83N\82ð\8fÈ\97ª\82·\82é\81i\8d\82\91¬\8aë\8c¯\83\82\81[\83h\81j */
12 #define JITC_NOSTARTUP          0x0004
13 #define JITC_MAXLABELS          4096
14 #define PTRCTRLSIZ                      4096
15
16
17 int jitc0(unsigned char **qq, unsigned char *q1, const unsigned char *p0, const unsigned char *p1, int level, struct LabelTable *label);
18 int jitCompiler(unsigned char *dst, unsigned char *dst1, const unsigned char *src, const unsigned char *src1, const unsigned char *src0, struct LabelTable *label, int maxLabels, int level, int debugInfo1, int flags);
19 unsigned char *jitCompCallFunc(unsigned char *dst, void *func);
20 unsigned char *jitCompInit(unsigned char *dst);
21 void errorHandler(struct Regs *r);
22
23 #endif