TempleOSCDV5.01.ISO
This commit is contained in:
1 parent
f6eacf7744
commit
320c7ee98a
219 files changed
+5211
-4853
No files matched your search
+14
-14
@@ -226,26 +226,26 @@ I64 AsmMakeArgMask(CCmpCtrl *cc,CAsmArg *arg)
|
||||
if (arg->indirect)
|
||||
res&=0x00FFFF0000;
|
||||
else if (arg->num.i<0) {
|
||||
if (arg->num.i>=MIN_I8)
|
||||
if (arg->num.i>=I8_MIN)
|
||||
res&=0x8FE;
|
||||
else if (arg->num.i>=MIN_I16)
|
||||
else if (arg->num.i>=I16_MIN)
|
||||
res&=0x8EE;
|
||||
else if (arg->num.i>=MIN_I32)
|
||||
else if (arg->num.i>=I32_MIN)
|
||||
res&=0x8CE;
|
||||
else
|
||||
res&=0x88E;
|
||||
} else {
|
||||
if (arg->num.i<=MAX_I8)
|
||||
if (arg->num.i<=I8_MAX)
|
||||
res&=0xFFE;
|
||||
else if (arg->num.i<=MAX_U8)
|
||||
else if (arg->num.i<=U8_MAX)
|
||||
res&=0xFEE;
|
||||
else if (arg->num.i<=MAX_I16)
|
||||
else if (arg->num.i<=I16_MAX)
|
||||
res&=0xEEE;
|
||||
else if (arg->num.i<=MAX_U16)
|
||||
else if (arg->num.i<=U16_MAX)
|
||||
res&=0xECE;
|
||||
else if (arg->num.i<=MAX_I32)
|
||||
else if (arg->num.i<=I32_MAX)
|
||||
res&=0xCCE;
|
||||
else if (arg->num.i<=MAX_U32)
|
||||
else if (arg->num.i<=U32_MAX)
|
||||
res&=0xC8E;
|
||||
else
|
||||
res&=0x88E;
|
||||
@@ -280,7 +280,7 @@ Bool AsmStoreNum(CCmpCtrl *cc,CAsmNum2 *num2,I64 cnt,Bool U8_avail)
|
||||
aotc->rip,num2->rel,num2->num.local_asm_undef_hash,
|
||||
num2->num.glbl_asm_undef_hash,cc->lex_include_stk->line_num,
|
||||
U8_avail);
|
||||
else if (!num2->imm_flag && !(MIN_I8<=num2->num.i<=MAX_I8))
|
||||
else if (!num2->imm_flag && !(I8_MIN<=num2->num.i<=I8_MAX))
|
||||
LexExcept(cc,"Branch out of range at ");
|
||||
if (num2->imm_flag) {
|
||||
if (num2->num.abs_cnts.abs_addres&1) {
|
||||
@@ -307,7 +307,7 @@ Bool AsmStoreNum(CCmpCtrl *cc,CAsmNum2 *num2,I64 cnt,Bool U8_avail)
|
||||
aotc->rip,num2->rel,num2->num.local_asm_undef_hash,
|
||||
num2->num.glbl_asm_undef_hash,cc->lex_include_stk->line_num,
|
||||
U8_avail);
|
||||
else if (!num2->imm_flag && !(MIN_I16<=num2->num.i<=MAX_I16))
|
||||
else if (!num2->imm_flag && !(I16_MIN<=num2->num.i<=I16_MAX))
|
||||
LexExcept(cc,"Branch out of range at ");
|
||||
if (num2->imm_flag) {
|
||||
if (num2->num.abs_cnts.abs_addres&1) {
|
||||
@@ -334,7 +334,7 @@ Bool AsmStoreNum(CCmpCtrl *cc,CAsmNum2 *num2,I64 cnt,Bool U8_avail)
|
||||
aotc->rip,num2->rel,num2->num.local_asm_undef_hash,
|
||||
num2->num.glbl_asm_undef_hash,cc->lex_include_stk->line_num,
|
||||
U8_avail);
|
||||
else if (!num2->imm_flag && !(MIN_I32<=num2->num.i<=MAX_I32))
|
||||
else if (!num2->imm_flag && !(I32_MIN<=num2->num.i<=I32_MAX))
|
||||
LexExcept(cc,"Branch out of range at ");
|
||||
if (num2->imm_flag) {
|
||||
if (num2->num.abs_cnts.abs_addres&1) {
|
||||
@@ -542,7 +542,7 @@ Bool PrsAsmInst(CCmpCtrl *cc,CHashOpcode *tmpo,I64 argcnt)
|
||||
if (tmpa1->imm_or_off_present) {
|
||||
MemCpy(&cur.disp.num,&tmpa1->num,sizeof(CAsmNum));
|
||||
if (!cur.disp.num.machine_code &&
|
||||
MIN_I8<=cur.disp.num.i<=MAX_I8) {
|
||||
I8_MIN<=cur.disp.num.i<=I8_MAX) {
|
||||
cur.ModrM|=0x40;
|
||||
cur.disp.U8_cnt=1;
|
||||
} else if (aotc->seg_size==16) {
|
||||
@@ -689,7 +689,7 @@ Bool PrsAsmInst(CCmpCtrl *cc,CHashOpcode *tmpo,I64 argcnt)
|
||||
if (tmpa1->imm_or_off_present) {
|
||||
MemCpy(&cur.disp.num,&tmpa1->num,sizeof(CAsmNum));
|
||||
if (!cur.disp.num.machine_code &&
|
||||
MIN_I8<=cur.disp.num.i<=MAX_I8) {
|
||||
I8_MIN<=cur.disp.num.i<=I8_MAX) {
|
||||
cur.ModrM|=0x40;
|
||||
cur.disp.U8_cnt=1;
|
||||
} else if (aotc->seg_size==16) {
|
||||
|
||||
+1
-1
@@ -194,7 +194,7 @@ U0 AsmHashLoad()
|
||||
}
|
||||
Free(tmpo_max);
|
||||
CmpCtrlDel(cc);
|
||||
for (i=0;i<NUM_INTERNAL_TYPES;i++) {
|
||||
for (i=0;i<INTERNAL_TYPES_NUM;i++) {
|
||||
tmpit=&internal_types_table[i];
|
||||
tmpc=PrsClassNew;
|
||||
tmpc->type=HTT_INTERNAL_TYPE;
|
||||
|
||||
@@ -18,8 +18,8 @@ U0 AsmResolve(CCmpCtrl *cc,CAsmUnresolvedRef *tmpu,U8 *label,Bool undefined)
|
||||
}
|
||||
} else if (!(tmpu->type&IEF_IMM_NOT_REL)) {
|
||||
res-=tmpu->rel_rip;
|
||||
if (tmpu->type==IET_REL_I8 && !(MIN_I8<=res<=MAX_I8) ||
|
||||
tmpu->type==IET_REL_I16 && !(MIN_I16<=res<=MAX_I16)) {
|
||||
if (tmpu->type==IET_REL_I8 && !(I8_MIN<=res<=I8_MAX) ||
|
||||
tmpu->type==IET_REL_I16 && !(I16_MIN<=res<=I16_MAX)) {
|
||||
PrintErr("Branch out of range at line:%04d %s\n",
|
||||
tmpu->line_num,label);
|
||||
LexExcept(cc);
|
||||
|
||||
+11
-11
@@ -82,17 +82,17 @@ U0 ICAddSubEctImm(CIntermediateCode *tmpi,CICType t1,I64 r1,I64 d1,
|
||||
} else if (d==-1 && op.u8[0]==0x03) {
|
||||
ICU24(tmpi,0xC8FF00+i+(r1&7)<<16);
|
||||
return;
|
||||
} else if (MIN_I8<=d<=MAX_I8) {
|
||||
} else if (I8_MIN<=d<=I8_MAX) {
|
||||
ICU24(tmpi,0xC08300+op.u8[1]<<19+i+(r1&7)<<16);
|
||||
ICU8(tmpi,d);
|
||||
return;
|
||||
} else if (MIN_I32<=d<=MAX_I32) {
|
||||
} else if (I32_MIN<=d<=I32_MAX) {
|
||||
ICU24(tmpi,0xC08100+op.u8[1]<<19+i+(r1&7)<<16);
|
||||
ICU32(tmpi,d);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (op.u8[0]==0x03 && MIN_I32<=d<=MAX_I32 &&
|
||||
if (op.u8[0]==0x03 && I32_MIN<=d<=I32_MAX &&
|
||||
!Bt(&cmp.non_ptr_vars_mask,r2)) {
|
||||
i=ICModr1(r1,MDF_DISP+RT_I64,r2,d);
|
||||
i.u8[1]|=0x48;
|
||||
@@ -141,12 +141,12 @@ U0 ICAddSubEctImm(CIntermediateCode *tmpi,CICType t1,I64 r1,I64 d1,
|
||||
ICModr2(tmpi,i,,d1,rip);
|
||||
return;
|
||||
}
|
||||
if (MIN_I8<=d<=MAX_I8 || t1&(RTG_MASK-RTF_UNSIGNED)==RT_I8) {
|
||||
if (I8_MIN<=d<=I8_MAX || t1&(RTG_MASK-RTF_UNSIGNED)==RT_I8) {
|
||||
ICSlashOp(tmpi,t1,r1,d1,SLASH_OP_IMM_U8+op.u8[1],rip+1);
|
||||
ICU8(tmpi,d);
|
||||
return;
|
||||
}
|
||||
if (MIN_I32<=d<=MAX_I32 || t1.raw_type<RT_I64) {
|
||||
if (I32_MIN<=d<=I32_MAX || t1.raw_type<RT_I64) {
|
||||
ICSlashOp(tmpi,t1,r1,d1,SLASH_OP_IMM_U32+op.u8[1],rip);
|
||||
if (t1&(RTG_MASK-RTF_UNSIGNED)==RT_I16)
|
||||
ICU16(tmpi,d);
|
||||
@@ -237,7 +237,7 @@ U0 ICMul(CIntermediateCode *tmpi,I64 rip)
|
||||
}
|
||||
i=arg2->disp;
|
||||
if (!(tmpi->ic_class->raw_type&RTF_UNSIGNED) &&
|
||||
arg2->type&MDF_IMM && MIN_I32<=i<=MAX_I32) {
|
||||
arg2->type&MDF_IMM && I32_MIN<=i<=I32_MAX) {
|
||||
if (tmpi->res.type==MDF_REG+RT_I64) {
|
||||
ICMov(tmpi,tmpi->res.type,tmpi->res.reg,tmpi->res.disp,
|
||||
arg1->type,arg1->reg,arg1->disp,rip);
|
||||
@@ -248,7 +248,7 @@ U0 ICMul(CIntermediateCode *tmpi,I64 rip)
|
||||
j=0xC0004D;
|
||||
else
|
||||
j=0xC00048;
|
||||
if (MIN_I8<=i<=MAX_I8)
|
||||
if (I8_MIN<=i<=I8_MAX)
|
||||
ICU32(tmpi,i<<24+0x6B00+j+(r&7)<<16+(r&7)<<19);
|
||||
else {
|
||||
ICU24(tmpi,0x6900+j+(r&7)<<16+(r&7)<<19);
|
||||
@@ -286,7 +286,7 @@ U0 ICMulEqu(CIntermediateCode *tmpi,I64 rip)
|
||||
{
|
||||
I64 i=tmpi->arg2.disp,r=REG_RAX,j;
|
||||
if (!(tmpi->ic_class->raw_type&RTF_UNSIGNED) &&
|
||||
tmpi->arg2.type&MDF_IMM && MIN_I32<=i<=MAX_I32) {
|
||||
tmpi->arg2.type&MDF_IMM && I32_MIN<=i<=I32_MAX) {
|
||||
if (tmpi->ic_flags & ICF_BY_VAL) {
|
||||
if (tmpi->arg1.type==MDF_REG+RT_I64)
|
||||
r=tmpi->arg1.reg;
|
||||
@@ -298,7 +298,7 @@ U0 ICMulEqu(CIntermediateCode *tmpi,I64 rip)
|
||||
j=0xC0004D;
|
||||
else
|
||||
j=0xC00048;
|
||||
if (MIN_I8<=i<=MAX_I8)
|
||||
if (I8_MIN<=i<=I8_MAX)
|
||||
ICU32(tmpi,i<<24+0x6B00+j+(r&7)<<16+(r&7)<<19);
|
||||
else {
|
||||
ICU24(tmpi,0x6900+j+(r&7)<<16+(r&7)<<19);
|
||||
@@ -312,7 +312,7 @@ U0 ICMulEqu(CIntermediateCode *tmpi,I64 rip)
|
||||
ICMov(tmpi,MDF_REG+RT_I64,REG_RBX,0,
|
||||
MDF_DISP+tmpi->arg1_type_pointed_to,REG_RCX,0,rip);
|
||||
r=REG_RBX;
|
||||
if (MIN_I8<=i<=MAX_I8)
|
||||
if (I8_MIN<=i<=I8_MAX)
|
||||
ICU32(tmpi,i<<24+0xDB6B48);
|
||||
else {
|
||||
ICU24(tmpi,0xDB6948);
|
||||
@@ -513,7 +513,7 @@ U0 ICAddSubEctEqu(CIntermediateCode *tmpi,U8 type_pointed_to,
|
||||
if (t3&MDF_IMM && op.u8[2]) {
|
||||
if (!d3.u32[1]) {
|
||||
if (tmpi->ic_flags&ICF_RES_NOT_USED &&
|
||||
t2&MDF_REG && d3(U64)<=MAX_I8) {
|
||||
t2&MDF_REG && d3(U64)<=I8_MAX) {
|
||||
ICSlashOp(tmpi,MDF_DISP+type_pointed_to,r2,0,0x838000+op.u8[4],rip);
|
||||
ICU8(tmpi,d3);
|
||||
done=TRUE;
|
||||
|
||||
+11
-11
@@ -102,7 +102,7 @@ U0 ICXorXor(CIntermediateCode *tmpi,I64 rip)
|
||||
U0 ICCmp(CIntermediateCode *tmpi,I64 us,I64 is,I64 rip)
|
||||
{
|
||||
I64 r1,d1,r2,i=0x48,j=tmpi->arg2.disp;
|
||||
if (tmpi->arg2.type&MDF_IMM && MIN_I32<=j<=MAX_I32) {
|
||||
if (tmpi->arg2.type&MDF_IMM && I32_MIN<=j<=I32_MAX) {
|
||||
if (!(tmpi->ic_flags&(ICF_POP_CMP|ICF_PUSH_CMP)) &&
|
||||
tmpi->arg1.type&MDF_DISP && //TODO
|
||||
tmpi->arg1.type.raw_type>=RT_I64 && tmpi->arg1.reg!=REG_RAX) {
|
||||
@@ -111,20 +111,20 @@ U0 ICCmp(CIntermediateCode *tmpi,I64 us,I64 is,I64 rip)
|
||||
ICZero(tmpi,REG_RAX);
|
||||
if (r1>7)
|
||||
i++;
|
||||
if (MIN_I8<=j<=MAX_I8)
|
||||
if (I8_MIN<=j<=I8_MAX)
|
||||
i+=0x388300;
|
||||
else
|
||||
i+=0x388100;
|
||||
if (!d1) {
|
||||
ICU24(tmpi,0x000000+i+(r1&7)<<16);
|
||||
} else if (MIN_I8<=d1<=MAX_I8) {
|
||||
} else if (I8_MIN<=d1<=I8_MAX) {
|
||||
ICU24(tmpi,0x400000+i+(r1&7)<<16);
|
||||
ICU8(tmpi,d1);
|
||||
} else {
|
||||
ICU24(tmpi,0x800000+i+(r1&7)<<16);
|
||||
ICU32(tmpi,d1);
|
||||
}
|
||||
if (MIN_I8<=j<=MAX_I8)
|
||||
if (I8_MIN<=j<=I8_MAX)
|
||||
ICU8(tmpi,j);
|
||||
else
|
||||
ICU32(tmpi,j);
|
||||
@@ -144,7 +144,7 @@ U0 ICCmp(CIntermediateCode *tmpi,I64 us,I64 is,I64 rip)
|
||||
ICZero(tmpi,REG_RAX);
|
||||
if (r1>7)
|
||||
i++;
|
||||
if (MIN_I8<=j<=MAX_I8) {
|
||||
if (I8_MIN<=j<=I8_MAX) {
|
||||
ICU24(tmpi,0xF88300+i+(r1&7)<<16);
|
||||
ICU8(tmpi,j);
|
||||
} else {
|
||||
@@ -475,7 +475,7 @@ U0 ICCmpAndBranch(CIntermediateCode *tmpi,Bool has_res,I64 rip,
|
||||
CICArg *arg1=&tmpi->arg1,*arg2=&tmpi->arg2;
|
||||
|
||||
j=arg1->disp;
|
||||
if (arg1->type&MDF_IMM && MIN_I32<=j<=MAX_I32) {
|
||||
if (arg1->type&MDF_IMM && I32_MIN<=j<=I32_MAX) {
|
||||
SwapI64(&arg1,&arg2);
|
||||
swap=TRUE;
|
||||
us=not_us;
|
||||
@@ -487,7 +487,7 @@ U0 ICCmpAndBranch(CIntermediateCode *tmpi,Bool has_res,I64 rip,
|
||||
is=us;
|
||||
|
||||
j=arg2->disp;
|
||||
if (arg2->type&MDF_IMM && MIN_I32<=j<=MAX_I32) {
|
||||
if (arg2->type&MDF_IMM && I32_MIN<=j<=I32_MAX) {
|
||||
if (!has_res && arg1->type&MDG_REG_DISP_SIB_RIP)
|
||||
ICAddSubEctImm(tmpi,arg1->type,arg1->reg,arg1->disp,
|
||||
arg1->type,arg1->reg,arg1->disp,j,0x073B,rip2);
|
||||
@@ -517,7 +517,7 @@ U0 ICCmpAndBranch(CIntermediateCode *tmpi,Bool has_res,I64 rip,
|
||||
} else {
|
||||
if (r1>7)
|
||||
i++;
|
||||
if (MIN_I8<=j<=MAX_I8) {
|
||||
if (I8_MIN<=j<=I8_MAX) {
|
||||
ICU24(tmpi,0xF88300+i+(r1&7)<<16);
|
||||
ICU8(tmpi,j);
|
||||
} else {
|
||||
@@ -606,7 +606,7 @@ U0 ICCmpAndBranch(CIntermediateCode *tmpi,Bool has_res,I64 rip,
|
||||
else
|
||||
i+=8;
|
||||
}
|
||||
if (MIN_I8<=i<=MAX_I8)
|
||||
if (I8_MIN<=i<=I8_MAX)
|
||||
short_jmp=TRUE;
|
||||
}
|
||||
|
||||
@@ -665,7 +665,7 @@ U0 ICTestAndBranch(CIntermediateCode *tmpi,I64 rip,I64 is,U8 *buf,I64 rip2)
|
||||
i=lb->addr-(rip+2);
|
||||
if (lb->flags&CMF_POP_CMP)
|
||||
i+=8;
|
||||
if (MIN_I8<=i<=MAX_I8)
|
||||
if (I8_MIN<=i<=I8_MAX)
|
||||
short_jmp=TRUE;
|
||||
}
|
||||
|
||||
@@ -698,7 +698,7 @@ U0 ICFlagBranch(CIntermediateCode *tmpi,I64 rip,I64 is,U8 *buf)
|
||||
i=lb->addr-(rip+2);
|
||||
if (lb->flags&CMF_POP_CMP)
|
||||
i+=8;
|
||||
if (MIN_I8<=i<=MAX_I8)
|
||||
if (I8_MIN<=i<=I8_MAX)
|
||||
short_jmp=TRUE;
|
||||
}
|
||||
|
||||
|
||||
+18
-18
@@ -16,7 +16,7 @@ U0 ICAndBranch(CIntermediateCode *tmpi,I64 rip,I64 is,U8 *buf,I64 rip2)
|
||||
arg2=&tmpi->arg2;
|
||||
}
|
||||
|
||||
if (arg2->type&MDF_IMM && arg2->disp>MAX_U32)
|
||||
if (arg2->type&MDF_IMM && arg2->disp>U32_MAX)
|
||||
override=TRUE;
|
||||
else
|
||||
override=FALSE;
|
||||
@@ -27,11 +27,11 @@ U0 ICAndBranch(CIntermediateCode *tmpi,I64 rip,I64 is,U8 *buf,I64 rip2)
|
||||
it=arg2->type.raw_type;
|
||||
|
||||
i=arg2->disp;
|
||||
if (arg2->type&MDF_IMM && i<=MAX_U32) {
|
||||
if (arg2->type&MDF_IMM && i<=U32_MAX) {
|
||||
ICMov(tmpi,MDF_REG+RT_I64,REG_RAX,0,arg1->type,arg1->reg,arg1->disp,rip2);
|
||||
if (i<=MAX_U8)
|
||||
if (i<=U8_MAX)
|
||||
ICU16(tmpi,i<<8+0xA8);
|
||||
else if (i<=MAX_U16)
|
||||
else if (i<=U16_MAX)
|
||||
ICU32(tmpi,i<<16+0xA900+OC_OP_SIZE_PREFIX);
|
||||
else {
|
||||
ICU8(tmpi,0xA9);
|
||||
@@ -136,7 +136,7 @@ U0 ICAndBranch(CIntermediateCode *tmpi,I64 rip,I64 is,U8 *buf,I64 rip2)
|
||||
i=lb->addr-(rip+2);
|
||||
if (lb->flags&CMF_POP_CMP)
|
||||
i+=8;
|
||||
if (MIN_I8<=i<=MAX_I8)
|
||||
if (I8_MIN<=i<=I8_MAX)
|
||||
short_jmp=TRUE;
|
||||
}
|
||||
|
||||
@@ -317,7 +317,7 @@ U0 ICBrBitOps(CIntermediateCode *tmpi,I64 rip,
|
||||
i=lb->addr-(rip+2);
|
||||
if (lb->flags&CMF_POP_CMP)
|
||||
i+=8;
|
||||
if (MIN_I8<=i<=MAX_I8)
|
||||
if (I8_MIN<=i<=I8_MAX)
|
||||
short_jmp=TRUE;
|
||||
}
|
||||
|
||||
@@ -564,7 +564,7 @@ U0 ICOrEqu(CIntermediateCode *tmpi,I64 rip2)
|
||||
tmpi->ic_flags&ICF_RES_NOT_USED) {
|
||||
i=tmpi->arg2.disp;
|
||||
bit=Bsf(i);
|
||||
if (0<=bit==Bsr(i) && i>MAX_I8) {
|
||||
if (0<=bit==Bsr(i) && i>I8_MAX) {
|
||||
tmpi->arg2.disp=bit;
|
||||
tmpi->arg2.reg=0;
|
||||
tmpi->arg1.type=tmpi->arg1.type&MDG_MASK+RT_I64;
|
||||
@@ -618,12 +618,12 @@ U0 ICSwitch(CIntermediateCode *tmpi,I64 rip,
|
||||
j=tmpi->arg2.disp;
|
||||
ICMov(tmpi,MDF_REG+RT_I64,r,0,
|
||||
tmpi->arg1.type,tmpi->arg1.reg,tmpi->arg1.disp,rip2);
|
||||
if (MIN_I8<=j<=MAX_I8) {
|
||||
if (I8_MIN<=j<=I8_MAX) {
|
||||
i=0xF88348+(r&7)<<16;
|
||||
if (r>7) i++;
|
||||
ICU24(tmpi,i);
|
||||
ICU8(tmpi,j);
|
||||
} else if (MIN_I32<=j<=MAX_I32) {
|
||||
} else if (I32_MIN<=j<=I32_MAX) {
|
||||
i=0xF88148+(r&7)<<16;
|
||||
if (r>7) i++;
|
||||
ICU24(tmpi,i);
|
||||
@@ -650,7 +650,7 @@ U0 ICSwitch(CIntermediateCode *tmpi,I64 rip,
|
||||
short_jmp=ToBool(tmpi->ic_flags&ICF_SHORT_JMP);
|
||||
if (!buf && lb->addr!=INVALID_PTR) {
|
||||
i=lb->addr-(rip+2);
|
||||
if (MIN_I8<=i<=MAX_I8)
|
||||
if (I8_MIN<=i<=I8_MAX)
|
||||
short_jmp=TRUE;
|
||||
}
|
||||
if (short_jmp) {
|
||||
@@ -666,12 +666,12 @@ U0 ICSwitch(CIntermediateCode *tmpi,I64 rip,
|
||||
lb=tmpi->ic_data;
|
||||
begin=lb->begin->addr;
|
||||
if (!buf && begin!=INVALID_PTR) {
|
||||
min=MAX_I64;
|
||||
max=MIN_I64;
|
||||
min=I64_MAX;
|
||||
max=I64_MIN;
|
||||
for (i=0;i<lb->range;i++) {
|
||||
if (lb->jmp_table[i]->addr==INVALID_PTR) {
|
||||
min=MIN_I64;
|
||||
max=MAX_I64;
|
||||
min=I64_MIN;
|
||||
max=I64_MAX;
|
||||
break;
|
||||
} else {
|
||||
j=lb->jmp_table[i]->addr-begin;
|
||||
@@ -679,13 +679,13 @@ U0 ICSwitch(CIntermediateCode *tmpi,I64 rip,
|
||||
max=MaxI64(max,j);
|
||||
}
|
||||
}
|
||||
if (MIN_I8<=min<=max<=MAX_I8)
|
||||
if (I8_MIN<=min<=max<=I8_MAX)
|
||||
lb->flags|=CMF_I8_JMP_TABLE;
|
||||
else if (MIN_U8<=min<=max<=MAX_U8)
|
||||
else if (U8_MIN<=min<=max<=U8_MAX)
|
||||
lb->flags|=CMF_U8_JMP_TABLE;
|
||||
else if (MIN_I16<=min<=max<=MAX_I16)
|
||||
else if (I16_MIN<=min<=max<=I16_MAX)
|
||||
lb->flags|=CMF_I16_JMP_TABLE;
|
||||
else if (MIN_U16<=min<=max<=MAX_U16)
|
||||
else if (U16_MIN<=min<=max<=U16_MAX)
|
||||
lb->flags|=CMF_U16_JMP_TABLE;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -309,7 +309,7 @@ U0 ICFPow(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip)
|
||||
throw('Compiler');
|
||||
else {
|
||||
i=tmpex->val-(rip+tmpi->ic_cnt+5);
|
||||
if (!(MIN_I32<=i<=MAX_I32)) {
|
||||
if (!(I32_MIN<=i<=I32_MAX)) {
|
||||
throw('Compiler');
|
||||
// ICU16(tmpi,0xBB48);
|
||||
// ICU64(tmpi,tmpex->val);
|
||||
@@ -322,7 +322,7 @@ U0 ICFPow(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip)
|
||||
}
|
||||
} else {
|
||||
i=tmpex->val-(rip+tmpi->ic_cnt+5);
|
||||
if (!(MIN_I32<=i<=MAX_I32)) {
|
||||
if (!(I32_MIN<=i<=I32_MAX)) {
|
||||
ICU16(tmpi,0xBB48);
|
||||
ICU64(tmpi,tmpex->val);
|
||||
ICU16(tmpi,0xD3FF);
|
||||
|
||||
+1
-1
@@ -457,7 +457,7 @@ U0 ICFCmpAndBranch(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 rip,
|
||||
else
|
||||
i+=8;
|
||||
}
|
||||
if (MIN_I8<=i<=MAX_I8)
|
||||
if (I8_MIN<=i<=I8_MAX)
|
||||
short_jmp=TRUE;
|
||||
}
|
||||
|
||||
|
||||
+15
-15
@@ -99,18 +99,18 @@ U0 ICAddRSP(CIntermediateCode *tmpi,I64 i,Bool optimize=TRUE)
|
||||
}
|
||||
last_start=tmpi->ic_cnt;
|
||||
if (i>0) {
|
||||
if (i<=MAX_I8)
|
||||
if (i<=I8_MAX)
|
||||
ICU32(tmpi,0xC48348+i<<24);
|
||||
else if (i<=MAX_I32) {
|
||||
else if (i<=I32_MAX) {
|
||||
ICU24(tmpi,0xC48148);
|
||||
ICU32(tmpi,i);
|
||||
} else
|
||||
throw('Compiler');
|
||||
} else if (i<0) {
|
||||
i=-i;
|
||||
if (i<=MAX_I8)
|
||||
if (i<=I8_MAX)
|
||||
ICU32(tmpi,0xEC8348+i<<24);
|
||||
else if (i<=MAX_I32) {
|
||||
else if (i<=I32_MAX) {
|
||||
ICU24(tmpi,0xEC8148);
|
||||
ICU32(tmpi,i);
|
||||
} else
|
||||
@@ -166,7 +166,7 @@ I64 ICModr1(I64 r,CICType t2,I64 r2,I64 d2)
|
||||
if (!d2 && r2!=REG_RBP) {
|
||||
res.u8[2]=r<<3+r2;
|
||||
res.u8[0]=MODR_INDIRECT_REG;
|
||||
} else if (MIN_I8<=d2<=MAX_I8) {
|
||||
} else if (I8_MIN<=d2<=I8_MAX) {
|
||||
res.u8[2]=0x40+r<<3+r2;
|
||||
res.u8[0]=MODR_D8_INDIRECT_REG;
|
||||
} else {
|
||||
@@ -190,7 +190,7 @@ I64 ICModr1(I64 r,CICType t2,I64 r2,I64 d2)
|
||||
if (!d2 && r2.u8[0]&7!=REG_RBP) {
|
||||
res.u8[2]=4+r<<3;
|
||||
res.u8[0]=MODR_SIB_INDIRECT_REG;
|
||||
} else if (MIN_I8<=d2<=MAX_I8) {
|
||||
} else if (I8_MIN<=d2<=I8_MAX) {
|
||||
res.u8[2]=0x44+r<<3;
|
||||
res.u8[0]=MODR_SIB_D8_INDIRECT_REG;
|
||||
} else {
|
||||
@@ -319,9 +319,9 @@ U0 ICPush(CIntermediateCode *tmpi,CICType t1,I64 r1,I64 d1,I64 rip)
|
||||
ICU8(tmpi,0x50+r1);
|
||||
return;
|
||||
case MDf_IMM:
|
||||
if (MIN_I8<=d1<=MAX_I8)
|
||||
if (I8_MIN<=d1<=I8_MAX)
|
||||
ICU16(tmpi,0x6A+d1<<8);
|
||||
else if (MIN_I32<=d1<=MAX_I32) {
|
||||
else if (I32_MIN<=d1<=I32_MAX) {
|
||||
ICU8(tmpi,0x68);
|
||||
ICU32(tmpi,d1);
|
||||
} else {
|
||||
@@ -350,7 +350,7 @@ U0 ICPush(CIntermediateCode *tmpi,CICType t1,I64 r1,I64 d1,I64 rip)
|
||||
U0 ICPushRegs(CIntermediateCode *tmpi,I64 mask)
|
||||
{
|
||||
I64 i;
|
||||
for (i=0;i<NUM_REGS;i++) {
|
||||
for (i=0;i<REG_REGS_NUM;i++) {
|
||||
if (Bt(&mask,i)) {
|
||||
if (i>7)
|
||||
ICU16(tmpi,0x5049+(i&7)<<8);
|
||||
@@ -391,7 +391,7 @@ U0 ICPop(CIntermediateCode *tmpi,CICType t1,I64 r1,I64 d1,I64 rip)
|
||||
U0 ICPopRegs(CIntermediateCode *tmpi,I64 mask)
|
||||
{
|
||||
I64 i;
|
||||
for (i=NUM_REGS-1;i>=0;i--) {
|
||||
for (i=REG_REGS_NUM-1;i>=0;i--) {
|
||||
if (Bt(&mask,i)) {
|
||||
if (i>7)
|
||||
ICU16(tmpi,0x5849+(i&7)<<8);
|
||||
@@ -454,7 +454,7 @@ U0 ICMov(CIntermediateCode *tmpi,
|
||||
if (t2&MDF_IMM) {
|
||||
if (!d2)
|
||||
ICZero(tmpi,r1);
|
||||
else if (0<=d2<=MAX_U8) {
|
||||
else if (0<=d2<=U8_MAX) {
|
||||
ICZero(tmpi,r1);
|
||||
if (r1>7)
|
||||
ICU24(tmpi,d2<<16+(0xB0+r1&7)<<8+0x41);
|
||||
@@ -462,7 +462,7 @@ U0 ICMov(CIntermediateCode *tmpi,
|
||||
ICU24(tmpi,d2<<16+(0xB0+r1)<<8+0x40);
|
||||
else
|
||||
ICU16(tmpi,d2<<8+0xB0+r1);
|
||||
} else if (MIN_I8<=d2<0) {
|
||||
} else if (I8_MIN<=d2<0) {
|
||||
if (r1>7) {
|
||||
r1&=7;
|
||||
ICU24(tmpi,d2<<16+(0xB0+r1)<<8+0x41);
|
||||
@@ -474,7 +474,7 @@ U0 ICMov(CIntermediateCode *tmpi,
|
||||
ICU16(tmpi,d2<<8+0xB0+r1);
|
||||
ICU32(tmpi,0xC0BE0F48+r1<<24+r1<<27);
|
||||
}
|
||||
} else if (0<=d2<=MAX_U32) {
|
||||
} else if (0<=d2<=U32_MAX) {
|
||||
if (r1>7) {
|
||||
r1&=7;
|
||||
ICU16(tmpi,(0xB8+r1)<<8+0x41);
|
||||
@@ -483,7 +483,7 @@ U0 ICMov(CIntermediateCode *tmpi,
|
||||
ICU8(tmpi,0xB8+r1);
|
||||
ICU32(tmpi,d2);
|
||||
}
|
||||
} else if (MIN_I32<=d2<0) {
|
||||
} else if (I32_MIN<=d2<0) {
|
||||
if (r1>7) {
|
||||
r1&=7;
|
||||
ICU16(tmpi,(0xB8+r1)<<8+0x41);
|
||||
@@ -550,7 +550,7 @@ U0 ICMov(CIntermediateCode *tmpi,
|
||||
case MDf_DISP:
|
||||
case MDf_RIP_DISP32:
|
||||
case MDf_SIB:
|
||||
if (t2&MDF_IMM && (t1.raw_type<RT_I64 || (MIN_I32<=d2<=MAX_I32))) {
|
||||
if (t2&MDF_IMM && (t1.raw_type<RT_I64 || (I32_MIN<=d2<=I32_MAX))) {
|
||||
ICSlashOp(tmpi,t1,r1,d1,SLASH_OP_MOV_IMM,rip);
|
||||
switch (t1.raw_type) {
|
||||
case RT_I8:
|
||||
|
||||
+15
-15
@@ -1,9 +1,9 @@
|
||||
#define NUM_INTERNAL_TYPES 17
|
||||
#define INTERNAL_TYPES_NUM 17
|
||||
|
||||
class CInternalType
|
||||
{
|
||||
U8 type,size,name[8];
|
||||
} internal_types_table[NUM_INTERNAL_TYPES]={
|
||||
} internal_types_table[INTERNAL_TYPES_NUM]={
|
||||
{RT_I0,0,"I0i"},{RT_I0,0,"I0"},{RT_U0,0,"U0i"},{RT_U0,0,"U0"},
|
||||
{RT_I8,1,"I8i"},{RT_I8,1,"I8"},{RT_I8,1,"Bool"},
|
||||
{RT_U8,1,"U8i"},{RT_U8,1,"U8"},
|
||||
@@ -13,7 +13,7 @@ class CInternalType
|
||||
{RT_F64,8,"F64i"},{RT_F64,8,"F64"},
|
||||
};
|
||||
|
||||
CIntermediateStruct intermediate_code_table[IC_NUM_ENTRIES]={
|
||||
CIntermediateStruct intermediate_code_table[IC_ICS_NUM]={
|
||||
{IS_0_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"END"},
|
||||
{IS_0_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"NOP1"},
|
||||
{IS_1_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"END_EXP"},
|
||||
@@ -185,10 +185,10 @@ CIntermediateStruct intermediate_code_table[IC_NUM_ENTRIES]={
|
||||
{IS_2_ARG,0,IST_NULL,FALSE,TRUE,0,0,0,"SWAP_U64"},
|
||||
{IS_1_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"ABS_I64"},
|
||||
{IS_1_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"SIGN_I64"},
|
||||
{IS_2_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"MIN_I64"},
|
||||
{IS_2_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"MIN_U64"},
|
||||
{IS_2_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"MAX_I64"},
|
||||
{IS_2_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"MAX_U64"},
|
||||
{IS_2_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"I64_MIN"},
|
||||
{IS_2_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"U64_MIN"},
|
||||
{IS_2_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"I64_MAX"},
|
||||
{IS_2_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"U64_MAX"},
|
||||
{IS_2_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"MOD_U64"},
|
||||
{IS_1_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"SQRI64"},
|
||||
{IS_1_ARG,0,IST_NULL,FALSE,FALSE,0,0,0,"SQRU64"},
|
||||
@@ -241,21 +241,21 @@ U0 CmpFillTables()
|
||||
I64 i;
|
||||
U32 *d;
|
||||
|
||||
cmp.to_reg_vars_map=CAlloc(NUM_REGS*sizeof(U8));
|
||||
cmp.to_reg_vars_map=CAlloc(REG_REGS_NUM*sizeof(U8));
|
||||
cmp.num_reg_vars=0;
|
||||
cmp.reg_vars_mask=REGG_LOCAL_VARS;
|
||||
for (i=0;i<NUM_REGS;i++)
|
||||
for (i=0;i<REG_REGS_NUM;i++)
|
||||
if (Bt(&cmp.reg_vars_mask,i))
|
||||
cmp.to_reg_vars_map[cmp.num_reg_vars++]=i;
|
||||
|
||||
cmp.non_ptr_vars_map=CAlloc(NUM_REGS*sizeof(U8));
|
||||
cmp.non_ptr_vars_map=CAlloc(REG_REGS_NUM*sizeof(U8));
|
||||
cmp.num_non_ptr_vars=0;
|
||||
cmp.non_ptr_vars_mask=REGG_LOCAL_NON_PTR_VARS;
|
||||
for (i=0;i<NUM_REGS;i++)
|
||||
for (i=0;i<REG_REGS_NUM;i++)
|
||||
if (Bt(&cmp.non_ptr_vars_mask,i))
|
||||
cmp.non_ptr_vars_map[cmp.num_non_ptr_vars++]=i;
|
||||
|
||||
cmp.dual_U16_tokens1=d=CAlloc(sizeof(U32)*TK_NUM_TK);
|
||||
cmp.dual_U16_tokens1=d=CAlloc(sizeof(U32)*TK_TKS_NUM);
|
||||
d['!']=TK_NOT_EQU<<16+'=';
|
||||
d['&']=TK_AND_AND<<16+'&';
|
||||
d['*']=TK_MUL_EQU<<16+'=';
|
||||
@@ -270,7 +270,7 @@ U0 CmpFillTables()
|
||||
d['|']=TK_OR_OR<<16+'|';
|
||||
d['%']=TK_MOD_EQU<<16+'=';
|
||||
|
||||
cmp.dual_U16_tokens2=d=CAlloc(sizeof(U32)*TK_NUM_TK);
|
||||
cmp.dual_U16_tokens2=d=CAlloc(sizeof(U32)*TK_TKS_NUM);
|
||||
d['&']=TK_AND_EQU<<16+'=';
|
||||
d['+']=TK_ADD_EQU<<16+'=';
|
||||
d['-']=TK_MINUS_MINUS<<16+'-';
|
||||
@@ -280,11 +280,11 @@ U0 CmpFillTables()
|
||||
d['^']=TK_XOR_XOR<<16+'^';
|
||||
d['|']=TK_OR_EQU<<16+'=';
|
||||
|
||||
cmp.dual_U16_tokens3=d=CAlloc(sizeof(U32)*TK_NUM_TK);
|
||||
cmp.dual_U16_tokens3=d=CAlloc(sizeof(U32)*TK_TKS_NUM);
|
||||
d['-']=TK_SUB_EQU<<16+'=';
|
||||
d['/']=TK_DIV_EQU<<16+'=';
|
||||
|
||||
cmp.binary_ops=d=CAlloc(sizeof(U32)*TK_NUM_TK);
|
||||
cmp.binary_ops=d=CAlloc(sizeof(U32)*TK_TKS_NUM);
|
||||
d['`'] =(PREC_EXP+ASSOCF_RIGHT)<<16+IC_POWER;
|
||||
d[TK_SHL]=(PREC_EXP+ASSOCF_LEFT)<<16+IC_SHL;
|
||||
d[TK_SHR]=(PREC_EXP+ASSOCF_LEFT)<<16+IC_SHR;
|
||||
|
||||
+7
-7
@@ -255,7 +255,7 @@ U0 CmpFixUpJITAsm(CCmpCtrl *cc,CAOT *tmpaot)
|
||||
case IET_IMM_U0:
|
||||
break;
|
||||
case IET_REL_I8:
|
||||
if (!(MIN_I8<=i-ptr-1<=MAX_I8))
|
||||
if (!(I8_MIN<=i-ptr-1<=I8_MAX))
|
||||
LexExcept(cc,"Branch out of range at ");
|
||||
*ptr(U8 *) =i-ptr-1;
|
||||
break;
|
||||
@@ -263,7 +263,7 @@ U0 CmpFixUpJITAsm(CCmpCtrl *cc,CAOT *tmpaot)
|
||||
*ptr(U8 *) =i;
|
||||
break;
|
||||
case IET_REL_I16:
|
||||
if (!(MIN_I16<=i-ptr-2<=MAX_I16))
|
||||
if (!(I16_MIN<=i-ptr-2<=I16_MAX))
|
||||
LexExcept(cc,"Branch out of range at ");
|
||||
*ptr(U16 *)=i-ptr-2;
|
||||
break;
|
||||
@@ -271,7 +271,7 @@ U0 CmpFixUpJITAsm(CCmpCtrl *cc,CAOT *tmpaot)
|
||||
*ptr(U16 *)=i;
|
||||
break;
|
||||
case IET_REL_I32:
|
||||
if (!(MIN_I32<=i-ptr-4<=MAX_I32))
|
||||
if (!(I32_MIN<=i-ptr-4<=I32_MAX))
|
||||
LexExcept(cc,"Branch out of range at ");
|
||||
*ptr(U32 *)=i-ptr-4;
|
||||
break;
|
||||
@@ -355,7 +355,7 @@ U0 CmpFixUpAOTAsm(CCmpCtrl *cc,CAOT *tmpaot)
|
||||
case IET_IMM_U0:
|
||||
break;
|
||||
case IET_REL_I8:
|
||||
if (!(MIN_I8<=i-ptr-1<=MAX_I8))
|
||||
if (!(I8_MIN<=i-ptr-1<=I8_MAX))
|
||||
LexExcept(cc,"Branch out of range at ");
|
||||
*ptr(U8 *) =i-ptr-1;
|
||||
break;
|
||||
@@ -363,7 +363,7 @@ U0 CmpFixUpAOTAsm(CCmpCtrl *cc,CAOT *tmpaot)
|
||||
*ptr(U8 *) =i;
|
||||
break;
|
||||
case IET_REL_I16:
|
||||
if (!(MIN_I16<=i-ptr-2<=MAX_I16))
|
||||
if (!(I16_MIN<=i-ptr-2<=I16_MAX))
|
||||
LexExcept(cc,"Branch out of range at ");
|
||||
*ptr(U16 *)=i-ptr-2;
|
||||
break;
|
||||
@@ -371,7 +371,7 @@ U0 CmpFixUpAOTAsm(CCmpCtrl *cc,CAOT *tmpaot)
|
||||
*ptr(U16 *)=i;
|
||||
break;
|
||||
case IET_REL_I32:
|
||||
if (!(MIN_I32<=i-ptr-4<=MAX_I32))
|
||||
if (!(I32_MIN<=i-ptr-4<=I32_MAX))
|
||||
LexExcept(cc,"Branch out of range at ");
|
||||
*ptr(U32 *)=i-ptr-4;
|
||||
break;
|
||||
@@ -538,7 +538,7 @@ I64 Cmp(U8 *filename,U8 *map_name=NULL,U8 *out_name=NULL,U8 mapfile_drv_let=0)
|
||||
size=(sizeof(CBinFile)+aot_U8s+i+15)&-16;
|
||||
bfh=MAlloc(size);
|
||||
bfh->jmp=0xEB+256*(sizeof(CBinFile)-2);
|
||||
#assert sizeof(CBinFile)-2<=MAX_I8
|
||||
#assert sizeof(CBinFile)-2<=I8_MAX
|
||||
bfh->reserved=0;
|
||||
bfh->bin_signature=BIN_SIGNATURE_VAL;
|
||||
bfh->module_org=tmpaot->module_org;
|
||||
|
||||
Binary file not shown.
+79
-84
@@ -7,7 +7,7 @@ $LK,"CmpRawTypePointed",A="FL:::/Compiler/OptLib.HC.Z,517",BI=6$
|
||||
$LK,"OptFixupBinaryOp1",A="FL:::/Compiler/OptLib.HC.Z,96",BI=7$
|
||||
$LK,"OptFixupBinaryOp2",A="FL:::/Compiler/OptLib.HC.Z,182",BI=8$
|
||||
$LK,"COCInit",A="FL:::/Compiler/PrsLib.HC.Z,99",BI=9$
|
||||
$LK,"IsLexExpression2Bin",A="FL:::/Compiler/PrsExp.HC.Z,1129",BI=10$
|
||||
$LK,"IsLexExpression2Bin",A="FL:::/Compiler/PrsExp.HC.Z,1135",BI=10$
|
||||
$LK,"CSubSwitch",A="FL:::/Compiler/PrsStmt.HC.Z,566"$
|
||||
$LK,"LexFilePop",A="FL:::/Compiler/Lex.HC.Z,11",BI=11$
|
||||
$LK,"ExePutS",A="FL:::/Compiler/CMain.HC.Z,571",BI=12$
|
||||
@@ -57,25 +57,24 @@ $LK,"PE_POP_ALL1",A="FL:::/Compiler/PrsExp.HC.Z,12"$
|
||||
$LK,"PE_POP_ALL2",A="FL:::/Compiler/PrsExp.HC.Z,13"$
|
||||
$LK,"COCAppend",A="FL:::/Compiler/PrsLib.HC.Z,126",BI=46$
|
||||
$LK,"LexFilePush",A="FL:::/Compiler/Lex.HC.Z,1",BI=47$
|
||||
$LK,"PrsUnaryModifier",A="FL:::/Compiler/PrsExp.HC.Z,955",BI=48$
|
||||
$LK,"PrsUnaryModifier",A="FL:::/Compiler/PrsExp.HC.Z,960",BI=48$
|
||||
$LK,"OptFixupUnaryOp",A="FL:::/Compiler/OptLib.HC.Z,196",BI=49$
|
||||
$LK,"LexPush",A="FL:::/Compiler/LexLib.HC.Z,12",BI=50$
|
||||
$LK,"SLASH_OP_MOV",A="FL:::/Compiler/BackLib.HC.Z,267"$
|
||||
$LK,"ICPopRegs",A="FL:::/Compiler/BackLib.HC.Z,391",BI=51$
|
||||
$LK,"SLASH_OP_MUL",A="FL:::/Compiler/BackLib.HC.Z,264"$
|
||||
$LK,"SLASH_OP_NOT",A="FL:::/Compiler/BackLib.HC.Z,260"$
|
||||
$LK,"NUM_INTERNAL_TYPES",A="FL:::/Compiler/CInit.HC.Z,1"$
|
||||
$LK,"SLASH_OP_POP",A="FL:::/Compiler/BackLib.HC.Z,270"$
|
||||
$LK,"ICFOp",A="FL:::/Compiler/BackFA.HC.Z,339",BI=52$
|
||||
$LK,"CN_A1",A="FL:::/Compiler/BackFA.HC.Z,2"$
|
||||
$LK,"CN_A2",A="FL:::/Compiler/BackFA.HC.Z,1"$
|
||||
$LK,"LexExpressionF64",A="FL:::/Compiler/PrsExp.HC.Z,1148",BI=53$
|
||||
$LK,"LexExpressionF64",A="FL:::/Compiler/PrsExp.HC.Z,1154",BI=53$
|
||||
$LK,"ICAdd",A="FL:::/Compiler/PrsLib.HC.Z,79",BI=54$
|
||||
$LK,"CmpRawType",A="FL:::/Compiler/OptLib.HC.Z,508",BI=55$
|
||||
$LK,"ICFOpEqu",A="FL:::/Compiler/BackFB.HC.Z,1",BI=56$
|
||||
$LK,"LexExpressionI64",A="FL:::/Compiler/PrsExp.HC.Z,1134",BI=57$
|
||||
$LK,"LexExpressionI64",A="FL:::/Compiler/PrsExp.HC.Z,1140",BI=57$
|
||||
$LK,"ICQueInsRev",A="FL:::/Compiler/BackC.HC.Z,378",BI=58$
|
||||
$LK,"LexExpression",A="FL:::/Compiler/PrsExp.HC.Z,1162",BI=59$
|
||||
$LK,"LexExpression",A="FL:::/Compiler/PrsExp.HC.Z,1168",BI=59$
|
||||
$LK,"PrsExpression",A="FL:::/Compiler/PrsExp.HC.Z,264",BI=60$
|
||||
$LK,"PrsClassNew",A="FL:::/Compiler/PrsLib.HC.Z,40",BI=61$
|
||||
$LK,"LexInStr",A="FL:::/Compiler/Lex.HC.Z,367",BI=62$
|
||||
@@ -105,7 +104,7 @@ $LK,"Ui",A="FL:::/Compiler/UAsm.HC.Z,245",BI=81$
|
||||
$LK,"ICSlashOp",A="FL:::/Compiler/BackLib.HC.Z,282",BI=82$
|
||||
$LK,"OptBrZero",A="FL:::/Compiler/OptLib.HC.Z,230",BI=83$
|
||||
$LK,"Un",A="FL:::/Compiler/UAsm.HC.Z,668",BI=84$
|
||||
$LK,"PrsSizeOf",A="FL:::/Compiler/PrsExp.HC.Z,298",BI=85$
|
||||
$LK,"PrsSizeOf",A="FL:::/Compiler/PrsExp.HC.Z,303",BI=85$
|
||||
$LK,"ICToI64",A="FL:::/Compiler/BackB.HC.Z,277",BI=86$
|
||||
$LK,"ICMod",A="FL:::/Compiler/BackA.HC.Z,425",BI=87$
|
||||
$LK,"OptSetNOP1",A="FL:::/Compiler/OptLib.HC.Z,17",BI=88$
|
||||
@@ -154,7 +153,7 @@ $LK,"ICModr1",A="FL:::/Compiler/BackLib.HC.Z,136",BI=120$
|
||||
$LK,"ICModr2",A="FL:::/Compiler/BackLib.HC.Z,214",BI=121$
|
||||
$LK,"SLASH_OP_FMUL",A="FL:::/Compiler/BackLib.HC.Z,274"$
|
||||
$LK,"ICPreIncDec",A="FL:::/Compiler/BackB.HC.Z,304",BI=122$
|
||||
$LK,"PrsUnaryTerm",A="FL:::/Compiler/PrsExp.HC.Z,588",BI=123$
|
||||
$LK,"PrsUnaryTerm",A="FL:::/Compiler/PrsExp.HC.Z,593",BI=123$
|
||||
$LK,"MemberLstDel",A="FL:::/Compiler/LexLib.HC.Z,183",BI=124$
|
||||
$LK,"SLASH_OP_FSUB",A="FL:::/Compiler/BackLib.HC.Z,272"$
|
||||
$LK,"ICAndAnd",A="FL:::/Compiler/BackB.HC.Z,30",BI=125$
|
||||
@@ -187,7 +186,7 @@ $LK,"StreamPrint",A="FL:::/Compiler/CMisc.HC.Z,68",BI=146$
|
||||
$LK,"_LAST_FUN",A="FL:::/Compiler/CMisc.HC.Z,12"$
|
||||
$LK,"ICFCvt",A="FL:::/Compiler/BackFA.HC.Z,123",BI=147$
|
||||
$LK,"StreamDir",A="FL:::/Compiler/CMisc.HC.Z,82",BI=148$
|
||||
$LK,"PrsOffsetOf",A="FL:::/Compiler/PrsExp.HC.Z,348",BI=149$
|
||||
$LK,"PrsOffsetOf",A="FL:::/Compiler/PrsExp.HC.Z,353",BI=149$
|
||||
$LK,"GetOption",A="FL:::/Compiler/CMisc.HC.Z,6",BI=150$
|
||||
$LK,"PrsDoWhile",A="FL:::/Compiler/PrsStmt.HC.Z,506",BI=151$
|
||||
$LK,"ICShift",A="FL:::/Compiler/BackA.HC.Z,573",BI=152$
|
||||
@@ -200,7 +199,7 @@ $LK,"LexPopRestore",A="FL:::/Compiler/LexLib.HC.Z,23",BI=156$
|
||||
$LK,"ICUnaries",A="FL:::/Compiler/BackB.HC.Z,1",BI=157$
|
||||
$LK,"ICFMul",A="FL:::/Compiler/BackFB.HC.Z,488",BI=158$
|
||||
$LK,"ICShiftEqu",A="FL:::/Compiler/BackA.HC.Z,603",BI=159$
|
||||
$LK,"LexExpression2Bin",A="FL:::/Compiler/PrsExp.HC.Z,1111",BI=160$
|
||||
$LK,"LexExpression2Bin",A="FL:::/Compiler/PrsExp.HC.Z,1117",BI=160$
|
||||
$LK,"ICFPow",A="FL:::/Compiler/BackFA.HC.Z,266",BI=161$
|
||||
$LK,"MapFileWrite",A="FL:::/Compiler/CHash.HC.Z,90",BI=162$
|
||||
$LK,"ICFSub",A="FL:::/Compiler/BackFB.HC.Z,551",BI=163$
|
||||
@@ -245,6 +244,7 @@ $LK,"ICOrOr",A="FL:::/Compiler/BackB.HC.Z,51",BI=191$
|
||||
$LK,"LexExcept",A="FL:::/Compiler/CExcept.HC.Z,81",BI=192$
|
||||
$LK,"cmp_templates",A="FL:::/Compiler/CExts.HC.Z,42"$
|
||||
$LK,"CmpF2PushPop",A="FL:::/Compiler/OptLib.HC.Z,542",BI=193$
|
||||
$LK,"INTERNAL_TYPES_NUM",A="FL:::/Compiler/CInit.HC.Z,1"$
|
||||
$LK,"CmpJoin",A="FL:::/Compiler/CMain.HC.Z,35",BI=194$
|
||||
$LK,"PrsPop2",A="FL:::/Compiler/PrsLib.HC.Z,16",BI=195$
|
||||
$LK,"CMP_TEMPLATES",A="FL:::/Compiler/Templates.HC.Z,4"$
|
||||
@@ -303,7 +303,7 @@ $LK,"LexDocRead",A="FL:::/Compiler/Lex.HC.Z,305",BI=238$
|
||||
$LK,"CmpFixUpJITAsm",A="FL:::/Compiler/CMain.HC.Z,174",BI=239$
|
||||
$LK,"COCPopNoFree",A="FL:::/Compiler/PrsLib.HC.Z,114",BI=240$
|
||||
$LK,"ParenWarning",A="FL:::/Compiler/CExcept.HC.Z,110",BI=241$
|
||||
$LK,"PrsFunCall",A="FL:::/Compiler/PrsExp.HC.Z,378",BI=242$
|
||||
$LK,"PrsFunCall",A="FL:::/Compiler/PrsExp.HC.Z,383",BI=242$
|
||||
$LK,"SLASH_OP_IMM_U32",A="FL:::/Compiler/BackLib.HC.Z,263"$
|
||||
$LK,"ICDerefPostIncDec",A="FL:::/Compiler/BackB.HC.Z,384",BI=243$
|
||||
$LK,"Option",A="FL:::/Compiler/CMisc.HC.Z,1",BI=244$
|
||||
@@ -344,85 +344,80 @@ $LK,"PrsDotDotDot",A="FL:::/Compiler/PrsVar.HC.Z,381",BI=266$
|
||||
$LK,"ICMulEqu",A="FL:::/Compiler/BackA.HC.Z,285",BI=267$
|
||||
$LK,"AsmPrsInsFlags",A="FL:::/Compiler/AsmInit.HC.Z,1",BI=268$
|
||||
$LK,"PrsNoWarn",A="FL:::/Compiler/PrsStmt.HC.Z,791",BI=269$
|
||||
| ||||