TempleOSCDV4.04.ISO
This commit is contained in:
1 parent
0f1a4a5d65
commit
d1856315e0
67 files changed
+722
-697
No files matched your search
+15
-15
@@ -63,7 +63,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
|
||||
} else
|
||||
tempil1=tempil2=&cmp.ic_nop;
|
||||
tempc=tempi->ic_class;
|
||||
nobound_switch (intermediate_code_table[code].arg_cnt) {
|
||||
switch [intermediate_code_table[code].arg_cnt] {
|
||||
case IS_V_ARG:
|
||||
ps->ptr-=tempi->ic_data>>3;
|
||||
break;
|
||||
@@ -76,7 +76,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
|
||||
else
|
||||
tempc2=tempi->t.a2c;
|
||||
tempi->a2.type=TY_STK+CmpRawType(tempc2);
|
||||
tempi->a2.type_pointed=CmpRawTypePointed(tempc2);
|
||||
tempi->a2.type_pointed_to=CmpRawTypePointed(tempc2);
|
||||
tempi->ic_flags|=ICF_A2_WAS_STK;
|
||||
case IS_1_ARG:
|
||||
tempi1=PrsPop(ps);
|
||||
@@ -87,19 +87,19 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
|
||||
else
|
||||
tempc1=tempi->t.a1c;
|
||||
tempi->a1.type=TY_STK+CmpRawType(tempc1);
|
||||
tempi->a1.type_pointed=CmpRawTypePointed(tempc1);
|
||||
tempi->a1.type_pointed_to=CmpRawTypePointed(tempc1);
|
||||
tempi->ic_flags|=ICF_A1_WAS_STK;
|
||||
break;
|
||||
case IS_0_ARG: //nobound_switch
|
||||
case IS_0_ARG: //nobound switch
|
||||
break;
|
||||
}
|
||||
if (intermediate_code_table[code].result_cnt) {
|
||||
tempi->r.type=TY_STK+CmpRawType(tempc);
|
||||
tempi->r.type_pointed=CmpRawTypePointed(tempc);
|
||||
tempi->r.type_pointed_to=CmpRawTypePointed(tempc);
|
||||
tempi->ic_flags|=ICF_R_WAS_STK;
|
||||
PrsPush(ps,tempi);
|
||||
}
|
||||
nobound_switch (code) {
|
||||
switch [code] {
|
||||
case IC_IMM_F64:
|
||||
tempi->ic_flags&=~ICF_R_TO_F64;
|
||||
if (tempi->ic_flags&ICF_R_TO_INT) {
|
||||
@@ -121,13 +121,13 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
|
||||
tempi->a1.reg=REG_RBP;
|
||||
break;
|
||||
case IC_DEREF:
|
||||
tempi->a1.type_pointed=tempi->r.type&RT_MASK;
|
||||
tempi->a1.type_pointed_to=tempi->r.type&RT_MASK;
|
||||
if (tempi1->ic_code==IC_LEA) {
|
||||
tempi->ic_flags|=tempi1->ic_flags;
|
||||
tempi->a1.reg=tempi1->a1.reg;
|
||||
tempi->a1.disp=tempi1->a1.disp;
|
||||
tempi->a1.type=TY_DISP+tempi->r.type&RT_MASK;
|
||||
tempi->a1.type_pointed=tempi->r.type_pointed;
|
||||
tempi->a1.type_pointed_to=tempi->r.type_pointed_to;
|
||||
tempi->ic_code=IC_MOV;
|
||||
OptFree(tempi1);
|
||||
if (tempi->a1.reg==REG_RBP)
|
||||
@@ -143,7 +143,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
|
||||
tempi->a1.reg=tempil2->a1.reg;
|
||||
tempi->a1.disp=tempi->ic_data;
|
||||
tempi->a1.type=TY_DISP+tempi->r.type&RT_MASK;
|
||||
tempi->a1.type_pointed=tempi->r.type_pointed;
|
||||
tempi->a1.type_pointed_to=tempi->r.type_pointed_to;
|
||||
tempi->ic_code=IC_MOV;
|
||||
OptFree(tempil2);
|
||||
OptFree(tempil1);
|
||||
@@ -154,7 +154,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
|
||||
case IC__MM:
|
||||
case IC_PP_:
|
||||
case IC_MM_:
|
||||
tempi->r.type_pointed=CmpRawTypePointed(tempi->t.a1c);
|
||||
tempi->r.type_pointed_to=CmpRawTypePointed(tempi->t.a1c);
|
||||
case IC_DEREF_PP:
|
||||
case IC_DEREF_MM:
|
||||
if (tempi1->ic_code==IC_LEA &&
|
||||
@@ -166,7 +166,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
|
||||
mv[i].score++;
|
||||
break;
|
||||
}
|
||||
tempi->a1.type_pointed=tempi->r.type&RT_MASK;
|
||||
tempi->a1.type_pointed_to=tempi->r.type&RT_MASK;
|
||||
break;
|
||||
case IC_MUL:
|
||||
case IC_DIV:
|
||||
@@ -186,7 +186,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
|
||||
tempi->t.a1c=tempi->t.a2c;
|
||||
tempi->ic_data=tempi1->ic_data;
|
||||
tempi->ic_code=IC_ADD_CONST;
|
||||
tempi->a1.type_pointed=tempi->r.type&RT_MASK;
|
||||
tempi->a1.type_pointed_to=tempi->r.type&RT_MASK;
|
||||
tempi->a2.type=TY_NULL;
|
||||
OptFree(tempi1);
|
||||
if (tempil2->ic_code==IC_REG &&
|
||||
@@ -250,8 +250,8 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
|
||||
mv[i].score++;
|
||||
break;
|
||||
}
|
||||
tempi->a1.type_pointed=tempi->r.type&RT_MASK;
|
||||
tempi->r.type_pointed=CmpRawTypePointed(tempi->t.a1c);
|
||||
tempi->a1.type_pointed_to=tempi->r.type&RT_MASK;
|
||||
tempi->r.type_pointed_to=CmpRawTypePointed(tempi->t.a1c);
|
||||
break;
|
||||
case IC_RETURN_VAL:
|
||||
case IC_RETURN_VAL2:
|
||||
@@ -375,7 +375,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
|
||||
mv[i].score++;
|
||||
break;
|
||||
}
|
||||
tempi->a1.type_pointed=CmpRawType(tempc);
|
||||
tempi->a1.type_pointed_to=CmpRawType(tempc);
|
||||
goto here1;
|
||||
case IC_BR_LESS:
|
||||
case IC_BR_GREATER_EQU:
|
||||
|
||||
Reference in new issue
Block a user