5 // JITC common functions (architecture not dependent)
\r
8 void errorHandler(HOSECPU_RuntimeEnvironment *r)
\r
10 puts("security error! abort...");
\r
11 printf("debugInfo0=%d, debugInfo1=%d\n", r->debugInfo0, r->debugInfo1);
\r
12 #if (USE_DEBUGGER != 0)
\r
18 int jitCompCmdLen(const unsigned char *src)
\r
23 if (0x01 <= *src && *src < 0x04){
\r
26 } else if (*src == 0x04){
\r
29 } else if (0x08 <= *src && *src < 0x0d){
\r
30 // LMEM, SMEM, ??, ??, ??
\r
32 } else if (0x0e <= *src && *src < 0x10){
\r
35 } else if (0x10 <= *src && *src < 0x1c){
\r
36 // CP/OR, XOR, AND, ADD, SUB, MUL, SHL, SAR, DIV, MOD,
\r
38 } else if (0x1c <= *src && *src < 0x1f){
\r
41 } else if (*src == 0x1f){
\r
44 } else if(0x20 <= *src && *src < 0x2e){
\r
45 // CMPE, CMPNE, CMPL, CMPGE, CMPLE, CMPG, TSTZ, TSTNZ,
\r
46 // PCMPE, PCMPNE, PCMPL, PCMPGE, PCMPLE, PCMPG,
\r
48 } else if (*src == 0x2f){
\r
51 } else if (0x30 <= *src && *src < 0x34){
\r
52 // ??, ??, MALLOC, ??
\r
54 } else if (0x3c <= *src && *src < 0x3e){
\r
57 } else if (*src == 0xfe){
\r
65 void PRegCopy(HOSECPU_PointerRegisterEntry *dst, HOSECPU_PointerRegisterEntry *src)
\r
67 // 以下の方法で代入するとMacではアライメントエラーで落ちるのです...
\r
69 // ということで、memcpyによる実装に変更しました。
\r
71 memcpy(dst, src, sizeof(HOSECPU_PointerRegisterEntry));
\r