TempleOSCDV4.04.ISO
This commit is contained in:
1 parent
0f1a4a5d65
commit
d1856315e0
66 files changed
+703
-678
No files matched your search
Binary file not shown.
+2
-2
@@ -11,8 +11,8 @@ U0 LoadDocDefines()
|
|||||||
//This is cut and replaced when I generate a distro.
|
//This is cut and replaced when I generate a distro.
|
||||||
//See $LK,"DD_TEMPLEOS_LOC",A="FF:::/Demo/AcctExample/TOSDistro.CPP,DD_TEMPLEOS_LOC"$.
|
//See $LK,"DD_TEMPLEOS_LOC",A="FF:::/Demo/AcctExample/TOSDistro.CPP,DD_TEMPLEOS_LOC"$.
|
||||||
$TR-C,"LineRep"$
|
$TR-C,"LineRep"$
|
||||||
$ID,4$DefinePrint("DD_TEMPLEOS_LOC","119,687");
|
$ID,4$DefinePrint("DD_TEMPLEOS_LOC","119,708");
|
||||||
DefinePrint("DD_TEMPLEOS_LOC_OFFICIAL","80,688");
|
DefinePrint("DD_TEMPLEOS_LOC_OFFICIAL","80,702");
|
||||||
$ID,-4$
|
$ID,-4$
|
||||||
DefinePrint("DD_KERNEL","%08X",bfh);
|
DefinePrint("DD_KERNEL","%08X",bfh);
|
||||||
bfh(I64)+=bfh->file_size-1;
|
bfh(I64)+=bfh->file_size-1;
|
||||||
|
|||||||
+2
-2
@@ -17,7 +17,7 @@ extern U0 DocBinDel(CDoc *doc,CDocBin *b);
|
|||||||
extern U0 DocBinsValidate(CDoc *doc);
|
extern U0 DocBinsValidate(CDoc *doc);
|
||||||
extern U0 DocBottom(CDoc *doc=NULL);
|
extern U0 DocBottom(CDoc *doc=NULL);
|
||||||
extern U0 DocCenter(CDoc *doc=NULL,I64 recalc=RECALCt_NORMAL);
|
extern U0 DocCenter(CDoc *doc=NULL,I64 recalc=RECALCt_NORMAL);
|
||||||
extern U0 DocClear(CDoc *doc=NULL);
|
extern U0 DocClear(CDoc *doc=NULL,Bool clear_holds=FALSE);
|
||||||
extern Bool DocCursor(Bool show=OFF,CDoc *doc=NULL);
|
extern Bool DocCursor(Bool show=OFF,CDoc *doc=NULL);
|
||||||
extern U0 DocD(U8 *buf,I64 cnt=0x80);
|
extern U0 DocD(U8 *buf,I64 cnt=0x80);
|
||||||
extern U0 DocDataFmt(CDoc *doc,CDocEntry *doc_e,I64 d=DOCM_CANCEL);
|
extern U0 DocDataFmt(CDoc *doc,CDocEntry *doc_e,I64 d=DOCM_CANCEL);
|
||||||
@@ -35,7 +35,7 @@ extern U0 DocInsEntry(CDoc *doc,CDocEntry *doc_e);
|
|||||||
extern Bool DocLock(CDoc *doc);
|
extern Bool DocLock(CDoc *doc);
|
||||||
extern U0 DocMax(I64 i=MAX_I32);
|
extern U0 DocMax(I64 i=MAX_I32);
|
||||||
extern CDoc *DocNew(U8 *filename=NULL,CTask *task=NULL);
|
extern CDoc *DocNew(U8 *filename=NULL,CTask *task=NULL);
|
||||||
extern CDocEntry *DocPrint(CDoc *doc,U8 *src,...);
|
extern CDocEntry *DocPrint(CDoc *doc=NULL,U8 *src,...);
|
||||||
extern CDoc *DocPut(CTask *task=NULL);
|
extern CDoc *DocPut(CTask *task=NULL);
|
||||||
extern CDoc *DocRead(U8 *name=NULL,I64 flags=0);
|
extern CDoc *DocRead(U8 *name=NULL,I64 flags=0);
|
||||||
extern Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL);
|
extern Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL);
|
||||||
|
|||||||
@@ -103,6 +103,16 @@ U0 EdRIExp(CRILex *rx)
|
|||||||
rx->depth-=3;
|
rx->depth-=3;
|
||||||
if (rx->depth<0) rx->depth=0;
|
if (rx->depth<0) rx->depth=0;
|
||||||
}
|
}
|
||||||
|
} else if (rx->cc1->token=='[') {
|
||||||
|
if (!rx->exp_depth++)
|
||||||
|
rx->depth+=3;
|
||||||
|
EdRILex(rx);
|
||||||
|
while (rx->cc1->token && rx->cc1->token!=']')
|
||||||
|
EdRIExp(rx);
|
||||||
|
if (!--rx->exp_depth) {
|
||||||
|
rx->depth-=3;
|
||||||
|
if (rx->depth<0) rx->depth=0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
EdRILex(rx);
|
EdRILex(rx);
|
||||||
}
|
}
|
||||||
@@ -171,7 +181,6 @@ U0 EdRIStmt(CRILex *rx,Bool indent)
|
|||||||
EdRILex(rx);
|
EdRILex(rx);
|
||||||
break;
|
break;
|
||||||
case KW_SWITCH:
|
case KW_SWITCH:
|
||||||
case KW_NOBOUND_SWITCH:
|
|
||||||
EdRILex(rx);
|
EdRILex(rx);
|
||||||
EdRIExp(rx);
|
EdRIExp(rx);
|
||||||
if (rx->cc1->token=='{') {
|
if (rx->cc1->token=='{') {
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ extern I64 DocEntryRun(CDoc *doc,CDocEntry *doc_e,
|
|||||||
Bool exited,I64 *_has_action=NULL);
|
Bool exited,I64 *_has_action=NULL);
|
||||||
extern U0 DocFormBwd(CDoc *doc,Bool giveup=FALSE);
|
extern U0 DocFormBwd(CDoc *doc,Bool giveup=FALSE);
|
||||||
extern U0 DocLoad(CDoc *doc,U8 *src2,I64 size);
|
extern U0 DocLoad(CDoc *doc,U8 *src2,I64 size);
|
||||||
extern U0 DocPrintAtomic(CDoc *doc,U8 *fmt,...);
|
extern U0 DocPrintAtomic(CDoc *doc=NULL,U8 *fmt,...);
|
||||||
extern U0 DocPrintPartial(CDoc *doc,U8 *fmt,...);
|
extern U0 DocPrintPartial(CDoc *doc=NULL,U8 *fmt,...);
|
||||||
extern CDocEntry *DocPutS(CDoc *doc,U8 *st);
|
extern CDocEntry *DocPutS(CDoc *doc,U8 *st);
|
||||||
extern U8 *DocSave(CDoc *doc,I64 *_size=NULL);
|
extern U8 *DocSave(CDoc *doc,I64 *_size=NULL);
|
||||||
extern I64 EdLeftClickLink(CDoc *doc,CDocEntry *doc_e);
|
extern I64 EdLeftClickLink(CDoc *doc,CDocEntry *doc_e);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ U32 *DocHighlight(CDocEntry *doc_e,U8 *src,I64 len,I64 _temp_u32_attr)
|
|||||||
I64 ch,ch1,last_ch,temp_u32_attr,mask_temp_u32_attr=_temp_u32_attr&0xFFFFF000,
|
I64 ch,ch1,last_ch,temp_u32_attr,mask_temp_u32_attr=_temp_u32_attr&0xFFFFF000,
|
||||||
comment_depth,brace_depth=s->brace_depth,paren_depth=s->paren_depth;
|
comment_depth,brace_depth=s->brace_depth,paren_depth=s->paren_depth;
|
||||||
CHash *temph;
|
CHash *temph;
|
||||||
nobound_switch (s->state) {
|
switch [s->state] {
|
||||||
case DOCSS_NORMAL:
|
case DOCSS_NORMAL:
|
||||||
hl_normal:
|
hl_normal:
|
||||||
while (len) {
|
while (len) {
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ U8 *Doc2PlainText(CDoc *doc,CDocEntry *doc_e)
|
|||||||
}
|
}
|
||||||
buf2=MStrPrint("%s,",buf);
|
buf2=MStrPrint("%s,",buf);
|
||||||
Free(buf); buf=buf2;
|
Free(buf); buf=buf2;
|
||||||
nobound_switch (doc_e->type_u8) {
|
switch [doc_e->type_u8] {
|
||||||
case DOCT_HEX_ED:
|
case DOCT_HEX_ED:
|
||||||
buf2=MStrPrint("%s%d,",buf,doc_e->len);
|
buf2=MStrPrint("%s%d,",buf,doc_e->len);
|
||||||
Free(buf); buf=buf2;
|
Free(buf); buf=buf2;
|
||||||
@@ -114,14 +114,14 @@ U8 *Doc2PlainText(CDoc *doc,CDocEntry *doc_e)
|
|||||||
buf2=MStrPrint("%s%d,",buf,doc_e->attr);
|
buf2=MStrPrint("%s%d,",buf,doc_e->attr);
|
||||||
Free(buf); buf=buf2;
|
Free(buf); buf=buf2;
|
||||||
}
|
}
|
||||||
case DOCT_NUM_TYPES-1: //nobound_switch
|
case DOCT_NUM_TYPES-1: //nobound switch
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
de_flags=doc_e->de_flags & DOCEG_HAS_ARG;
|
de_flags=doc_e->de_flags & DOCEG_HAS_ARG;
|
||||||
while (de_flags) {
|
while (de_flags) {
|
||||||
j=Bsf(de_flags);
|
j=Bsf(de_flags);
|
||||||
Btr(&de_flags,j);
|
Btr(&de_flags,j);
|
||||||
nobound_switch (j) {
|
switch [j] {
|
||||||
case DOCEf_TAG:
|
case DOCEf_TAG:
|
||||||
if (doc_e->type_u8==DOCT_DATA || doc_e->type_u8==DOCT_MACRO &&
|
if (doc_e->type_u8==DOCT_DATA || doc_e->type_u8==DOCT_MACRO &&
|
||||||
(doc_e->de_flags&DOCEF_LEFT_MACRO &&
|
(doc_e->de_flags&DOCEF_LEFT_MACRO &&
|
||||||
@@ -202,7 +202,7 @@ U8 *Doc2PlainText(CDoc *doc,CDocEntry *doc_e)
|
|||||||
case DOCEf_USER_DATA:
|
case DOCEf_USER_DATA:
|
||||||
buf2=MStrPrint("%sU=0x%X,",buf,doc_e->user_data);
|
buf2=MStrPrint("%sU=0x%X,",buf,doc_e->user_data);
|
||||||
break;
|
break;
|
||||||
case DOCEf_NUM_FLAGS-1: //nobound_switch
|
case DOCEf_NUM_FLAGS-1: //nobound switch
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Free(buf); buf=buf2;
|
Free(buf); buf=buf2;
|
||||||
@@ -243,7 +243,7 @@ CDocEntry *PrsDollarCmd(CDoc *doc,U8 *st)
|
|||||||
doc_e->len=DOCE_LEN_DFT;
|
doc_e->len=DOCE_LEN_DFT;
|
||||||
j=PrsDocFlags(cc,&doc_e->de_flags,&doc_e->type);
|
j=PrsDocFlags(cc,&doc_e->de_flags,&doc_e->type);
|
||||||
cc->htc.hash_table_lst=old_hash_table_lst;
|
cc->htc.hash_table_lst=old_hash_table_lst;
|
||||||
nobound_switch (i) {
|
switch [i] {
|
||||||
case DOCT_CHECK_BOX:
|
case DOCT_CHECK_BOX:
|
||||||
doc_e->raw_type=RT_I8;
|
doc_e->raw_type=RT_I8;
|
||||||
break;
|
break;
|
||||||
@@ -305,7 +305,7 @@ CDocEntry *PrsDollarCmd(CDoc *doc,U8 *st)
|
|||||||
j=Bsf(de_flags);
|
j=Bsf(de_flags);
|
||||||
if (j<0 || Bts(&processed_flags,j))
|
if (j<0 || Bts(&processed_flags,j))
|
||||||
goto pd_err;
|
goto pd_err;
|
||||||
nobound_switch (j) {//TODO: Might check for expression errors
|
switch [j] {//TODO: Might check for expression errors
|
||||||
case DOCEf_TAG:
|
case DOCEf_TAG:
|
||||||
if (!doc_e->tag) {
|
if (!doc_e->tag) {
|
||||||
//If a $$MA,LM=""$$, Tag is filled when the LM is processed.
|
//If a $$MA,LM=""$$, Tag is filled when the LM is processed.
|
||||||
@@ -458,7 +458,7 @@ CDocEntry *PrsDollarCmd(CDoc *doc,U8 *st)
|
|||||||
else
|
else
|
||||||
goto pd_err;
|
goto pd_err;
|
||||||
break;
|
break;
|
||||||
case DOCEf_NUM_FLAGS-1: //nobound_switch
|
case DOCEf_NUM_FLAGS-1: //nobound switch
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ CDocEntry *DocPutS(CDoc *doc,U8 *st)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public CDocEntry *DocPrint(CDoc *doc,U8 *fmt,...)
|
public CDocEntry *DocPrint(CDoc *doc=NULL,U8 *fmt,...)
|
||||||
{//You must not print partial doc cmds.
|
{//You must not print partial doc cmds.
|
||||||
U8 *buf=StrPrintJoin(NULL,fmt,argc,argv);
|
U8 *buf=StrPrintJoin(NULL,fmt,argc,argv);
|
||||||
CDocEntry *result=DocPutS(doc,buf);
|
CDocEntry *result=DocPutS(doc,buf);
|
||||||
@@ -163,13 +163,13 @@ public CDocEntry *DocPrint(CDoc *doc,U8 *fmt,...)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public U0 DocPrintPartial(CDoc *doc,U8 *fmt,...)
|
public U0 DocPrintPartial(CDoc *doc=NULL,U8 *fmt,...)
|
||||||
{//Lets you print half a doc cmd, if you like.
|
{//Lets you print half a doc cmd, if you like.
|
||||||
U8 *buf,*st,*src,*dst,*ptr,*ptr2;
|
U8 *buf,*st,*src,*dst,*ptr,*ptr2;
|
||||||
Bool unlock;
|
Bool unlock;
|
||||||
CDocEntry *doc_ce,*doc_ne;
|
CDocEntry *doc_ce,*doc_ne;
|
||||||
I64 ch,i,j;
|
I64 ch,i,j;
|
||||||
if (!fmt)
|
if (!doc && !(doc=DocPut))
|
||||||
return;
|
return;
|
||||||
buf=StrPrintJoin(NULL,fmt,argc,argv);
|
buf=StrPrintJoin(NULL,fmt,argc,argv);
|
||||||
ptr=buf;
|
ptr=buf;
|
||||||
@@ -238,7 +238,7 @@ Bool KDDocPutS(U8 *st)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public U0 DocPrintAtomic(CDoc *doc,U8 *fmt,...)
|
public U0 DocPrintAtomic(CDoc *doc=NULL,U8 *fmt,...)
|
||||||
{//Prints multiple whole cmds all-at-once. Might need this when printing trees.
|
{//Prints multiple whole cmds all-at-once. Might need this when printing trees.
|
||||||
U8 *buf;
|
U8 *buf;
|
||||||
Bool unlock;
|
Bool unlock;
|
||||||
|
|||||||
@@ -258,7 +258,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL)
|
|||||||
CDocBin *tempb;
|
CDocBin *tempb;
|
||||||
CDocSettings *s;
|
CDocSettings *s;
|
||||||
Bool del_cl,skipped_update,tree_collapsed,same_win,more=FALSE,
|
Bool del_cl,skipped_update,tree_collapsed,same_win,more=FALSE,
|
||||||
find_cursor=FALSE,blink_flag,full_refresh=TRUE,unlock;
|
find_cursor=FALSE,blink_flag,full_refresh=TRUE,unlock,clear_holds;
|
||||||
CTask *win_task,*mem_task;
|
CTask *win_task,*mem_task;
|
||||||
CDC *dc;
|
CDC *dc;
|
||||||
U8 *bptr,*ptr,buf[STR_LEN],ch;
|
U8 *bptr,*ptr,buf[STR_LEN],ch;
|
||||||
@@ -289,7 +289,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL)
|
|||||||
mem_task=doc->mem_task;
|
mem_task=doc->mem_task;
|
||||||
blink_flag=Blink;
|
blink_flag=Blink;
|
||||||
dc=NULL;
|
dc=NULL;
|
||||||
nobound_switch (recalc_flags&RECALCG_MASK) {
|
switch [recalc_flags&RECALCG_MASK] {
|
||||||
case RECALCt_FIND_CURSOR:
|
case RECALCt_FIND_CURSOR:
|
||||||
find_cursor=TRUE;
|
find_cursor=TRUE;
|
||||||
if (win_task)
|
if (win_task)
|
||||||
@@ -620,7 +620,7 @@ public Bool DocRecalc(CDoc *doc,I64 recalc_flags=RECALCt_NORMAL)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
nobound_switch (doc_e->type_u8) {
|
switch [doc_e->type_u8] {
|
||||||
case DOCT_TEXT:
|
case DOCT_TEXT:
|
||||||
if (!col2 && !(doc_e->de_flags
|
if (!col2 && !(doc_e->de_flags
|
||||||
&(DOCEF_TREE|DOCEF_LST|DOCEF_TAG_CB|DOCEF_DEFINE|
|
&(DOCEF_TREE|DOCEF_LST|DOCEF_TAG_CB|DOCEF_DEFINE|
|
||||||
@@ -1036,13 +1036,17 @@ rc_adjust_xy:
|
|||||||
break;
|
break;
|
||||||
case DOCT_CLEAR:
|
case DOCT_CLEAR:
|
||||||
next_clear_found=doc_e;
|
next_clear_found=doc_e;
|
||||||
|
if (doc_e->de_flags&DOCEF_HOLD)
|
||||||
|
clear_holds=TRUE;
|
||||||
|
else
|
||||||
|
clear_holds=FALSE;
|
||||||
break;
|
break;
|
||||||
case DOCT_HTML_CODE:
|
case DOCT_HTML_CODE:
|
||||||
if (recalc_flags&RECALCF_TO_HTML &&
|
if (recalc_flags&RECALCF_TO_HTML &&
|
||||||
doc_e->de_flags&DOCEF_TAG && doc_e->tag)
|
doc_e->de_flags&DOCEF_TAG && doc_e->tag)
|
||||||
x-=StrLen(doc_e->tag);
|
x-=StrLen(doc_e->tag);
|
||||||
break;
|
break;
|
||||||
case DOCT_NUM_TYPES-1: //nobound_switch
|
case DOCT_NUM_TYPES-1: //nobound switch
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1309,7 +1313,7 @@ rc_skip:
|
|||||||
if (full_refresh) {
|
if (full_refresh) {
|
||||||
i=num_entries-doc->max_entries;
|
i=num_entries-doc->max_entries;
|
||||||
if (next_clear_found) {
|
if (next_clear_found) {
|
||||||
DocDelToEntry(doc,next_clear_found);
|
DocDelToEntry(doc,next_clear_found,clear_holds);
|
||||||
DocRecalc(doc,recalc_flags);
|
DocRecalc(doc,recalc_flags);
|
||||||
} else if (i>1024) {
|
} else if (i>1024) {
|
||||||
DocDelToNum(doc,i);
|
DocDelToNum(doc,i);
|
||||||
|
|||||||
@@ -22,12 +22,12 @@ U0 DocDelToNum(CDoc *doc,I64 num)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
U0 DocDelToEntry(CDoc *doc,CDocEntry *clear_entry)
|
U0 DocDelToEntry(CDoc *doc,CDocEntry *clear_entry,Bool clear_holds)
|
||||||
{
|
{
|
||||||
CDocEntry *doc_e=doc->root.next,*doc_e2;
|
CDocEntry *doc_e=doc->root.next,*doc_e2;
|
||||||
while (doc_e!=doc) {
|
while (doc_e!=doc) {
|
||||||
doc_e2=doc_e->next;
|
doc_e2=doc_e->next;
|
||||||
if (!(doc_e->de_flags & (DOCEF_HOLD|DOCEF_FILTER_SKIP))) {
|
if (!(doc_e->de_flags & (DOCEF_HOLD|DOCEF_FILTER_SKIP))||clear_holds) {
|
||||||
if (doc_e==doc->cur_entry) {
|
if (doc_e==doc->cur_entry) {
|
||||||
doc->cur_entry=doc_e2;
|
doc->cur_entry=doc_e2;
|
||||||
doc->cur_col=doc_e2->min_col;
|
doc->cur_col=doc_e2->min_col;
|
||||||
@@ -117,13 +117,16 @@ public U0 DocBottom(CDoc *doc=NULL)
|
|||||||
DocUnlock(doc);
|
DocUnlock(doc);
|
||||||
}
|
}
|
||||||
|
|
||||||
public U0 DocClear(CDoc *doc=NULL)
|
public U0 DocClear(CDoc *doc=NULL,Bool clear_holds=FALSE)
|
||||||
{//Clear all doc entries, except +H, hold entries.
|
{//Clear all doc entries, except +H, hold entries.
|
||||||
Bool unlock;
|
Bool unlock;
|
||||||
if (!doc && !(doc=DocPut))
|
if (!doc && !(doc=DocPut))
|
||||||
return;
|
return;
|
||||||
unlock=DocLock(doc);
|
unlock=DocLock(doc);
|
||||||
DocBottom(doc);
|
DocBottom(doc);
|
||||||
|
if (clear_holds)
|
||||||
|
DocPrint(doc,"$$CL+H$$");
|
||||||
|
else
|
||||||
DocPrint(doc,"$$CL$$");
|
DocPrint(doc,"$$CL$$");
|
||||||
DocRecalc(doc);
|
DocRecalc(doc);
|
||||||
if (unlock)
|
if (unlock)
|
||||||
@@ -171,7 +174,7 @@ public U0 DocCollapse(Bool collapse=TRUE,CDoc *doc=NULL)
|
|||||||
|
|
||||||
#help_index "DolDoc/Cmd Line (Typically);Cmd Line (Typically)"
|
#help_index "DolDoc/Cmd Line (Typically);Cmd Line (Typically)"
|
||||||
public I64 DocMax(I64 i=MAX_I64)
|
public I64 DocMax(I64 i=MAX_I64)
|
||||||
{//Set max document entries. (Cmd line buffer.)
|
{//Set max document entries. (Cmd line buffer size.)
|
||||||
//Adjusts the size of the cmd line buf.
|
//Adjusts the size of the cmd line buf.
|
||||||
//Normally, the cmd line deletes entries
|
//Normally, the cmd line deletes entries
|
||||||
//when more are added and the old scroll up.
|
//when more are added and the old scroll up.
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ public U8 *GodDoodleSprite(U8 *hex=NULL)
|
|||||||
for (i=0;i<3;i++) {
|
for (i=0;i<3;i++) {
|
||||||
god.doodle_dc->color=RED;
|
god.doodle_dc->color=RED;
|
||||||
for (j=0;j<29;j++)
|
for (j=0;j<29;j++)
|
||||||
nobound_switch (GodDoodleBits(3)) {
|
switch [GodDoodleBits(3)] {
|
||||||
case 0:
|
case 0:
|
||||||
GrEllipse3(god.doodle_dc,
|
GrEllipse3(god.doodle_dc,
|
||||||
(w-1)*GodDoodleBits(5)/15.5-w/2,
|
(w-1)*GodDoodleBits(5)/15.5-w/2,
|
||||||
@@ -149,7 +149,7 @@ public U8 *GodDoodleSprite(U8 *hex=NULL)
|
|||||||
for (j=0;j<6;j++) {
|
for (j=0;j<6;j++) {
|
||||||
x=(w-1)*GodDoodleBits(5)/31+w/64;
|
x=(w-1)*GodDoodleBits(5)/31+w/64;
|
||||||
y=(h-1)*GodDoodleBits(5)/31+h/64;
|
y=(h-1)*GodDoodleBits(5)/31+h/64;
|
||||||
nobound_switch (GodDoodleBits(2)) {
|
switch [GodDoodleBits(2)] {
|
||||||
case 0: god.doodle_dc->color=BLACK; break;
|
case 0: god.doodle_dc->color=BLACK; break;
|
||||||
case 1: god.doodle_dc->color=DKGRAY; break;
|
case 1: god.doodle_dc->color=DKGRAY; break;
|
||||||
case 2: god.doodle_dc->color=LTGRAY; break;
|
case 2: god.doodle_dc->color=LTGRAY; break;
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ Shakespeare? $FG,4$had a "vile heart"$FG$
|
|||||||
Likes $FG,4$Beverly Hillbillies (Oil is a gift from God)$FG$
|
Likes $FG,4$Beverly Hillbillies (Oil is a gift from God)$FG$
|
||||||
$FG,4$God likes being hero. Don't be proud of heart$FG$
|
$FG,4$God likes being hero. Don't be proud of heart$FG$
|
||||||
$FG,4$and not accept a gift from God!$FG$
|
$FG,4$and not accept a gift from God!$FG$
|
||||||
Likes $FG,4$Gomer Pile$FG$
|
Likes $FG,4$Gomer Pyle$FG$
|
||||||
Favorite saint? $FG,4$"ho_ho_ho"$FG$
|
Favorite saint? $FG,4$"ho_ho_ho"$FG$
|
||||||
Favorite animal? $FG,4$"Elephant two"$FG$
|
Favorite animal? $FG,4$"Elephant two"$FG$
|
||||||
Favorite animal? $FG,4$"Bears"$FG$
|
Favorite animal? $FG,4$"Bears"$FG$
|
||||||
@@ -139,7 +139,7 @@ Favorite actor? $FG,4$Hugh Grant$FG$
|
|||||||
Favorite vocalist? $FG,4$Mick Jagger$FG$
|
Favorite vocalist? $FG,4$Mick Jagger$FG$
|
||||||
Favorite guitarist? $FG,4$"$TX,"Simmons Destroyer",HTML="http://www.youtube.com/watch?v=nNADrrjTysk&t=3m55s"$"$FG$
|
Favorite guitarist? $FG,4$"$TX,"Simmons Destroyer",HTML="http://www.youtube.com/watch?v=nNADrrjTysk&t=3m55s"$"$FG$
|
||||||
Favorite National Anthem? $FG,4$$TX,"Latvia's National Anthem",HTML="http://www.youtube.com/watch?v=qKITbBjO4nE"$$FG$
|
Favorite National Anthem? $FG,4$$TX,"Latvia's National Anthem",HTML="http://www.youtube.com/watch?v=qKITbBjO4nE"$$FG$
|
||||||
America the Beautiful? $FG,4$Hates it. Poet was too in love with own beauty.$FG$
|
America the Beautiful? $FG,4$Hates it. Poet made self cry with own beauty.$FG$
|
||||||
Model for new $TX,"Sistine Chapel",HTML="http://en.wikipedia.org/wiki/Sistine_chapel"$? $FG,4$Ben Franklin$FG$
|
Model for new $TX,"Sistine Chapel",HTML="http://en.wikipedia.org/wiki/Sistine_chapel"$? $FG,4$Ben Franklin$FG$
|
||||||
Voice if God wanted to sing? $FG,4$$TX,"Stabbing Westward's singer",HTML="https://www.youtube.com/watch?v=5NZsCYOM4j0"$$FG$
|
Voice if God wanted to sing? $FG,4$$TX,"Stabbing Westward's singer",HTML="https://www.youtube.com/watch?v=5NZsCYOM4j0"$$FG$
|
||||||
Stonehenge? $FG,4$Landmark for boundaries.$FG$
|
Stonehenge? $FG,4$Landmark for boundaries.$FG$
|
||||||
@@ -192,6 +192,7 @@ $TX,"Saturn's hexagon pole cloud?",HTML="http://en.wikipedia.org/wiki/Saturn's_h
|
|||||||
Liquid moon's odd atmosphere? $FG,4$"Surf"$FG$
|
Liquid moon's odd atmosphere? $FG,4$"Surf"$FG$
|
||||||
How many E.T. civs in Universe? $FG,4$20 or 80 (I forgot. I died laughing.)$FG$
|
How many E.T. civs in Universe? $FG,4$20 or 80 (I forgot. I died laughing.)$FG$
|
||||||
Are they peaceful? $FG,4$Fight them! (Also, funny.)$FG$
|
Are they peaceful? $FG,4$Fight them! (Also, funny.)$FG$
|
||||||
|
Most difficult control system? $FG,4$$TX,"Dung beetle",HTML="http://www.youtube.com/watch?v=Q1zbgd6xpGQ"$$FG$
|
||||||
How can Judge Judy improve? $FG,4$No hard feelings$FG$
|
How can Judge Judy improve? $FG,4$No hard feelings$FG$
|
||||||
How can Chef Ramsay improve? $FG,4$Make so it doesn't seem like toil for cooks.$FG$
|
How can Chef Ramsay improve? $FG,4$Make so it doesn't seem like toil for cooks.$FG$
|
||||||
How can Hawking communicate? $FG,4$Blow from a nostril on a candle.$FG$
|
How can Hawking communicate? $FG,4$Blow from a nostril on a candle.$FG$
|
||||||
|
|||||||
+11
-11
@@ -44,7 +44,7 @@ public Bool GrPlot0(CDC *dc=gr.dc,I64 x,I64 y)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
dst=dc->body+d;
|
dst=dc->body+d;
|
||||||
nobound_switch (color.c0.rop) {
|
switch [color.c0.rop] {
|
||||||
case ROPB_EQU:
|
case ROPB_EQU:
|
||||||
case ROPB_MONO:
|
case ROPB_MONO:
|
||||||
*dst=color.c0.color;
|
*dst=color.c0.color;
|
||||||
@@ -733,7 +733,7 @@ public I64 GrPutChar(CDC *dc=gr.dc,I64 x,I64 y,U8 ch)
|
|||||||
src=font_ptr;
|
src=font_ptr;
|
||||||
if (bit_shift)
|
if (bit_shift)
|
||||||
src--;
|
src--;
|
||||||
nobound_switch (color.c0.rop) {
|
switch [color.c0.rop] {
|
||||||
case ROPB_EQU:
|
case ROPB_EQU:
|
||||||
case ROPB_MONO:
|
case ROPB_MONO:
|
||||||
for (j=h2-h1;j;j--) {
|
for (j=h2-h1;j;j--) {
|
||||||
@@ -763,7 +763,7 @@ public I64 GrPutChar(CDC *dc=gr.dc,I64 x,I64 y,U8 ch)
|
|||||||
src=font_ptr+1;
|
src=font_ptr+1;
|
||||||
if (bit_shift)
|
if (bit_shift)
|
||||||
src--;
|
src--;
|
||||||
nobound_switch (color.c0.rop) {
|
switch [color.c0.rop] {
|
||||||
case ROPB_EQU:
|
case ROPB_EQU:
|
||||||
case ROPB_MONO:
|
case ROPB_MONO:
|
||||||
for (j=h2-h1;j;j--) {
|
for (j=h2-h1;j;j--) {
|
||||||
@@ -792,7 +792,7 @@ public I64 GrPutChar(CDC *dc=gr.dc,I64 x,I64 y,U8 ch)
|
|||||||
src=font_ptr;
|
src=font_ptr;
|
||||||
if (bit_shift)
|
if (bit_shift)
|
||||||
src--;
|
src--;
|
||||||
nobound_switch (color.c0.rop) {
|
switch [color.c0.rop] {
|
||||||
case ROPB_EQU:
|
case ROPB_EQU:
|
||||||
case ROPB_MONO:
|
case ROPB_MONO:
|
||||||
for (j=h1;j<h2;j++) {
|
for (j=h1;j<h2;j++) {
|
||||||
@@ -826,7 +826,7 @@ public I64 GrPutChar(CDC *dc=gr.dc,I64 x,I64 y,U8 ch)
|
|||||||
src=font_ptr+1;
|
src=font_ptr+1;
|
||||||
if (bit_shift)
|
if (bit_shift)
|
||||||
src--;
|
src--;
|
||||||
nobound_switch (color.c0.rop) {
|
switch [color.c0.rop] {
|
||||||
case ROPB_EQU:
|
case ROPB_EQU:
|
||||||
case ROPB_MONO:
|
case ROPB_MONO:
|
||||||
for (j=h1;j<h2;j++) {
|
for (j=h1;j<h2;j++) {
|
||||||
@@ -1047,7 +1047,7 @@ public I64 GrRect(CDC *dc=gr.dc,I64 x,I64 y,I64 w,I64 h)
|
|||||||
color.c0=dither_colors.c1;
|
color.c0=dither_colors.c1;
|
||||||
else
|
else
|
||||||
color.c0=dither_colors.c0;
|
color.c0=dither_colors.c0;
|
||||||
nobound_switch (color.c0.rop) {
|
switch [color.c0.rop] {
|
||||||
case ROPB_EQU:
|
case ROPB_EQU:
|
||||||
case ROPB_MONO:
|
case ROPB_MONO:
|
||||||
if (win_z_buf_ptr) {
|
if (win_z_buf_ptr) {
|
||||||
@@ -1163,7 +1163,7 @@ public I64 GrRect(CDC *dc=gr.dc,I64 x,I64 y,I64 w,I64 h)
|
|||||||
} else {
|
} else {
|
||||||
if (((x+w1-original_leading_pixels)^(y+h1))&1)
|
if (((x+w1-original_leading_pixels)^(y+h1))&1)
|
||||||
SwapU16(&color.c0,&color.c1);
|
SwapU16(&color.c0,&color.c1);
|
||||||
nobound_switch (color.c0.rop) {
|
switch [color.c0.rop] {
|
||||||
case ROPB_EQU:
|
case ROPB_EQU:
|
||||||
case ROPB_MONO:
|
case ROPB_MONO:
|
||||||
if (win_z_buf_ptr) {
|
if (win_z_buf_ptr) {
|
||||||
@@ -1271,7 +1271,7 @@ public I64 GrRect(CDC *dc=gr.dc,I64 x,I64 y,I64 w,I64 h)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
color_mask=gr.to_8_colors[color.c0.color];
|
color_mask=gr.to_8_colors[color.c0.color];
|
||||||
nobound_switch (color.c0.rop) {
|
switch [color.c0.rop] {
|
||||||
case ROPB_EQU:
|
case ROPB_EQU:
|
||||||
case ROPB_MONO:
|
case ROPB_MONO:
|
||||||
if (win_z_buf_ptr) {
|
if (win_z_buf_ptr) {
|
||||||
@@ -1537,7 +1537,7 @@ I64 GrRayLen(CDC *dc,I64 *x1,I64 y,I64 z=0,I32 *db=NULL)
|
|||||||
if ((x3^y3)&1)
|
if ((x3^y3)&1)
|
||||||
c=color.c1.color;
|
c=color.c1.color;
|
||||||
}
|
}
|
||||||
nobound_switch (color.c0.rop) {
|
switch [color.c0.rop] {
|
||||||
case ROPB_EQU:
|
case ROPB_EQU:
|
||||||
case ROPB_MONO:
|
case ROPB_MONO:
|
||||||
*dst=c;
|
*dst=c;
|
||||||
@@ -1614,7 +1614,7 @@ I64 GrRayLen(CDC *dc,I64 *x1,I64 y,I64 z=0,I32 *db=NULL)
|
|||||||
if ((x3^y3)&1)
|
if ((x3^y3)&1)
|
||||||
c=color.c1.color;
|
c=color.c1.color;
|
||||||
}
|
}
|
||||||
nobound_switch (color.c0.rop) {
|
switch [color.c0.rop] {
|
||||||
case ROPB_EQU:
|
case ROPB_EQU:
|
||||||
case ROPB_MONO:
|
case ROPB_MONO:
|
||||||
*dst=c;
|
*dst=c;
|
||||||
@@ -1765,7 +1765,7 @@ public I64 GrHLine(CDC *dc=gr.dc,I64 x1,I64 x2,I64 y,I64 z1=0,I64 z2=0)
|
|||||||
if (plot) {
|
if (plot) {
|
||||||
dst=dc->body+d;
|
dst=dc->body+d;
|
||||||
c=color.c0.color;
|
c=color.c0.color;
|
||||||
nobound_switch (color.c0.rop) {
|
switch [color.c0.rop] {
|
||||||
case ROPB_EQU:
|
case ROPB_EQU:
|
||||||
case ROPB_MONO:
|
case ROPB_MONO:
|
||||||
*dst=c;
|
*dst=c;
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ I64 GrFloodFillRay(CDC *dc,I64 x,I64 y,I64 z,I32 *db)
|
|||||||
f->y=y;
|
f->y=y;
|
||||||
f->state=0;
|
f->state=0;
|
||||||
do {
|
do {
|
||||||
nobound_switch (f->state) {
|
switch [f->state] {
|
||||||
case 0:
|
case 0:
|
||||||
f->state++;
|
f->state++;
|
||||||
result+=f->ray_len=GrRayLen(dc,&f->x,f->y,z,db);
|
result+=f->ray_len=GrRayLen(dc,&f->x,f->y,z,db);
|
||||||
|
|||||||
@@ -433,7 +433,7 @@ CSprite *SMPolyLineFamily(I64 eletype,CDC *dc,I64 x,I64 y,I64 a1,I64 a2,
|
|||||||
}
|
}
|
||||||
} while (msg_code!=MSG_IP_R_UP);
|
} while (msg_code!=MSG_IP_R_UP);
|
||||||
|
|
||||||
switch(eletype) {
|
switch (eletype) {
|
||||||
case SPT_POLYLINE:
|
case SPT_POLYLINE:
|
||||||
if (num>1) {
|
if (num>1) {
|
||||||
result=CAlloc(SpriteElemQuedBaseSize(SPT_POLYLINE)+num*sizeof(CD2I32));
|
result=CAlloc(SpriteElemQuedBaseSize(SPT_POLYLINE)+num*sizeof(CD2I32));
|
||||||
|
|||||||
@@ -596,9 +596,9 @@ U0 TimeOut()
|
|||||||
x+=Fs->pix_width;
|
x+=Fs->pix_width;
|
||||||
|
|
||||||
//It takes too much CPU do do all these all the time.
|
//It takes too much CPU do do all these all the time.
|
||||||
nobound_switch (main_loop_pass&7) {
|
switch [main_loop_pass&7] {
|
||||||
case 0:
|
case 0:
|
||||||
nobound_switch (main_loop_pass>>3&7) {
|
switch [main_loop_pass>>3&7] {
|
||||||
case 0:
|
case 0:
|
||||||
if (--y<20)
|
if (--y<20)
|
||||||
game_over=TRUE;
|
game_over=TRUE;
|
||||||
|
|||||||
+47
-42
@@ -351,7 +351,7 @@ U0 ICMulEqu(CIntermediateCode *tempi,I64 ip)
|
|||||||
r=tempi->a1.reg;
|
r=tempi->a1.reg;
|
||||||
else
|
else
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
if (r>7)
|
if (r>7)
|
||||||
j=0xC0004D;
|
j=0xC0004D;
|
||||||
@@ -363,13 +363,13 @@ U0 ICMulEqu(CIntermediateCode *tempi,I64 ip)
|
|||||||
ICU24(tempi,0x6900+j+(r&7)<<16+(r&7)<<19);
|
ICU24(tempi,0x6900+j+(r&7)<<16+(r&7)<<19);
|
||||||
ICU32(tempi,i);
|
ICU32(tempi,i);
|
||||||
}
|
}
|
||||||
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,TY_REG+RT_I64,r,0,ip);
|
tempi->a1.reg,tempi->a1.disp,TY_REG+RT_I64,r,0,ip);
|
||||||
} else {
|
} else {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
||||||
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RBX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RBX,0,
|
||||||
TY_DISP+tempi->a1.type_pointed,REG_RCX,0,ip);
|
TY_DISP+tempi->a1.type_pointed_to,REG_RCX,0,ip);
|
||||||
r=REG_RBX;
|
r=REG_RBX;
|
||||||
if (MIN_I8<=i<=MAX_I8)
|
if (MIN_I8<=i<=MAX_I8)
|
||||||
ICU32(tempi,i<<24+0xDB6B48);
|
ICU32(tempi,i<<24+0xDB6B48);
|
||||||
@@ -377,7 +377,7 @@ U0 ICMulEqu(CIntermediateCode *tempi,I64 ip)
|
|||||||
ICU24(tempi,0xDB6948);
|
ICU24(tempi,0xDB6948);
|
||||||
ICU32(tempi,i);
|
ICU32(tempi,i);
|
||||||
}
|
}
|
||||||
ICMov(tempi,TY_DISP+tempi->a1.type_pointed,REG_RCX,0,
|
ICMov(tempi,TY_DISP+tempi->a1.type_pointed_to,REG_RCX,0,
|
||||||
TY_REG+RT_I64,REG_RBX,0,ip);
|
TY_REG+RT_I64,REG_RBX,0,ip);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -388,7 +388,7 @@ U0 ICMulEqu(CIntermediateCode *tempi,I64 ip)
|
|||||||
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
||||||
if (tempi->ic_flags & ICF_A1_FIRST) {
|
if (tempi->ic_flags & ICF_A1_FIRST) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RBX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RBX,0,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
@@ -396,11 +396,11 @@ U0 ICMulEqu(CIntermediateCode *tempi,I64 ip)
|
|||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RBX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RBX,0,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
}
|
}
|
||||||
ICU24(tempi,i);
|
ICU24(tempi,i);
|
||||||
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,TY_REG+RT_I64,REG_RAX,0,ip);
|
tempi->a1.reg,tempi->a1.disp,TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
} else {
|
} else {
|
||||||
if (tempi->ic_flags & ICF_A1_FIRST) {
|
if (tempi->ic_flags & ICF_A1_FIRST) {
|
||||||
@@ -415,9 +415,9 @@ U0 ICMulEqu(CIntermediateCode *tempi,I64 ip)
|
|||||||
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
}
|
}
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RBX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RBX,0,
|
||||||
TY_DISP+tempi->a1.type_pointed,REG_RCX,0,ip);
|
TY_DISP+tempi->a1.type_pointed_to,REG_RCX,0,ip);
|
||||||
ICU24(tempi,i);
|
ICU24(tempi,i);
|
||||||
ICMov(tempi,TY_DISP+tempi->a1.type_pointed,REG_RCX,0,
|
ICMov(tempi,TY_DISP+tempi->a1.type_pointed_to,REG_RCX,0,
|
||||||
TY_REG+RT_I64,REG_RAX,0,ip);
|
TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -454,7 +454,7 @@ U0 ICDivEqu(CIntermediateCode *tempi,Bool is_mod,I64 ip)
|
|||||||
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
||||||
if (tempi->ic_flags & ICF_A1_FIRST) {
|
if (tempi->ic_flags & ICF_A1_FIRST) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
@@ -462,7 +462,7 @@ U0 ICDivEqu(CIntermediateCode *tempi,Bool is_mod,I64 ip)
|
|||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
}
|
}
|
||||||
if (tempi->ic_class->raw_type&1) {
|
if (tempi->ic_class->raw_type&1) {
|
||||||
@@ -473,10 +473,10 @@ U0 ICDivEqu(CIntermediateCode *tempi,Bool is_mod,I64 ip)
|
|||||||
ICU24(tempi,0xF9F748);
|
ICU24(tempi,0xF9F748);
|
||||||
}
|
}
|
||||||
if (is_mod)
|
if (is_mod)
|
||||||
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,TY_REG+RT_I64,REG_RDX,0,ip);
|
tempi->a1.reg,tempi->a1.disp,TY_REG+RT_I64,REG_RDX,0,ip);
|
||||||
else
|
else
|
||||||
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,TY_REG+RT_I64,REG_RAX,0,ip);
|
tempi->a1.reg,tempi->a1.disp,TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
} else {
|
} else {
|
||||||
if (tempi->ic_flags & ICF_A1_FIRST) {
|
if (tempi->ic_flags & ICF_A1_FIRST) {
|
||||||
@@ -492,7 +492,7 @@ U0 ICDivEqu(CIntermediateCode *tempi,Bool is_mod,I64 ip)
|
|||||||
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
}
|
}
|
||||||
//dangerous might clobber RBX in Mov, but it doesn't
|
//dangerous might clobber RBX in Mov, but it doesn't
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,TY_DISP+tempi->a1.type_pointed,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,TY_DISP+tempi->a1.type_pointed_to,
|
||||||
REG_RBX,0,ip);
|
REG_RBX,0,ip);
|
||||||
if (tempi->ic_class->raw_type&1) {
|
if (tempi->ic_class->raw_type&1) {
|
||||||
ICZero(tempi,REG_RDX);
|
ICZero(tempi,REG_RDX);
|
||||||
@@ -502,10 +502,10 @@ U0 ICDivEqu(CIntermediateCode *tempi,Bool is_mod,I64 ip)
|
|||||||
ICU24(tempi,0xF9F748);
|
ICU24(tempi,0xF9F748);
|
||||||
}
|
}
|
||||||
if (is_mod)
|
if (is_mod)
|
||||||
ICMov(tempi,TY_DISP+tempi->a1.type_pointed,REG_RBX,0,
|
ICMov(tempi,TY_DISP+tempi->a1.type_pointed_to,REG_RBX,0,
|
||||||
TY_REG+RT_I64,REG_RDX,0,ip);
|
TY_REG+RT_I64,REG_RDX,0,ip);
|
||||||
else
|
else
|
||||||
ICMov(tempi,TY_DISP+tempi->a1.type_pointed,REG_RBX,0,
|
ICMov(tempi,TY_DISP+tempi->a1.type_pointed_to,REG_RBX,0,
|
||||||
TY_REG+RT_I64,REG_RAX,0,ip);
|
TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
}
|
}
|
||||||
if (tempi->r.type&TY_MASK) {
|
if (tempi->r.type&TY_MASK) {
|
||||||
@@ -542,7 +542,7 @@ U0 ICMod(CIntermediateCode *tempi,I64 ip)
|
|||||||
TY_REG+RT_I64,REG_RDX,0,ip);
|
TY_REG+RT_I64,REG_RDX,0,ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
U0 ICAddSubEctEqu(CIntermediateCode *tempi,I64 type_pointed,
|
U0 ICAddSubEctEqu(CIntermediateCode *tempi,I64 type_pointed_to,
|
||||||
I64 t1,I64 r1,I64 d1,I64 t2,I64 r2,I64 d2,
|
I64 t1,I64 r1,I64 d1,I64 t2,I64 r2,I64 d2,
|
||||||
I64 t3,I64 r3,I64 d3,I64 op,I64 ip)
|
I64 t3,I64 r3,I64 d3,I64 op,I64 ip)
|
||||||
{
|
{
|
||||||
@@ -551,14 +551,14 @@ U0 ICAddSubEctEqu(CIntermediateCode *tempi,I64 type_pointed,
|
|||||||
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
||||||
if (t3&TY_MASK==TY_IMM) {
|
if (t3&TY_MASK==TY_IMM) {
|
||||||
ICAddSubEctImm(tempi,
|
ICAddSubEctImm(tempi,
|
||||||
t2&TY_MASK+type_pointed,r2,d2,t2&TY_MASK+
|
t2&TY_MASK+type_pointed_to,r2,d2,t2&TY_MASK+
|
||||||
type_pointed,r2,d2,d3,op,ip);
|
type_pointed_to,r2,d2,d3,op,ip);
|
||||||
if (t1&TY_MASK)
|
if (t1&TY_MASK)
|
||||||
ICMov(tempi,t1,r1,d1,t2&TY_MASK+type_pointed,r2,d2,ip);
|
ICMov(tempi,t1,r1,d1,t2&TY_MASK+type_pointed_to,r2,d2,ip);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
done=FALSE;
|
done=FALSE;
|
||||||
if (type_pointed>=RT_I64) {
|
if (type_pointed_to>=RT_I64) {
|
||||||
if (!(t1&TY_MASK) &&
|
if (!(t1&TY_MASK) &&
|
||||||
TY_REG<=t2&TY_MASK<=TY_RIP_DISP32) {
|
TY_REG<=t2&TY_MASK<=TY_RIP_DISP32) {
|
||||||
if (t3&TY_MASK==TY_REG)
|
if (t3&TY_MASK==TY_REG)
|
||||||
@@ -567,7 +567,7 @@ U0 ICAddSubEctEqu(CIntermediateCode *tempi,I64 type_pointed,
|
|||||||
temp=REG_RCX;
|
temp=REG_RCX;
|
||||||
ICMov(tempi,TY_REG+RT_I64,temp,0,t3,r3,d3,ip);
|
ICMov(tempi,TY_REG+RT_I64,temp,0,t3,r3,d3,ip);
|
||||||
}
|
}
|
||||||
i=ICModr1(temp,t2&TY_MASK+type_pointed,r2,d2);
|
i=ICModr1(temp,t2&TY_MASK+type_pointed_to,r2,d2);
|
||||||
if (tempi->ic_flags&ICF_LOCK)
|
if (tempi->ic_flags&ICF_LOCK)
|
||||||
ICU8(tempi,OC_LOCK_PREFIX);
|
ICU8(tempi,OC_LOCK_PREFIX);
|
||||||
ICRex(tempi,i.u8[1]);
|
ICRex(tempi,i.u8[1]);
|
||||||
@@ -583,13 +583,13 @@ U0 ICAddSubEctEqu(CIntermediateCode *tempi,I64 type_pointed,
|
|||||||
result_reg=REG_RCX;
|
result_reg=REG_RCX;
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t2,r2,d2,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t2,r2,d2,ip);
|
||||||
}
|
}
|
||||||
i=ICModr1(result_reg,t3&TY_MASK+type_pointed,r3,d3);
|
i=ICModr1(result_reg,t3&TY_MASK+type_pointed_to,r3,d3);
|
||||||
if (tempi->ic_flags&ICF_LOCK)
|
if (tempi->ic_flags&ICF_LOCK)
|
||||||
ICU8(tempi,OC_LOCK_PREFIX);
|
ICU8(tempi,OC_LOCK_PREFIX);
|
||||||
ICRex(tempi,i.u8[1]);
|
ICRex(tempi,i.u8[1]);
|
||||||
ICU16(tempi,i.u8[2]<<8+op.u8[0]);
|
ICU16(tempi,i.u8[2]<<8+op.u8[0]);
|
||||||
ICModr2(tempi,i,d3,ip+4);
|
ICModr2(tempi,i,d3,ip+4);
|
||||||
ICMov(tempi,t2&TY_MASK+type_pointed,r2,d2,
|
ICMov(tempi,t2&TY_MASK+type_pointed_to,r2,d2,
|
||||||
TY_REG+RT_I64,result_reg,0,ip);
|
TY_REG+RT_I64,result_reg,0,ip);
|
||||||
done=TRUE;
|
done=TRUE;
|
||||||
}
|
}
|
||||||
@@ -601,7 +601,7 @@ U0 ICAddSubEctEqu(CIntermediateCode *tempi,I64 type_pointed,
|
|||||||
else {
|
else {
|
||||||
result_reg=REG_RCX;
|
result_reg=REG_RCX;
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
||||||
t2&TY_MASK+type_pointed,r2,d2,ip);
|
t2&TY_MASK+type_pointed_to,r2,d2,ip);
|
||||||
}
|
}
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,t3,r3,d3,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,t3,r3,d3,ip);
|
||||||
} else {
|
} else {
|
||||||
@@ -611,7 +611,7 @@ U0 ICAddSubEctEqu(CIntermediateCode *tempi,I64 type_pointed,
|
|||||||
else {
|
else {
|
||||||
result_reg=REG_RCX;
|
result_reg=REG_RCX;
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
||||||
t2&TY_MASK+type_pointed,r2,d2,ip);
|
t2&TY_MASK+type_pointed_to,r2,d2,ip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (tempi->ic_flags&ICF_LOCK)
|
if (tempi->ic_flags&ICF_LOCK)
|
||||||
@@ -621,7 +621,7 @@ U0 ICAddSubEctEqu(CIntermediateCode *tempi,I64 type_pointed,
|
|||||||
else
|
else
|
||||||
ICU8(tempi,0x48);
|
ICU8(tempi,0x48);
|
||||||
ICU16(tempi,0xC000+op.u8[0]+(result_reg&7)<<11);
|
ICU16(tempi,0xC000+op.u8[0]+(result_reg&7)<<11);
|
||||||
ICMov(tempi,t2&TY_MASK+type_pointed,r2,d2,
|
ICMov(tempi,t2&TY_MASK+type_pointed_to,r2,d2,
|
||||||
TY_REG+RT_I64,result_reg,0,ip);
|
TY_REG+RT_I64,result_reg,0,ip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -631,25 +631,25 @@ U0 ICAddSubEctEqu(CIntermediateCode *tempi,I64 type_pointed,
|
|||||||
if (!d3.u32[1]) {
|
if (!d3.u32[1]) {
|
||||||
if (tempi->ic_flags&ICF_NO_DEPEND_RESULT &&
|
if (tempi->ic_flags&ICF_NO_DEPEND_RESULT &&
|
||||||
t2&TY_MASK==TY_REG && d3(U64)<=MAX_I8) {
|
t2&TY_MASK==TY_REG && d3(U64)<=MAX_I8) {
|
||||||
ICSlashOp(tempi,TY_DISP+type_pointed,r2,0,0x838000+op.u8[4],ip);
|
ICSlashOp(tempi,TY_DISP+type_pointed_to,r2,0,0x838000+op.u8[4],ip);
|
||||||
ICU8(tempi,d3);
|
ICU8(tempi,d3);
|
||||||
done=TRUE;
|
done=TRUE;
|
||||||
} else if (op.u8[2]==0x24) {//AND
|
} else if (op.u8[2]==0x24) {//AND
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t2,r2,d2,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t2,r2,d2,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
TY_DISP+type_pointed,REG_RCX,0,ip);
|
TY_DISP+type_pointed_to,REG_RCX,0,ip);
|
||||||
result_reg=REG_RAX;
|
result_reg=REG_RAX;
|
||||||
if (tempi->ic_flags&ICF_LOCK)
|
if (tempi->ic_flags&ICF_LOCK)
|
||||||
ICU8(tempi,OC_LOCK_PREFIX);
|
ICU8(tempi,OC_LOCK_PREFIX);
|
||||||
ICU16(tempi,op.u8[3]<<8+0x40);
|
ICU16(tempi,op.u8[3]<<8+0x40);
|
||||||
ICU32(tempi,d3);
|
ICU32(tempi,d3);
|
||||||
ICMov(tempi,TY_DISP+type_pointed,REG_RCX,0,
|
ICMov(tempi,TY_DISP+type_pointed_to,REG_RCX,0,
|
||||||
TY_REG+RT_I64,result_reg,0,ip);
|
TY_REG+RT_I64,result_reg,0,ip);
|
||||||
done=TRUE;
|
done=TRUE;
|
||||||
} else if (type_pointed&RT_MASK<RT_I64) {//OR/XOR
|
} else if (type_pointed_to&RT_MASK<RT_I64) {//OR/XOR
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t2,r2,d2,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t2,r2,d2,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
TY_DISP+type_pointed,REG_RCX,0,ip);
|
TY_DISP+type_pointed_to,REG_RCX,0,ip);
|
||||||
result_reg=REG_RAX;
|
result_reg=REG_RAX;
|
||||||
if (tempi->ic_flags&ICF_LOCK)
|
if (tempi->ic_flags&ICF_LOCK)
|
||||||
ICU8(tempi,OC_LOCK_PREFIX);
|
ICU8(tempi,OC_LOCK_PREFIX);
|
||||||
@@ -663,7 +663,7 @@ U0 ICAddSubEctEqu(CIntermediateCode *tempi,I64 type_pointed,
|
|||||||
ICU16(tempi,op.u8[2]<<8+0x40);
|
ICU16(tempi,op.u8[2]<<8+0x40);
|
||||||
ICU8(tempi,d3);
|
ICU8(tempi,d3);
|
||||||
}
|
}
|
||||||
ICMov(tempi,TY_DISP+type_pointed,REG_RCX,0,
|
ICMov(tempi,TY_DISP+type_pointed_to,REG_RCX,0,
|
||||||
TY_REG+RT_I64,result_reg,0,ip);
|
TY_REG+RT_I64,result_reg,0,ip);
|
||||||
done=TRUE;
|
done=TRUE;
|
||||||
}
|
}
|
||||||
@@ -677,13 +677,14 @@ U0 ICAddSubEctEqu(CIntermediateCode *tempi,I64 type_pointed,
|
|||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,t3,r3,d3,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,t3,r3,d3,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t2,r2,d2,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t2,r2,d2,ip);
|
||||||
}
|
}
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RBX,0,TY_DISP+type_pointed,REG_RCX,0,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RBX,0,TY_DISP+type_pointed_to,REG_RCX,0,ip);
|
||||||
result_reg=REG_RBX;
|
result_reg=REG_RBX;
|
||||||
if (tempi->ic_flags&ICF_LOCK)
|
if (tempi->ic_flags&ICF_LOCK)
|
||||||
ICU8(tempi,OC_LOCK_PREFIX);
|
ICU8(tempi,OC_LOCK_PREFIX);
|
||||||
ICU8(tempi,0x48);
|
ICU8(tempi,0x48);
|
||||||
ICU16(tempi,0xC000+op.u8[0]+(result_reg&7)<<11);
|
ICU16(tempi,0xC000+op.u8[0]+(result_reg&7)<<11);
|
||||||
ICMov(tempi,TY_DISP+type_pointed,REG_RCX,0,TY_REG+RT_I64,result_reg,0,ip);
|
ICMov(tempi,TY_DISP+type_pointed_to,REG_RCX,0,
|
||||||
|
TY_REG+RT_I64,result_reg,0,ip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (t1&TY_MASK)
|
if (t1&TY_MASK)
|
||||||
@@ -723,8 +724,9 @@ U0 ICShift(CIntermediateCode *tempi,I64 t1,I64 r1,I64 d1,
|
|||||||
ICMov(tempi,t1,r1,d1,TY_REG+RT_I64,result_reg,0,ip);
|
ICMov(tempi,t1,r1,d1,TY_REG+RT_I64,result_reg,0,ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
U0 ICShiftEqu(CIntermediateCode *tempi,I64 type_pointed,I64 t1,I64 r1,I64 d1,
|
U0 ICShiftEqu(CIntermediateCode *tempi,I64 type_pointed_to,
|
||||||
I64 t2,I64 r2,I64 d2,I64 t3,I64 r3,I64 d3,I64 us,I64 is,I64 ip)
|
I64 t1,I64 r1,I64 d1,I64 t2,I64 r2,I64 d2,I64 t3,I64 r3,I64 d3,
|
||||||
|
I64 us,I64 is,I64 ip)
|
||||||
{
|
{
|
||||||
I64 result_reg;
|
I64 result_reg;
|
||||||
if (tempi->ic_class->raw_type&1 || tempi->ic_flags & ICF_USE_UNSIGNED)
|
if (tempi->ic_class->raw_type&1 || tempi->ic_flags & ICF_USE_UNSIGNED)
|
||||||
@@ -735,7 +737,8 @@ U0 ICShiftEqu(CIntermediateCode *tempi,I64 type_pointed,I64 t1,I64 r1,I64 d1,
|
|||||||
result_reg=r2;
|
result_reg=r2;
|
||||||
else {
|
else {
|
||||||
result_reg=REG_RAX;
|
result_reg=REG_RAX;
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,t2&TY_MASK+type_pointed,r2,d2,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
|
t2&TY_MASK+type_pointed_to,r2,d2,ip);
|
||||||
}
|
}
|
||||||
if (t3&TY_MASK!=TY_IMM)
|
if (t3&TY_MASK!=TY_IMM)
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t3,r3,d3,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t3,r3,d3,ip);
|
||||||
@@ -746,7 +749,8 @@ U0 ICShiftEqu(CIntermediateCode *tempi,I64 type_pointed,I64 t1,I64 r1,I64 d1,
|
|||||||
result_reg=r2;
|
result_reg=r2;
|
||||||
else {
|
else {
|
||||||
result_reg=REG_RAX;
|
result_reg=REG_RAX;
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,t2&TY_MASK+type_pointed,r2,d2,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
|
t2&TY_MASK+type_pointed_to,r2,d2,ip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (result_reg>7)
|
if (result_reg>7)
|
||||||
@@ -762,7 +766,7 @@ U0 ICShiftEqu(CIntermediateCode *tempi,I64 type_pointed,I64 t1,I64 r1,I64 d1,
|
|||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
ICU16(tempi,is.u16[1]+(result_reg&7)<<8);
|
ICU16(tempi,is.u16[1]+(result_reg&7)<<8);
|
||||||
ICMov(tempi,t2&TY_MASK+type_pointed,r2,d2,TY_REG+RT_I64,result_reg,0,ip);
|
ICMov(tempi,t2&TY_MASK+type_pointed_to,r2,d2,TY_REG+RT_I64,result_reg,0,ip);
|
||||||
} else {
|
} else {
|
||||||
if (tempi->ic_flags & ICF_A1_FIRST) {
|
if (tempi->ic_flags & ICF_A1_FIRST) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,t2,r2,d2,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,t2,r2,d2,ip);
|
||||||
@@ -773,7 +777,7 @@ U0 ICShiftEqu(CIntermediateCode *tempi,I64 type_pointed,I64 t1,I64 r1,I64 d1,
|
|||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t3,r3,d3,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,t3,r3,d3,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,t2,r2,d2,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,t2,r2,d2,ip);
|
||||||
}
|
}
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,TY_DISP+type_pointed,REG_RDX,0,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,TY_DISP+type_pointed_to,REG_RDX,0,ip);
|
||||||
result_reg=REG_RAX;
|
result_reg=REG_RAX;
|
||||||
ICU8(tempi,0x48);
|
ICU8(tempi,0x48);
|
||||||
if (t3&TY_MASK==TY_IMM) {
|
if (t3&TY_MASK==TY_IMM) {
|
||||||
@@ -785,7 +789,8 @@ U0 ICShiftEqu(CIntermediateCode *tempi,I64 type_pointed,I64 t1,I64 r1,I64 d1,
|
|||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
ICU16(tempi,is.u16[1]+(result_reg&7)<<8);
|
ICU16(tempi,is.u16[1]+(result_reg&7)<<8);
|
||||||
ICMov(tempi,TY_DISP+type_pointed,REG_RDX,0,TY_REG+RT_I64,result_reg,0,ip);
|
ICMov(tempi,
|
||||||
|
TY_DISP+type_pointed_to,REG_RDX,0,TY_REG+RT_I64,result_reg,0,ip);
|
||||||
}
|
}
|
||||||
if (t1&TY_MASK)
|
if (t1&TY_MASK)
|
||||||
ICMov(tempi,t1,r1,d1,TY_REG+RT_I64,result_reg,0,ip);
|
ICMov(tempi,t1,r1,d1,TY_REG+RT_I64,result_reg,0,ip);
|
||||||
|
|||||||
+20
-20
@@ -397,17 +397,17 @@ U0 ICPreIncDec(CIntermediateCode *tempi,I64 op,I64 ip)
|
|||||||
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
||||||
if (tempc->ptr_stars_cnt && tempc1->size!=1) {
|
if (tempc->ptr_stars_cnt && tempc1->size!=1) {
|
||||||
ICAddSubEctImm(tempi,
|
ICAddSubEctImm(tempi,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,
|
tempi->a1.reg,tempi->a1.disp,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,tempc1->size,op.u16[3],ip);
|
tempi->a1.reg,tempi->a1.disp,tempc1->size,op.u16[3],ip);
|
||||||
} else
|
} else
|
||||||
ICSlashOp(tempi,
|
ICSlashOp(tempi,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,op,ip);
|
tempi->a1.reg,tempi->a1.disp,op,ip);
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
} else {
|
} else {
|
||||||
if (tempi->a1.type&TY_MASK==TY_REG)
|
if (tempi->a1.type&TY_MASK==TY_REG)
|
||||||
@@ -419,15 +419,15 @@ U0 ICPreIncDec(CIntermediateCode *tempi,I64 op,I64 ip)
|
|||||||
}
|
}
|
||||||
if (tempc->ptr_stars_cnt &&
|
if (tempc->ptr_stars_cnt &&
|
||||||
tempc1->size!=1) {
|
tempc1->size!=1) {
|
||||||
ICAddSubEctImm(tempi,TY_DISP+tempi->a1.type_pointed,r,0,
|
ICAddSubEctImm(tempi,TY_DISP+tempi->a1.type_pointed_to,r,0,
|
||||||
TY_DISP+tempi->a1.type_pointed,r,0,
|
TY_DISP+tempi->a1.type_pointed_to,r,0,
|
||||||
tempc1->size,op.u16[3],ip);
|
tempc1->size,op.u16[3],ip);
|
||||||
} else
|
} else
|
||||||
ICSlashOp(tempi,
|
ICSlashOp(tempi,
|
||||||
TY_DISP+tempi->a1.type_pointed,r,0,op,ip);
|
TY_DISP+tempi->a1.type_pointed_to,r,0,op,ip);
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
TY_DISP+tempi->a1.type_pointed,r,0,ip);
|
TY_DISP+tempi->a1.type_pointed_to,r,0,ip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -438,17 +438,17 @@ U0 ICPostIncDec(CIntermediateCode *tempi,I64 op,I64 ip)
|
|||||||
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
if (tempc->ptr_stars_cnt && tempc1->size!=1)
|
if (tempc->ptr_stars_cnt && tempc1->size!=1)
|
||||||
ICAddSubEctImm(tempi,
|
ICAddSubEctImm(tempi,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,
|
tempi->a1.reg,tempi->a1.disp,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,tempc1->size,op.u16[3],ip);
|
tempi->a1.reg,tempi->a1.disp,tempc1->size,op.u16[3],ip);
|
||||||
else
|
else
|
||||||
ICSlashOp(tempi,
|
ICSlashOp(tempi,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,op,ip);
|
tempi->a1.reg,tempi->a1.disp,op,ip);
|
||||||
} else {
|
} else {
|
||||||
if (tempi->a1.type&TY_MASK==TY_REG &&
|
if (tempi->a1.type&TY_MASK==TY_REG &&
|
||||||
@@ -461,12 +461,12 @@ U0 ICPostIncDec(CIntermediateCode *tempi,I64 op,I64 ip)
|
|||||||
}
|
}
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
TY_DISP+tempi->a1.type_pointed,r,0,ip);
|
TY_DISP+tempi->a1.type_pointed_to,r,0,ip);
|
||||||
if (tempc->ptr_stars_cnt && tempc1->size!=1)
|
if (tempc->ptr_stars_cnt && tempc1->size!=1)
|
||||||
ICAddSubEctImm(tempi,TY_DISP+tempi->a1.type_pointed,r,0,
|
ICAddSubEctImm(tempi,TY_DISP+tempi->a1.type_pointed_to,r,0,
|
||||||
TY_DISP+tempi->a1.type_pointed,r,0,tempc1->size,op.u16[3],ip);
|
TY_DISP+tempi->a1.type_pointed_to,r,0,tempc1->size,op.u16[3],ip);
|
||||||
else
|
else
|
||||||
ICSlashOp(tempi,TY_DISP+tempi->a1.type_pointed,r,0,op,ip);
|
ICSlashOp(tempi,TY_DISP+tempi->a1.type_pointed_to,r,0,op,ip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -475,8 +475,8 @@ U0 ICDerefPostIncDec(CIntermediateCode *tempi,I64 op,I64 ip)
|
|||||||
I64 t,r;
|
I64 t,r;
|
||||||
CHashClass *tempc1=tempi->ic_class;
|
CHashClass *tempc1=tempi->ic_class;
|
||||||
t=tempi->r.type&RT_MASK;
|
t=tempi->r.type&RT_MASK;
|
||||||
if (t>tempi->a1.type_pointed)
|
if (t>tempi->a1.type_pointed_to)
|
||||||
t=tempi->a1.type_pointed;
|
t=tempi->a1.type_pointed_to;
|
||||||
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
||||||
if (tempi->a1.type&TY_MASK==TY_REG)
|
if (tempi->a1.type&TY_MASK==TY_REG)
|
||||||
r=tempi->a1.reg;
|
r=tempi->a1.reg;
|
||||||
@@ -526,7 +526,7 @@ U0 ICAssignPostIncDec(CIntermediateCode *tempi,I64 op,I64 ip)
|
|||||||
tempi->a1.type&TY_MASK+RT_I64,tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.type&TY_MASK+RT_I64,tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
r=REG_RDX;
|
r=REG_RDX;
|
||||||
}
|
}
|
||||||
ICMov(tempi,TY_DISP+tempi->a1.type_pointed,r,0,
|
ICMov(tempi,TY_DISP+tempi->a1.type_pointed_to,r,0,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
@@ -540,7 +540,7 @@ U0 ICAssignPostIncDec(CIntermediateCode *tempi,I64 op,I64 ip)
|
|||||||
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
||||||
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,TY_DISP+RT_I64,REG_RDX,0,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,TY_DISP+RT_I64,REG_RDX,0,ip);
|
||||||
ICMov(tempi,TY_DISP+tempi->a1.type_pointed,REG_RCX,0,
|
ICMov(tempi,TY_DISP+tempi->a1.type_pointed_to,REG_RCX,0,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
|
|||||||
+9
-8
@@ -160,13 +160,13 @@ U0 ICAssign(CIntermediateCode *tempi,I64 ip)
|
|||||||
{
|
{
|
||||||
CIntermediateCode *tempi1;
|
CIntermediateCode *tempi1;
|
||||||
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
||||||
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,
|
tempi->a1.reg,tempi->a1.disp,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
if (tempi->r.type&TY_MASK) {
|
if (tempi->r.type&TY_MASK) {
|
||||||
if (tempi->a1.type&TY_MASK==TY_REG)
|
if (tempi->a1.type&TY_MASK==TY_REG)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
else
|
else
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
@@ -182,7 +182,8 @@ U0 ICAssign(CIntermediateCode *tempi,I64 ip)
|
|||||||
tempi->a2.reg==tempi->a1.reg ||
|
tempi->a2.reg==tempi->a1.reg ||
|
||||||
tempi->r.type&TY_MASK ||
|
tempi->r.type&TY_MASK ||
|
||||||
tempi1->ic_flags&~ICG_NO_CVT_MASK) {
|
tempi1->ic_flags&~ICG_NO_CVT_MASK) {
|
||||||
ICMov(tempi,TY_DISP+tempi->a1.type_pointed,tempi->a1.reg,tempi->a1.disp,
|
ICMov(tempi,
|
||||||
|
TY_DISP+tempi->a1.type_pointed_to,tempi->a1.reg,tempi->a1.disp,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
@@ -192,14 +193,14 @@ U0 ICAssign(CIntermediateCode *tempi,I64 ip)
|
|||||||
~ICF_CODE_FINAL|ICF_DONT_RESTORE;
|
~ICF_CODE_FINAL|ICF_DONT_RESTORE;
|
||||||
tempi->a1.disp=tempi1->ic_data;
|
tempi->a1.disp=tempi1->ic_data;
|
||||||
OptSetNOP1(tempi1); //This better not be last pass!
|
OptSetNOP1(tempi1); //This better not be last pass!
|
||||||
ICMov(tempi,TY_DISP+tempi->a1.type_pointed,
|
ICMov(tempi,TY_DISP+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,
|
tempi->a1.reg,tempi->a1.disp,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,
|
||||||
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
ICMov(tempi,TY_DISP+tempi->a1.type_pointed,REG_RCX,0,
|
ICMov(tempi,TY_DISP+tempi->a1.type_pointed_to,REG_RCX,0,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
@@ -706,7 +707,7 @@ U0 ICAndEqu(CIntermediateCode *tempi,I64 ip2)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ICAddSubEctEqu(tempi,tempi->a1.type_pointed,
|
ICAddSubEctEqu(tempi,tempi->a1.type_pointed_to,
|
||||||
tempi->r.type,tempi->r.reg,tempi->r.disp,
|
tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,
|
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,0x210425240423,ip2);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,0x210425240423,ip2);
|
||||||
@@ -727,7 +728,7 @@ U0 ICOrEqu(CIntermediateCode *tempi,I64 ip2)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ICAddSubEctEqu(tempi,tempi->a1.type_pointed,
|
ICAddSubEctEqu(tempi,tempi->a1.type_pointed_to,
|
||||||
tempi->r.type,tempi->r.reg,tempi->r.disp,
|
tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,
|
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,0x09010D0C010B,ip2);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,0x09010D0C010B,ip2);
|
||||||
@@ -748,7 +749,7 @@ U0 ICXorEqu(CIntermediateCode *tempi,I64 ip2)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ICAddSubEctEqu(tempi,tempi->a1.type_pointed,
|
ICAddSubEctEqu(tempi,tempi->a1.type_pointed_to,
|
||||||
tempi->r.type,tempi->r.reg,tempi->r.disp,
|
tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,
|
tempi->a1.type,tempi->a1.reg,tempi->a1.disp,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,0x310635340633,ip2);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,0x310635340633,ip2);
|
||||||
|
|||||||
+18
-18
@@ -9,7 +9,7 @@ U0 CmpNoteFloatOp(CCmpCtrl *cc,CIntermediateCode *tempi,
|
|||||||
Bool link=FALSE;
|
Bool link=FALSE;
|
||||||
if (cc->pass==7 && cc->last_float_op_ic &&
|
if (cc->pass==7 && cc->last_float_op_ic &&
|
||||||
cc->last_dont_popable && dont_pushable) {
|
cc->last_dont_popable && dont_pushable) {
|
||||||
nobound_switch (pos) {
|
switch [pos] {
|
||||||
case CN_A2:
|
case CN_A2:
|
||||||
if (cc->last_float_op_ic!=tempi && cc->dont_push_float)
|
if (cc->last_float_op_ic!=tempi && cc->dont_push_float)
|
||||||
link=TRUE;
|
link=TRUE;
|
||||||
@@ -589,15 +589,15 @@ U0 ICFModEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 ip)
|
|||||||
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
||||||
if (dont_push_float) {
|
if (dont_push_float) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
if (tempi->a1.type_pointed!=RT_F64)
|
if (tempi->a1.type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,FALSE,ip);
|
||||||
} else if (tempi->ic_flags & ICF_A1_FIRST) {
|
} else if (tempi->ic_flags & ICF_A1_FIRST) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
if (tempi->a1.type_pointed!=RT_F64)
|
if (tempi->a1.type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
@@ -605,28 +605,28 @@ U0 ICFModEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 ip)
|
|||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
if (tempi->a1.type_pointed!=RT_F64)
|
if (tempi->a1.type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
||||||
}
|
}
|
||||||
//TODO: unpushable,unpop? Not sure
|
//TODO: unpushable,unpop? Not sure
|
||||||
ICCopyTemplate(cc,tempi,CMP_TEMPLATE_MOD,FALSE,FALSE,FALSE,CN_MAIN);
|
ICCopyTemplate(cc,tempi,CMP_TEMPLATE_MOD,FALSE,FALSE,FALSE,CN_MAIN);
|
||||||
if (tempi->a1.type_pointed!=RT_F64)
|
if (tempi->a1.type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,TRUE,ip);
|
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,TRUE,ip);
|
||||||
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
ICMov(tempi,tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,TY_REG+RT_I64,REG_RAX,0,ip);
|
tempi->a1.reg,tempi->a1.disp,TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
tempi->a1.type&TY_MASK+tempi->a1.type_pointed,
|
tempi->a1.type&TY_MASK+tempi->a1.type_pointed_to,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
} else {
|
} else {
|
||||||
if (dont_push_float) {
|
if (dont_push_float) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,tempi->a1.type,
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,tempi->a1.type,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
TY_DISP+tempi->a1.type_pointed,REG_RCX,0,ip);
|
TY_DISP+tempi->a1.type_pointed_to,REG_RCX,0,ip);
|
||||||
if (tempi->a1.type_pointed!=RT_F64)
|
if (tempi->a1.type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,FALSE,ip);
|
||||||
} else if (tempi->ic_flags & ICF_A1_FIRST) {
|
} else if (tempi->ic_flags & ICF_A1_FIRST) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,tempi->a1.type,
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,tempi->a1.type,
|
||||||
@@ -634,8 +634,8 @@ U0 ICFModEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 ip)
|
|||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
||||||
TY_DISP+tempi->a1.type_pointed,REG_RCX,0,ip);
|
TY_DISP+tempi->a1.type_pointed_to,REG_RCX,0,ip);
|
||||||
if (tempi->a1.type_pointed!=RT_F64)
|
if (tempi->a1.type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
||||||
} else {
|
} else {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
@@ -643,15 +643,15 @@ U0 ICFModEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 ip)
|
|||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,tempi->a1.type,
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,tempi->a1.type,
|
||||||
tempi->a1.reg,tempi->a1.disp,ip);
|
tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
||||||
TY_DISP+tempi->a1.type_pointed,REG_RCX,0,ip);
|
TY_DISP+tempi->a1.type_pointed_to,REG_RCX,0,ip);
|
||||||
if (tempi->a1.type_pointed!=RT_F64)
|
if (tempi->a1.type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
||||||
}
|
}
|
||||||
//TODO: unpushable,unpop? Not sure
|
//TODO: unpushable,unpop? Not sure
|
||||||
ICCopyTemplate(cc,tempi,CMP_TEMPLATE_MOD,FALSE,FALSE,FALSE,CN_MAIN);
|
ICCopyTemplate(cc,tempi,CMP_TEMPLATE_MOD,FALSE,FALSE,FALSE,CN_MAIN);
|
||||||
if (tempi->a1.type_pointed!=RT_F64)
|
if (tempi->a1.type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,TRUE,ip);
|
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,TRUE,ip);
|
||||||
ICMov(tempi,TY_DISP+tempi->a1.type_pointed,REG_RCX,0,
|
ICMov(tempi,TY_DISP+tempi->a1.type_pointed_to,REG_RCX,0,
|
||||||
TY_REG+RT_I64,REG_RAX,0,ip);
|
TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
|
|||||||
+46
-43
@@ -16,31 +16,32 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
if (tempi->ic_flags & ICF_NOT_ADDR) {
|
||||||
p1_mem=FALSE;
|
p1_mem=FALSE;
|
||||||
if (dont_push_float) {
|
if (dont_push_float) {
|
||||||
if (a1->type_pointed!=RT_F64) {
|
if (a1->type_pointed_to!=RT_F64) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
a1->type&TY_MASK+a1->type_pointed,a1->reg,a1->disp,ip);
|
a1->type&TY_MASK+a1->type_pointed_to,a1->reg,a1->disp,ip);
|
||||||
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,FALSE,ip);
|
||||||
ICPush(tempi,TY_REG+RT_I64,REG_RAX,0,ip);
|
ICPush(tempi,TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
||||||
rsp_size+=8;
|
rsp_size+=8;
|
||||||
} else {
|
} else {
|
||||||
if (a1->type_pointed>=RT_I64 && (a1->type&TY_MASK==TY_DISP ||
|
if (a1->type_pointed_to>=RT_I64 && (a1->type&TY_MASK==TY_DISP ||
|
||||||
a1->type&TY_MASK==TY_RIP_DISP32 || a1->type&TY_MASK==TY_SIB)) {
|
a1->type&TY_MASK==TY_RIP_DISP32 || a1->type&TY_MASK==TY_SIB)) {
|
||||||
t1=a1->type_pointed+a1->type&TY_MASK;
|
t1=a1->type_pointed_to+a1->type&TY_MASK;
|
||||||
r1=a1->reg;
|
r1=a1->reg;
|
||||||
d1=a1->disp;
|
d1=a1->disp;
|
||||||
p1_mem=TRUE;
|
p1_mem=TRUE;
|
||||||
} else {
|
} else {
|
||||||
ICPush(tempi,a1->type_pointed+a1->type&TY_MASK,a1->reg,a1->disp,ip);
|
ICPush(tempi,
|
||||||
|
a1->type_pointed_to+a1->type&TY_MASK,a1->reg,a1->disp,ip);
|
||||||
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
||||||
rsp_size+=8;
|
rsp_size+=8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (tempi->ic_flags & ICF_A1_FIRST) {
|
} else if (tempi->ic_flags & ICF_A1_FIRST) {
|
||||||
if (a1->type_pointed!=RT_F64 || a2->type&TY_MASK==TY_STK) {
|
if (a1->type_pointed_to!=RT_F64 || a2->type&TY_MASK==TY_STK) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
||||||
a1->type&TY_MASK+a1->type_pointed,a1->reg,a1->disp,ip);
|
a1->type&TY_MASK+a1->type_pointed_to,a1->reg,a1->disp,ip);
|
||||||
if (a1->type_pointed!=RT_F64)
|
if (a1->type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
a2->type,a2->reg,a2->disp,ip);
|
a2->type,a2->reg,a2->disp,ip);
|
||||||
@@ -50,14 +51,15 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=8;
|
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=8;
|
||||||
t2=TY_SIB+RT_I64; r2=REG_RSP+REG_RSP<<8; d2=0;
|
t2=TY_SIB+RT_I64; r2=REG_RSP+REG_RSP<<8; d2=0;
|
||||||
} else {
|
} else {
|
||||||
if (a1->type_pointed>=RT_I64 && (a1->type&TY_MASK==TY_DISP ||
|
if (a1->type_pointed_to>=RT_I64 && (a1->type&TY_MASK==TY_DISP ||
|
||||||
a1->type&TY_MASK==TY_RIP_DISP32 || a1->type&TY_MASK==TY_SIB)) {
|
a1->type&TY_MASK==TY_RIP_DISP32 || a1->type&TY_MASK==TY_SIB)) {
|
||||||
t1=a1->type_pointed+a1->type&TY_MASK;
|
t1=a1->type_pointed_to+a1->type&TY_MASK;
|
||||||
r1=a1->reg;
|
r1=a1->reg;
|
||||||
d1=a1->disp;
|
d1=a1->disp;
|
||||||
p1_mem=TRUE;
|
p1_mem=TRUE;
|
||||||
} else {
|
} else {
|
||||||
ICPush(tempi,a1->type_pointed+a1->type&TY_MASK,a1->reg,a1->disp,ip);
|
ICPush(tempi,
|
||||||
|
a1->type_pointed_to+a1->type&TY_MASK,a1->reg,a1->disp,ip);
|
||||||
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
||||||
rsp_size+=8;
|
rsp_size+=8;
|
||||||
}
|
}
|
||||||
@@ -83,11 +85,11 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (a1->type_pointed!=RT_F64 || a1->type&TY_MASK==TY_STK) {
|
if (a1->type_pointed_to!=RT_F64 || a1->type&TY_MASK==TY_STK) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,a2->type,a2->reg,a2->disp,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,a2->type,a2->reg,a2->disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
||||||
a1->type&TY_MASK+a1->type_pointed,a1->reg,a1->disp,ip);
|
a1->type&TY_MASK+a1->type_pointed_to,a1->reg,a1->disp,ip);
|
||||||
if (a1->type_pointed!=RT_F64)
|
if (a1->type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
||||||
ICU16(tempi,0x5052); //PUSH EDX PUSH EAX
|
ICU16(tempi,0x5052); //PUSH EDX PUSH EAX
|
||||||
rsp_size=16;
|
rsp_size=16;
|
||||||
@@ -112,14 +114,15 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
rsp_size+=8;
|
rsp_size+=8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (a1->type_pointed>=RT_I64 && (a1->type&TY_MASK==TY_DISP ||
|
if (a1->type_pointed_to>=RT_I64 && (a1->type&TY_MASK==TY_DISP ||
|
||||||
a1->type&TY_MASK==TY_RIP_DISP32 || a1->type&TY_MASK==TY_SIB)) {
|
a1->type&TY_MASK==TY_RIP_DISP32 || a1->type&TY_MASK==TY_SIB)) {
|
||||||
t1=a1->type_pointed+a1->type&TY_MASK;
|
t1=a1->type_pointed_to+a1->type&TY_MASK;
|
||||||
r1=a1->reg;
|
r1=a1->reg;
|
||||||
d1=a1->disp;
|
d1=a1->disp;
|
||||||
p1_mem=TRUE;
|
p1_mem=TRUE;
|
||||||
} else {
|
} else {
|
||||||
ICPush(tempi,a1->type_pointed+a1->type&TY_MASK,a1->reg,a1->disp,ip);
|
ICPush(tempi,
|
||||||
|
a1->type_pointed_to+a1->type&TY_MASK,a1->reg,a1->disp,ip);
|
||||||
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
||||||
rsp_size+=8;
|
rsp_size+=8;
|
||||||
if (r2==REG_RSP+REG_RSP<<8)
|
if (r2==REG_RSP+REG_RSP<<8)
|
||||||
@@ -127,7 +130,7 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!rsp_size && !(p1_mem && a1->type_pointed==RT_F64)) {
|
if (!rsp_size && !(p1_mem && a1->type_pointed_to==RT_F64)) {
|
||||||
rsp_size=8;
|
rsp_size=8;
|
||||||
ICAddRSP(tempi,-8);
|
ICAddRSP(tempi,-8);
|
||||||
}
|
}
|
||||||
@@ -143,7 +146,7 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
}
|
}
|
||||||
ICSlashOp(tempi,t1,r1,d1,op,ip);
|
ICSlashOp(tempi,t1,r1,d1,op,ip);
|
||||||
CmpNoteFloatOp(cc,tempi,TRUE,FALSE,CN_MAIN);
|
CmpNoteFloatOp(cc,tempi,TRUE,FALSE,CN_MAIN);
|
||||||
if (p1_mem && a1->type_pointed==RT_F64) {
|
if (p1_mem && a1->type_pointed_to==RT_F64) {
|
||||||
ICSlashOp(tempi,t1,r1,d1,SLASH_OP_FSTP,ip);
|
ICSlashOp(tempi,t1,r1,d1,SLASH_OP_FSTP,ip);
|
||||||
if (rsp_size)
|
if (rsp_size)
|
||||||
ICAddRSP(tempi,rsp_size);
|
ICAddRSP(tempi,rsp_size);
|
||||||
@@ -156,39 +159,39 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
SLASH_OP_FSTP,ip);
|
SLASH_OP_FSTP,ip);
|
||||||
ICAddRSP(tempi,rsp_size-8);
|
ICAddRSP(tempi,rsp_size-8);
|
||||||
}
|
}
|
||||||
if (a1->type_pointed!=RT_F64) {
|
if (a1->type_pointed_to!=RT_F64) {
|
||||||
ICPop(tempi,TY_REG+RT_I64,REG_RAX,0,ip);
|
ICPop(tempi,TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,TRUE,ip);
|
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,TRUE,ip);
|
||||||
ICMov(tempi,a1->type&TY_MASK+a1->type_pointed,a1->reg,a1->disp,
|
ICMov(tempi,a1->type&TY_MASK+a1->type_pointed_to,a1->reg,a1->disp,
|
||||||
TY_REG+RT_I64,REG_RAX,0,ip);
|
TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
} else
|
} else
|
||||||
ICPop(tempi,a1->type_pointed+a1->type&TY_MASK,a1->reg,a1->disp,ip);
|
ICPop(tempi,a1->type_pointed_to+a1->type&TY_MASK,a1->reg,a1->disp,ip);
|
||||||
}
|
}
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
a1->type&TY_MASK+a1->type_pointed,a1->reg,a1->disp,ip);
|
a1->type&TY_MASK+a1->type_pointed_to,a1->reg,a1->disp,ip);
|
||||||
} else {
|
} else {
|
||||||
if (a1->type_pointed>=RT_I64)
|
if (a1->type_pointed_to>=RT_I64)
|
||||||
p1_mem=TRUE;
|
p1_mem=TRUE;
|
||||||
else
|
else
|
||||||
p1_mem=FALSE;
|
p1_mem=FALSE;
|
||||||
if (dont_push_float) {
|
if (dont_push_float) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,a1->type,a1->reg,a1->disp,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,a1->type,a1->reg,a1->disp,ip);
|
||||||
if (a1->type_pointed!=RT_F64) {
|
if (a1->type_pointed_to!=RT_F64) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,
|
||||||
TY_DISP+a1->type_pointed,REG_RCX,0,ip);
|
TY_DISP+a1->type_pointed_to,REG_RCX,0,ip);
|
||||||
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,FALSE,ip);
|
||||||
ICPush(tempi,TY_REG+RT_I64,REG_RAX,0,ip);
|
ICPush(tempi,TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
} else
|
} else
|
||||||
ICPush(tempi,a1->type_pointed+TY_DISP,REG_RCX,0,ip);
|
ICPush(tempi,a1->type_pointed_to+TY_DISP,REG_RCX,0,ip);
|
||||||
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
||||||
rsp_size+=8;
|
rsp_size+=8;
|
||||||
} else if (tempi->ic_flags & ICF_A1_FIRST) {
|
} else if (tempi->ic_flags & ICF_A1_FIRST) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,a1->type,a1->reg,a1->disp,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,a1->type,a1->reg,a1->disp,ip);
|
||||||
if (a1->type_pointed!=RT_F64 || a2->type&TY_MASK==TY_STK) {
|
if (a1->type_pointed_to!=RT_F64 || a2->type&TY_MASK==TY_STK) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
||||||
TY_DISP+a1->type_pointed,REG_RCX,0,ip);
|
TY_DISP+a1->type_pointed_to,REG_RCX,0,ip);
|
||||||
if (a1->type_pointed!=RT_F64)
|
if (a1->type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,a2->type,a2->reg,a2->disp,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,a2->type,a2->reg,a2->disp,ip);
|
||||||
|
|
||||||
@@ -197,7 +200,7 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=8;
|
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=8;
|
||||||
t2=TY_SIB+RT_I64; r2=REG_RSP+REG_RSP<<8; d2=0;
|
t2=TY_SIB+RT_I64; r2=REG_RSP+REG_RSP<<8; d2=0;
|
||||||
} else {
|
} else {
|
||||||
ICPush(tempi,TY_DISP+a1->type_pointed,REG_RCX,0,ip);
|
ICPush(tempi,TY_DISP+a1->type_pointed_to,REG_RCX,0,ip);
|
||||||
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
||||||
rsp_size+=8;
|
rsp_size+=8;
|
||||||
if (a2->type&RT_MASK>=RT_I64 && (a2->type&TY_MASK==TY_DISP ||
|
if (a2->type&RT_MASK>=RT_I64 && (a2->type&TY_MASK==TY_DISP ||
|
||||||
@@ -222,12 +225,12 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (a1->type_pointed!=RT_F64 || a1->type&TY_MASK==TY_STK) {
|
if (a1->type_pointed_to!=RT_F64 || a1->type&TY_MASK==TY_STK) {
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,a2->type,a2->reg,a2->disp,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RAX,0,a2->type,a2->reg,a2->disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,a1->type,a1->reg,a1->disp,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,a1->type,a1->reg,a1->disp,ip);
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
ICMov(tempi,TY_REG+RT_I64,REG_RDX,0,
|
||||||
TY_DISP+a1->type_pointed,REG_RCX,0,ip);
|
TY_DISP+a1->type_pointed_to,REG_RCX,0,ip);
|
||||||
if (a1->type_pointed!=RT_F64)
|
if (a1->type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
ICFCvt2(cc,tempi,REG_RDX,TY_REG+RT_I64,REG_RDX,0,FALSE,ip);
|
||||||
ICU16(tempi,0x5052); //PUSH EDX PUSH EAX
|
ICU16(tempi,0x5052); //PUSH EDX PUSH EAX
|
||||||
rsp_size=16;
|
rsp_size=16;
|
||||||
@@ -253,14 +256,14 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,a1->type,a1->reg,a1->disp,ip);
|
ICMov(tempi,TY_REG+RT_I64,REG_RCX,0,a1->type,a1->reg,a1->disp,ip);
|
||||||
ICPush(tempi,TY_DISP+a1->type_pointed,REG_RCX,0,ip);
|
ICPush(tempi,TY_DISP+a1->type_pointed_to,REG_RCX,0,ip);
|
||||||
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
t1=TY_SIB+RT_I64; r1=REG_RSP+REG_RSP<<8; d1=0;
|
||||||
rsp_size+=8;
|
rsp_size+=8;
|
||||||
if (r2==REG_RSP+REG_RSP<<8)
|
if (r2==REG_RSP+REG_RSP<<8)
|
||||||
d2+=8;
|
d2+=8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!rsp_size && !(p1_mem && a1->type_pointed==RT_F64)) {
|
if (!rsp_size && !(p1_mem && a1->type_pointed_to==RT_F64)) {
|
||||||
rsp_size=8;
|
rsp_size=8;
|
||||||
ICAddRSP(tempi,-8);
|
ICAddRSP(tempi,-8);
|
||||||
}
|
}
|
||||||
@@ -277,8 +280,8 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
}
|
}
|
||||||
ICSlashOp(tempi,t1,r1,d1,op,ip);
|
ICSlashOp(tempi,t1,r1,d1,op,ip);
|
||||||
CmpNoteFloatOp(cc,tempi,TRUE,FALSE,CN_MAIN);
|
CmpNoteFloatOp(cc,tempi,TRUE,FALSE,CN_MAIN);
|
||||||
if (p1_mem && a1->type_pointed==RT_F64) {
|
if (p1_mem && a1->type_pointed_to==RT_F64) {
|
||||||
ICSlashOp(tempi,TY_DISP+a1->type_pointed,REG_RCX,0,
|
ICSlashOp(tempi,TY_DISP+a1->type_pointed_to,REG_RCX,0,
|
||||||
SLASH_OP_FSTP,ip);
|
SLASH_OP_FSTP,ip);
|
||||||
if (rsp_size)
|
if (rsp_size)
|
||||||
ICAddRSP(tempi,rsp_size);
|
ICAddRSP(tempi,rsp_size);
|
||||||
@@ -292,9 +295,9 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tempi,I64 op,U8 *buf2,I64 ip)
|
|||||||
ICAddRSP(tempi,rsp_size-8);
|
ICAddRSP(tempi,rsp_size-8);
|
||||||
}
|
}
|
||||||
ICPop(tempi,TY_REG+RT_I64,REG_RAX,0,ip);
|
ICPop(tempi,TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
if (a1->type_pointed!=RT_F64)
|
if (a1->type_pointed_to!=RT_F64)
|
||||||
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,TRUE,ip);
|
ICFCvt2(cc,tempi,REG_RAX,TY_REG+RT_I64,REG_RAX,0,TRUE,ip);
|
||||||
ICMov(tempi,TY_DISP+a1->type_pointed,REG_RCX,0,
|
ICMov(tempi,TY_DISP+a1->type_pointed_to,REG_RCX,0,
|
||||||
TY_REG+RT_I64,REG_RAX,0,ip);
|
TY_REG+RT_I64,REG_RAX,0,ip);
|
||||||
}
|
}
|
||||||
if (tempi->r.type&TY_MASK)
|
if (tempi->r.type&TY_MASK)
|
||||||
@@ -569,13 +572,13 @@ U0 ICFCmpAndBranch(CCmpCtrl *cc,CIntermediateCode *tempi,I64 ip,
|
|||||||
U0 ICFMul(CCmpCtrl *cc,CIntermediateCode *tempi,U8 *buf,I64 ip)
|
U0 ICFMul(CCmpCtrl *cc,CIntermediateCode *tempi,U8 *buf,I64 ip)
|
||||||
{
|
{
|
||||||
if (tempi->a1.type&TY_MASK==TY_IMM &&
|
if (tempi->a1.type&TY_MASK==TY_IMM &&
|
||||||
tempi->a1.type_pointed&RT_MASK==RT_F64 &&
|
tempi->a1.type_pointed_to&RT_MASK==RT_F64 &&
|
||||||
tempi->a1.disp(F64)==1.0) {
|
tempi->a1.disp(F64)==1.0) {
|
||||||
CmpNoteFloatOp(cc,tempi,FALSE,FALSE,CN_MAIN);
|
CmpNoteFloatOp(cc,tempi,FALSE,FALSE,CN_MAIN);
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
tempi->a2.type,tempi->a2.reg,tempi->a2.disp,ip);
|
||||||
} else if (tempi->a2.type&TY_MASK==TY_IMM &&
|
} else if (tempi->a2.type&TY_MASK==TY_IMM &&
|
||||||
tempi->a2.type_pointed&RT_MASK==RT_F64 &&
|
tempi->a2.type_pointed_to&RT_MASK==RT_F64 &&
|
||||||
tempi->a2.disp(F64)==1.0) {
|
tempi->a2.disp(F64)==1.0) {
|
||||||
CmpNoteFloatOp(cc,tempi,FALSE,FALSE,CN_MAIN);
|
CmpNoteFloatOp(cc,tempi,FALSE,FALSE,CN_MAIN);
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
@@ -587,7 +590,7 @@ U0 ICFMul(CCmpCtrl *cc,CIntermediateCode *tempi,U8 *buf,I64 ip)
|
|||||||
U0 ICFDiv(CCmpCtrl *cc,CIntermediateCode *tempi,U8 *buf,I64 ip)
|
U0 ICFDiv(CCmpCtrl *cc,CIntermediateCode *tempi,U8 *buf,I64 ip)
|
||||||
{
|
{
|
||||||
if (tempi->a2.type&TY_MASK==TY_IMM &&
|
if (tempi->a2.type&TY_MASK==TY_IMM &&
|
||||||
tempi->a2.type_pointed&RT_MASK==RT_F64 &&
|
tempi->a2.type_pointed_to&RT_MASK==RT_F64 &&
|
||||||
tempi->a2.disp(F64)==1.0) {
|
tempi->a2.disp(F64)==1.0) {
|
||||||
CmpNoteFloatOp(cc,tempi,FALSE,FALSE,CN_MAIN);
|
CmpNoteFloatOp(cc,tempi,FALSE,FALSE,CN_MAIN);
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ I64 ICModr1(I64 r,I64 t2,I64 r2,I64 d2)
|
|||||||
|
|
||||||
U0 ICModr2(CIntermediateCode *tempi,I64 i,I64 d,I64 ip=0)
|
U0 ICModr2(CIntermediateCode *tempi,I64 i,I64 d,I64 ip=0)
|
||||||
{//t=0 means no SIB
|
{//t=0 means no SIB
|
||||||
nobound_switch (i.u8[0]) {
|
switch [i.u8[0]] {
|
||||||
case MDR_REG:
|
case MDR_REG:
|
||||||
break;
|
break;
|
||||||
case MDR_INDIRECT_REG:
|
case MDR_INDIRECT_REG:
|
||||||
@@ -648,8 +648,8 @@ U0 ICDeref(CIntermediateCode *tempi,I64 ip)
|
|||||||
{
|
{
|
||||||
I64 t;
|
I64 t;
|
||||||
t=tempi->r.type&RT_MASK;
|
t=tempi->r.type&RT_MASK;
|
||||||
if (t>tempi->a1.type_pointed)
|
if (t>tempi->a1.type_pointed_to)
|
||||||
t=tempi->a1.type_pointed;
|
t=tempi->a1.type_pointed_to;
|
||||||
if (tempi->a1.type&TY_MASK==TY_REG)
|
if (tempi->a1.type&TY_MASK==TY_REG)
|
||||||
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
ICMov(tempi,tempi->r.type,tempi->r.reg,tempi->r.disp,
|
||||||
TY_DISP+t,tempi->a1.reg,tempi->a1.disp,ip);
|
TY_DISP+t,tempi->a1.reg,tempi->a1.disp,ip);
|
||||||
|
|||||||
@@ -140,10 +140,10 @@ U0 ICClassPut(CHashClass *c)
|
|||||||
|
|
||||||
U0 ICArgPut(CICArg *a)
|
U0 ICArgPut(CICArg *a)
|
||||||
{
|
{
|
||||||
if (a->type_pointed)
|
if (a->type_pointed_to)
|
||||||
"%Z %Z %Z ",
|
"%Z %Z %Z ",
|
||||||
a->type&RT_MASK,"ST_RAW_TYPES",
|
a->type&RT_MASK,"ST_RAW_TYPES",
|
||||||
a->type_pointed&RT_MASK,"ST_RAW_TYPES",
|
a->type_pointed_to&RT_MASK,"ST_RAW_TYPES",
|
||||||
a->type>>4,"ST_TY_TYPES";
|
a->type>>4,"ST_TY_TYPES";
|
||||||
else
|
else
|
||||||
"%Z %Z ",
|
"%Z %Z ",
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ import U0 DocBinsValidate(CDoc *doc);
|
|||||||
import U0 DocDel(CDoc *doc);
|
import U0 DocDel(CDoc *doc);
|
||||||
import U0 DocLoad(CDoc *doc,U8 *src2,I64 size);
|
import U0 DocLoad(CDoc *doc,U8 *src2,I64 size);
|
||||||
import CDoc *DocNew(U8 *filename=NULL,CTask *task=NULL);
|
import CDoc *DocNew(U8 *filename=NULL,CTask *task=NULL);
|
||||||
import CDocEntry *DocPrint(CDoc *doc,U8 *fmt,...);
|
import CDocEntry *DocPrint(CDoc *doc=NULL,U8 *fmt,...);
|
||||||
import CDocEntry *DocPutLine(CDoc *doc,CDocEntry *doc_e);
|
import CDocEntry *DocPutLine(CDoc *doc,CDocEntry *doc_e);
|
||||||
import I64 DocSize(CDoc *doc);
|
import I64 DocSize(CDoc *doc);
|
||||||
import Bool DocWrite(CDoc *doc,Bool prompt=FALSE);
|
import Bool DocWrite(CDoc *doc,Bool prompt=FALSE);
|
||||||
|
|||||||
+4
-4
@@ -184,7 +184,7 @@ U0 CmpFixUpJITAsm(CCmpCtrl *cc,CAOT *tempaot)
|
|||||||
while (tempa) {
|
while (tempa) {
|
||||||
tempa1=tempa->next;
|
tempa1=tempa->next;
|
||||||
ptr=ip2+tempa->ip;
|
ptr=ip2+tempa->ip;
|
||||||
nobound_switch (tempa->type) {
|
switch [tempa->type] {
|
||||||
case AAT_ADD_U8: *ptr(U8 *) +=ip2; break;
|
case AAT_ADD_U8: *ptr(U8 *) +=ip2; break;
|
||||||
case AAT_SUB_U8: *ptr(U8 *) -=ip2; break;
|
case AAT_SUB_U8: *ptr(U8 *) -=ip2; break;
|
||||||
case AAT_ADD_U16: *ptr(U16 *)+=ip2; break;
|
case AAT_ADD_U16: *ptr(U16 *)+=ip2; break;
|
||||||
@@ -250,7 +250,7 @@ U0 CmpFixUpJITAsm(CCmpCtrl *cc,CAOT *tempaot)
|
|||||||
}
|
}
|
||||||
if (tempex || g_lb) {
|
if (tempex || g_lb) {
|
||||||
ptr=tempie->ip+ip2;
|
ptr=tempie->ip+ip2;
|
||||||
nobound_switch (tempie->type) {
|
switch [tempie->type] {
|
||||||
case IET_REL_I0:
|
case IET_REL_I0:
|
||||||
case IET_IMM_U0:
|
case IET_IMM_U0:
|
||||||
break;
|
break;
|
||||||
@@ -313,7 +313,7 @@ U0 CmpFixUpAOTAsm(CCmpCtrl *cc,CAOT *tempaot)
|
|||||||
tempa1=tempa->next;
|
tempa1=tempa->next;
|
||||||
tempa->next=aotc->abss;
|
tempa->next=aotc->abss;
|
||||||
ptr=tempaot->buf+tempaot->ip+tempa->ip;
|
ptr=tempaot->buf+tempaot->ip+tempa->ip;
|
||||||
nobound_switch (tempa->type) {
|
switch [tempa->type] {
|
||||||
case AAT_ADD_U8: *ptr(U8 *)+=ip2; break;
|
case AAT_ADD_U8: *ptr(U8 *)+=ip2; break;
|
||||||
case AAT_SUB_U8: *ptr(U8 *)-=ip2; break;
|
case AAT_SUB_U8: *ptr(U8 *)-=ip2; break;
|
||||||
case AAT_ADD_U16: *ptr(U16 *)+=ip2; break;
|
case AAT_ADD_U16: *ptr(U16 *)+=ip2; break;
|
||||||
@@ -350,7 +350,7 @@ U0 CmpFixUpAOTAsm(CCmpCtrl *cc,CAOT *tempaot)
|
|||||||
ptr=tempaot->buf+tempaot->ip+tempie->ip;
|
ptr=tempaot->buf+tempaot->ip+tempie->ip;
|
||||||
if (g_lb) {
|
if (g_lb) {
|
||||||
i=g_lb->addr+tempaot->buf;
|
i=g_lb->addr+tempaot->buf;
|
||||||
nobound_switch (tempie->type) {
|
switch [tempie->type] {
|
||||||
case IET_REL_I0:
|
case IET_REL_I0:
|
||||||
case IET_IMM_U0:
|
case IET_IMM_U0:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Binary file not shown.
+115
-129
@@ -21,11 +21,11 @@ $LK,"AsmStoreNum",A="FL:::/Compiler/Asm.CPP.Z,263",BI=18$
|
|||||||
$LK,"MDR_SIB_D8_INDIRECT_REG",A="FL:::/Compiler/BackLib.CPP.Z,137"$
|
$LK,"MDR_SIB_D8_INDIRECT_REG",A="FL:::/Compiler/BackLib.CPP.Z,137"$
|
||||||
$LK,"OptPass012",A="FL:::/Compiler/OptPass012.CPP.Z,23",BI=19$
|
$LK,"OptPass012",A="FL:::/Compiler/OptPass012.CPP.Z,23",BI=19$
|
||||||
$LK,"MemberLstSize",A="FL:::/Compiler/LexLib.CPP.Z,191",BI=20$
|
$LK,"MemberLstSize",A="FL:::/Compiler/LexLib.CPP.Z,191",BI=20$
|
||||||
$LK,"ICQueIns",A="FL:::/Compiler/BackC.CPP.Z,411",BI=21$
|
$LK,"ICQueIns",A="FL:::/Compiler/BackC.CPP.Z,412",BI=21$
|
||||||
$LK,"ICAndBranch",A="FL:::/Compiler/BackC.CPP.Z,1",BI=22$
|
$LK,"ICAndBranch",A="FL:::/Compiler/BackC.CPP.Z,1",BI=22$
|
||||||
$LK,"MDR_D8_INDIRECT_REG",A="FL:::/Compiler/BackLib.CPP.Z,134"$
|
$LK,"MDR_D8_INDIRECT_REG",A="FL:::/Compiler/BackLib.CPP.Z,134"$
|
||||||
$LK,"U",A="FL:::/Compiler/UAsm.CPP.Z,649",BI=23$
|
$LK,"U",A="FL:::/Compiler/UAsm.CPP.Z,649",BI=23$
|
||||||
$LK,"ICQueRem",A="FL:::/Compiler/BackC.CPP.Z,493",BI=24$
|
$LK,"ICQueRem",A="FL:::/Compiler/BackC.CPP.Z,494",BI=24$
|
||||||
$LK,"CN_R",A="FL:::/Compiler/BackFA.CPP.Z,4"$
|
$LK,"CN_R",A="FL:::/Compiler/BackFA.CPP.Z,4"$
|
||||||
$LK,"OptLead1",A="FL:::/Compiler/OptLib.CPP.Z,73",BI=25$
|
$LK,"OptLead1",A="FL:::/Compiler/OptLib.CPP.Z,73",BI=25$
|
||||||
$LK,"CmpNoteFloatOp",A="FL:::/Compiler/BackFA.CPP.Z,6",BI=26$
|
$LK,"CmpNoteFloatOp",A="FL:::/Compiler/BackFA.CPP.Z,6",BI=26$
|
||||||
@@ -75,7 +75,7 @@ $LK,"ICAdd",A="FL:::/Compiler/PrsLib.CPP.Z,79",BI=53$
|
|||||||
$LK,"CmpRawType",A="FL:::/Compiler/OptLib.CPP.Z,509",BI=54$
|
$LK,"CmpRawType",A="FL:::/Compiler/OptLib.CPP.Z,509",BI=54$
|
||||||
$LK,"ICFOpEqu",A="FL:::/Compiler/BackFB.CPP.Z,1",BI=55$
|
$LK,"ICFOpEqu",A="FL:::/Compiler/BackFB.CPP.Z,1",BI=55$
|
||||||
$LK,"LexExpressionI64",A="FL:::/Compiler/PrsExp.CPP.Z,1135",BI=56$
|
$LK,"LexExpressionI64",A="FL:::/Compiler/PrsExp.CPP.Z,1135",BI=56$
|
||||||
$LK,"ICQueInsRev",A="FL:::/Compiler/BackC.CPP.Z,452",BI=57$
|
$LK,"ICQueInsRev",A="FL:::/Compiler/BackC.CPP.Z,453",BI=57$
|
||||||
$LK,"LexExpression",A="FL:::/Compiler/PrsExp.CPP.Z,1163",BI=58$
|
$LK,"LexExpression",A="FL:::/Compiler/PrsExp.CPP.Z,1163",BI=58$
|
||||||
$LK,"PrsExpression",A="FL:::/Compiler/PrsExp.CPP.Z,264",BI=59$
|
$LK,"PrsExpression",A="FL:::/Compiler/PrsExp.CPP.Z,264",BI=59$
|
||||||
$LK,"PrsClassNew",A="FL:::/Compiler/PrsLib.CPP.Z,40",BI=60$
|
$LK,"PrsClassNew",A="FL:::/Compiler/PrsLib.CPP.Z,40",BI=60$
|
||||||
@@ -87,7 +87,7 @@ $LK,"OptPass5",A="FL:::/Compiler/OptPass5.CPP.Z,1",BI=64$
|
|||||||
$LK,"OptPass6",A="FL:::/Compiler/OptPass6.CPP.Z,111",BI=65$
|
$LK,"OptPass6",A="FL:::/Compiler/OptPass6.CPP.Z,111",BI=65$
|
||||||
$LK,"Echo",A="FL:::/Compiler/CMisc.CPP.Z,24",BI=66$
|
$LK,"Echo",A="FL:::/Compiler/CMisc.CPP.Z,24",BI=66$
|
||||||
$LK,"PrsGlblVarLst",A="FL:::/Compiler/PrsStmt.CPP.Z,201",BI=67$
|
$LK,"PrsGlblVarLst",A="FL:::/Compiler/PrsStmt.CPP.Z,201",BI=67$
|
||||||
$LK,"ICQueInit",A="FL:::/Compiler/BackC.CPP.Z,397",BI=68$
|
$LK,"ICQueInit",A="FL:::/Compiler/BackC.CPP.Z,398",BI=68$
|
||||||
$LK,"ICCmp",A="FL:::/Compiler/BackB.CPP.Z,136",BI=69$
|
$LK,"ICCmp",A="FL:::/Compiler/BackB.CPP.Z,136",BI=69$
|
||||||
$LK,"ICAddRSP",A="FL:::/Compiler/BackLib.CPP.Z,69",BI=70$
|
$LK,"ICAddRSP",A="FL:::/Compiler/BackLib.CPP.Z,69",BI=70$
|
||||||
$LK,"ICDiv",A="FL:::/Compiler/BackA.CPP.Z,428",BI=71$
|
$LK,"ICDiv",A="FL:::/Compiler/BackA.CPP.Z,428",BI=71$
|
||||||
@@ -111,7 +111,7 @@ $LK,"OptSetNOP1",A="FL:::/Compiler/OptLib.CPP.Z,17",BI=87$
|
|||||||
$LK,"OptPass789A",A="FL:::/Compiler/OptPass789A.CPP.Z,1",BI=88$
|
$LK,"OptPass789A",A="FL:::/Compiler/OptPass789A.CPP.Z,1",BI=88$
|
||||||
$LK,"OptSetNOP2",A="FL:::/Compiler/OptLib.CPP.Z,25",BI=89$
|
$LK,"OptSetNOP2",A="FL:::/Compiler/OptLib.CPP.Z,25",BI=89$
|
||||||
$LK,"FBO1_F64",A="FL:::/Compiler/OptLib.CPP.Z,94"$
|
$LK,"FBO1_F64",A="FL:::/Compiler/OptLib.CPP.Z,94"$
|
||||||
$LK,"ICXorEqu",A="FL:::/Compiler/BackC.CPP.Z,736",BI=90$
|
$LK,"ICXorEqu",A="FL:::/Compiler/BackC.CPP.Z,737",BI=90$
|
||||||
$LK,"ICToUpper",A="FL:::/Compiler/BackB.CPP.Z,355",BI=91$
|
$LK,"ICToUpper",A="FL:::/Compiler/BackB.CPP.Z,355",BI=91$
|
||||||
$LK,"AsmLexExpression",A="FL:::/Compiler/AsmLib.CPP.Z,129",BI=92$
|
$LK,"AsmLexExpression",A="FL:::/Compiler/AsmLib.CPP.Z,129",BI=92$
|
||||||
$LK,"ICMov",A="FL:::/Compiler/BackLib.CPP.Z,435",BI=93$
|
$LK,"ICMov",A="FL:::/Compiler/BackLib.CPP.Z,435",BI=93$
|
||||||
@@ -126,12 +126,12 @@ $LK,"ICSub",A="FL:::/Compiler/BackA.CPP.Z,207",BI=99$
|
|||||||
$LK,"COCFloatConstFind",A="FL:::/Compiler/PrsLib.CPP.Z,164",BI=100$
|
$LK,"COCFloatConstFind",A="FL:::/Compiler/PrsLib.CPP.Z,164",BI=100$
|
||||||
$LK,"ICPut",A="FL:::/Compiler/CExcept.CPP.Z,186",BI=101$
|
$LK,"ICPut",A="FL:::/Compiler/CExcept.CPP.Z,186",BI=101$
|
||||||
$LK,"PrsArrayDims",A="FL:::/Compiler/PrsVar.CPP.Z,247",BI=102$
|
$LK,"PrsArrayDims",A="FL:::/Compiler/PrsVar.CPP.Z,247",BI=102$
|
||||||
$LK,"ICSqr",A="FL:::/Compiler/BackC.CPP.Z,581",BI=103$
|
$LK,"ICSqr",A="FL:::/Compiler/BackC.CPP.Z,582",BI=103$
|
||||||
$LK,"FBO1_NOT_CONST",A="FL:::/Compiler/OptLib.CPP.Z,92"$
|
$LK,"FBO1_NOT_CONST",A="FL:::/Compiler/OptLib.CPP.Z,92"$
|
||||||
$LK,"CMP_TEMPLATES_DONT_POP",A="FL:::/Compiler/Templates.CPP.Z,178"$
|
$LK,"CMP_TEMPLATES_DONT_POP",A="FL:::/Compiler/Templates.CPP.Z,178"$
|
||||||
$LK,"PrsClass",A="FL:::/Compiler/PrsStmt.CPP.Z,1",BI=104$
|
$LK,"PrsClass",A="FL:::/Compiler/PrsStmt.CPP.Z,1",BI=104$
|
||||||
$LK,"MemberMetaData",A="FL:::/Compiler/LexLib.CPP.Z,45",BI=105$
|
$LK,"MemberMetaData",A="FL:::/Compiler/LexLib.CPP.Z,45",BI=105$
|
||||||
$LK,"ICSwitch",A="FL:::/Compiler/BackC.CPP.Z,757",BI=106$
|
$LK,"ICSwitch",A="FL:::/Compiler/BackC.CPP.Z,758",BI=106$
|
||||||
$LK,"OptBrNotZero",A="FL:::/Compiler/OptLib.CPP.Z,358",BI=107$
|
$LK,"OptBrNotZero",A="FL:::/Compiler/OptLib.CPP.Z,358",BI=107$
|
||||||
$LK,"LexPutToken",A="FL:::/Compiler/CExcept.CPP.Z,1",BI=108$
|
$LK,"LexPutToken",A="FL:::/Compiler/CExcept.CPP.Z,1",BI=108$
|
||||||
$LK,"SLASH_OP_FDIV",A="FL:::/Compiler/BackLib.CPP.Z,268"$
|
$LK,"SLASH_OP_FDIV",A="FL:::/Compiler/BackLib.CPP.Z,268"$
|
||||||
@@ -140,14 +140,14 @@ $LK,"UAsmHashLoad",A="FL:::/Compiler/UAsm.CPP.Z,188",BI=110$
|
|||||||
$LK,"UnusedExternWarning",A="FL:::/Compiler/CExcept.CPP.Z,104",BI=111$
|
$LK,"UnusedExternWarning",A="FL:::/Compiler/CExcept.CPP.Z,104",BI=111$
|
||||||
$LK,"SLASH_OP_FILD",A="FL:::/Compiler/BackLib.CPP.Z,273"$
|
$LK,"SLASH_OP_FILD",A="FL:::/Compiler/BackLib.CPP.Z,273"$
|
||||||
$LK,"ICXorXor",A="FL:::/Compiler/BackB.CPP.Z,98",BI=112$
|
$LK,"ICXorXor",A="FL:::/Compiler/BackB.CPP.Z,98",BI=112$
|
||||||
$LK,"PrsTryBlk",A="FL:::/Compiler/PrsStmt.CPP.Z,831",BI=113$
|
$LK,"PrsTryBlk",A="FL:::/Compiler/PrsStmt.CPP.Z,838",BI=113$
|
||||||
$LK,"CInit",A="FL:::/Compiler/CMain.CPP.Z,684",BI=114$
|
$LK,"CInit",A="FL:::/Compiler/CMain.CPP.Z,684",BI=114$
|
||||||
$LK,"MemberMetaFind",A="FL:::/Compiler/LexLib.CPP.Z,56",BI=115$
|
$LK,"MemberMetaFind",A="FL:::/Compiler/LexLib.CPP.Z,56",BI=115$
|
||||||
$LK,"ExePrint2",A="FL:::/Compiler/CMain.CPP.Z,646",BI=116$
|
$LK,"ExePrint2",A="FL:::/Compiler/CMain.CPP.Z,646",BI=116$
|
||||||
$LK,"FBO1_INT",A="FL:::/Compiler/OptLib.CPP.Z,93"$
|
$LK,"FBO1_INT",A="FL:::/Compiler/OptLib.CPP.Z,93"$
|
||||||
$LK,"PE_DO_UNARY_OP",A="FL:::/Compiler/PrsExp.CPP.Z,8"$
|
$LK,"PE_DO_UNARY_OP",A="FL:::/Compiler/PrsExp.CPP.Z,8"$
|
||||||
$LK,"PrsVarInit",A="FL:::/Compiler/PrsVar.CPP.Z,1",BI=117$
|
$LK,"PrsVarInit",A="FL:::/Compiler/PrsVar.CPP.Z,1",BI=117$
|
||||||
$LK,"ICOrEqu",A="FL:::/Compiler/BackC.CPP.Z,715",BI=118$
|
$LK,"ICOrEqu",A="FL:::/Compiler/BackC.CPP.Z,716",BI=118$
|
||||||
$LK,"ICModr1",A="FL:::/Compiler/BackLib.CPP.Z,141",BI=119$
|
$LK,"ICModr1",A="FL:::/Compiler/BackLib.CPP.Z,141",BI=119$
|
||||||
$LK,"ICModr2",A="FL:::/Compiler/BackLib.CPP.Z,223",BI=120$
|
$LK,"ICModr2",A="FL:::/Compiler/BackLib.CPP.Z,223",BI=120$
|
||||||
$LK,"SLASH_OP_FMUL",A="FL:::/Compiler/BackLib.CPP.Z,267"$
|
$LK,"SLASH_OP_FMUL",A="FL:::/Compiler/BackLib.CPP.Z,267"$
|
||||||
@@ -162,20 +162,20 @@ $LK,"SLASH_OP_IMUL",A="FL:::/Compiler/BackLib.CPP.Z,259"$
|
|||||||
$LK,"SLASH_OP_FSTP",A="FL:::/Compiler/BackLib.CPP.Z,271"$
|
$LK,"SLASH_OP_FSTP",A="FL:::/Compiler/BackLib.CPP.Z,271"$
|
||||||
$LK,"COCDel",A="FL:::/Compiler/PrsLib.CPP.Z,186",BI=127$
|
$LK,"COCDel",A="FL:::/Compiler/PrsLib.CPP.Z,186",BI=127$
|
||||||
$LK,"PE_UNARY_TERM1",A="FL:::/Compiler/PrsExp.CPP.Z,1"$
|
$LK,"PE_UNARY_TERM1",A="FL:::/Compiler/PrsExp.CPP.Z,1"$
|
||||||
$LK,"ICFAdd",A="FL:::/Compiler/BackFB.CPP.Z,599",BI=128$
|
$LK,"ICFAdd",A="FL:::/Compiler/BackFB.CPP.Z,602",BI=128$
|
||||||
$LK,"PE_UNARY_TERM2",A="FL:::/Compiler/PrsExp.CPP.Z,2"$
|
$LK,"PE_UNARY_TERM2",A="FL:::/Compiler/PrsExp.CPP.Z,2"$
|
||||||
$LK,"CmdLinePmt",A="FL:::/Compiler/CMisc.CPP.Z,88",BI=129$
|
$LK,"CmdLinePmt",A="FL:::/Compiler/CMisc.CPP.Z,88",BI=129$
|
||||||
$LK,"AsmMakeArgMask",A="FL:::/Compiler/Asm.CPP.Z,172",BI=130$
|
$LK,"AsmMakeArgMask",A="FL:::/Compiler/Asm.CPP.Z,172",BI=130$
|
||||||
$LK,"COCHeaderPut",A="FL:::/Compiler/PrsLib.CPP.Z,229",BI=131$
|
$LK,"COCHeaderPut",A="FL:::/Compiler/PrsLib.CPP.Z,229",BI=131$
|
||||||
$LK,"PrsGlblInit",A="FL:::/Compiler/PrsVar.CPP.Z,206",BI=132$
|
$LK,"PrsGlblInit",A="FL:::/Compiler/PrsVar.CPP.Z,206",BI=132$
|
||||||
$LK,"ICAndEqu",A="FL:::/Compiler/BackC.CPP.Z,694",BI=133$
|
$LK,"ICAndEqu",A="FL:::/Compiler/BackC.CPP.Z,695",BI=133$
|
||||||
$LK,"LexD2I32",A="FL:::/Compiler/CMisc.CPP.Z,52",BI=134$
|
$LK,"LexD2I32",A="FL:::/Compiler/CMisc.CPP.Z,52",BI=134$
|
||||||
$LK,"MemberLstNew",A="FL:::/Compiler/LexLib.CPP.Z,150",BI=135$
|
$LK,"MemberLstNew",A="FL:::/Compiler/LexLib.CPP.Z,150",BI=135$
|
||||||
$LK,"LexD3I32",A="FL:::/Compiler/CMisc.CPP.Z,68",BI=136$
|
$LK,"LexD3I32",A="FL:::/Compiler/CMisc.CPP.Z,68",BI=136$
|
||||||
$LK,"OptClassFwd",A="FL:::/Compiler/OptLib.CPP.Z,9",BI=137$
|
$LK,"OptClassFwd",A="FL:::/Compiler/OptLib.CPP.Z,9",BI=137$
|
||||||
$LK,"ICFCmp",A="FL:::/Compiler/BackFA.CPP.Z,545",BI=138$
|
$LK,"ICFCmp",A="FL:::/Compiler/BackFA.CPP.Z,545",BI=138$
|
||||||
$LK,"PrsSwitch",A="FL:::/Compiler/PrsStmt.CPP.Z,575",BI=139$
|
$LK,"PrsSwitch",A="FL:::/Compiler/PrsStmt.CPP.Z,575",BI=139$
|
||||||
$LK,"ICFDiv",A="FL:::/Compiler/BackFB.CPP.Z,587",BI=140$
|
$LK,"ICFDiv",A="FL:::/Compiler/BackFB.CPP.Z,590",BI=140$
|
||||||
$LK,"AOTStoreCodeU8At",A="FL:::/Compiler/AsmLib.CPP.Z,108",BI=141$
|
$LK,"AOTStoreCodeU8At",A="FL:::/Compiler/AsmLib.CPP.Z,108",BI=141$
|
||||||
$LK,"PE_PUSH_LOWER",A="FL:::/Compiler/PrsExp.CPP.Z,11"$
|
$LK,"PE_PUSH_LOWER",A="FL:::/Compiler/PrsExp.CPP.Z,11"$
|
||||||
$LK,"OptPass6Lag",A="FL:::/Compiler/OptPass6.CPP.Z,28",BI=142$
|
$LK,"OptPass6Lag",A="FL:::/Compiler/OptPass6.CPP.Z,28",BI=142$
|
||||||
@@ -188,7 +188,7 @@ $LK,"PrsOffsetOf",A="FL:::/Compiler/PrsExp.CPP.Z,348",BI=148$
|
|||||||
$LK,"MDR_REG",A="FL:::/Compiler/BackLib.CPP.Z,132"$
|
$LK,"MDR_REG",A="FL:::/Compiler/BackLib.CPP.Z,132"$
|
||||||
$LK,"GetOption",A="FL:::/Compiler/CMisc.CPP.Z,6",BI=149$
|
$LK,"GetOption",A="FL:::/Compiler/CMisc.CPP.Z,6",BI=149$
|
||||||
$LK,"PrsDoWhile",A="FL:::/Compiler/PrsStmt.CPP.Z,503",BI=150$
|
$LK,"PrsDoWhile",A="FL:::/Compiler/PrsStmt.CPP.Z,503",BI=150$
|
||||||
$LK,"ICShift",A="FL:::/Compiler/BackA.CPP.Z,693",BI=151$
|
$LK,"ICShift",A="FL:::/Compiler/BackA.CPP.Z,694",BI=151$
|
||||||
$LK,"ICFMod",A="FL:::/Compiler/BackFA.CPP.Z,249",BI=152$
|
$LK,"ICFMod",A="FL:::/Compiler/BackFA.CPP.Z,249",BI=152$
|
||||||
$LK,"COCPop",A="FL:::/Compiler/PrsLib.CPP.Z,121",BI=153$
|
$LK,"COCPop",A="FL:::/Compiler/PrsLib.CPP.Z,121",BI=153$
|
||||||
$LK,"PrsExpression2",A="FL:::/Compiler/PrsExp.CPP.Z,65",BI=154$
|
$LK,"PrsExpression2",A="FL:::/Compiler/PrsExp.CPP.Z,65",BI=154$
|
||||||
@@ -196,12 +196,12 @@ $LK,"SLASH_OP_PUSH",A="FL:::/Compiler/BackLib.CPP.Z,262"$
|
|||||||
$LK,"PE_DEREFERENCE",A="FL:::/Compiler/PrsExp.CPP.Z,5"$
|
$LK,"PE_DEREFERENCE",A="FL:::/Compiler/PrsExp.CPP.Z,5"$
|
||||||
$LK,"LexPopRestore",A="FL:::/Compiler/LexLib.CPP.Z,23",BI=155$
|
$LK,"LexPopRestore",A="FL:::/Compiler/LexLib.CPP.Z,23",BI=155$
|
||||||
$LK,"ICUnaries",A="FL:::/Compiler/BackB.CPP.Z,1",BI=156$
|
$LK,"ICUnaries",A="FL:::/Compiler/BackB.CPP.Z,1",BI=156$
|
||||||
$LK,"ICFMul",A="FL:::/Compiler/BackFB.CPP.Z,569",BI=157$
|
$LK,"ICFMul",A="FL:::/Compiler/BackFB.CPP.Z,572",BI=157$
|
||||||
$LK,"ICShiftEqu",A="FL:::/Compiler/BackA.CPP.Z,726",BI=158$
|
$LK,"ICShiftEqu",A="FL:::/Compiler/BackA.CPP.Z,727",BI=158$
|
||||||
$LK,"LexExpression2Bin",A="FL:::/Compiler/PrsExp.CPP.Z,1112",BI=159$
|
$LK,"LexExpression2Bin",A="FL:::/Compiler/PrsExp.CPP.Z,1112",BI=159$
|
||||||
$LK,"ICFPow",A="FL:::/Compiler/BackFA.CPP.Z,280",BI=160$
|
$LK,"ICFPow",A="FL:::/Compiler/BackFA.CPP.Z,280",BI=160$
|
||||||
$LK,"MapFileWrite",A="FL:::/Compiler/CHash.CPP.Z,90",BI=161$
|
$LK,"MapFileWrite",A="FL:::/Compiler/CHash.CPP.Z,90",BI=161$
|
||||||
$LK,"ICFSub",A="FL:::/Compiler/BackFB.CPP.Z,635",BI=162$
|
$LK,"ICFSub",A="FL:::/Compiler/BackFB.CPP.Z,638",BI=162$
|
||||||
$LK,"ICFModEqu",A="FL:::/Compiler/BackFA.CPP.Z,585",BI=163$
|
$LK,"ICFModEqu",A="FL:::/Compiler/BackFA.CPP.Z,585",BI=163$
|
||||||
$LK,"CmpF1PushPop",A="FL:::/Compiler/OptLib.CPP.Z,529",BI=164$
|
$LK,"CmpF1PushPop",A="FL:::/Compiler/OptLib.CPP.Z,529",BI=164$
|
||||||
$LK,"OptFree",A="FL:::/Compiler/OptLib.CPP.Z,33",BI=165$
|
$LK,"OptFree",A="FL:::/Compiler/OptLib.CPP.Z,33",BI=165$
|
||||||
@@ -225,7 +225,7 @@ $LK,"OptIC6",A="FL:::/Compiler/OptPass6.CPP.Z,1",BI=177$
|
|||||||
$LK,"ICCmpAndBranch",A="FL:::/Compiler/BackB.CPP.Z,556",BI=178$
|
$LK,"ICCmpAndBranch",A="FL:::/Compiler/BackB.CPP.Z,556",BI=178$
|
||||||
$LK,"ICDivEqu",A="FL:::/Compiler/BackA.CPP.Z,452",BI=179$
|
$LK,"ICDivEqu",A="FL:::/Compiler/BackA.CPP.Z,452",BI=179$
|
||||||
$LK,"PrsWhile",A="FL:::/Compiler/PrsStmt.CPP.Z,483",BI=180$
|
$LK,"PrsWhile",A="FL:::/Compiler/PrsStmt.CPP.Z,483",BI=180$
|
||||||
$LK,"ICFCmpAndBranch",A="FL:::/Compiler/BackFB.CPP.Z,306",BI=181$
|
$LK,"ICFCmpAndBranch",A="FL:::/Compiler/BackFB.CPP.Z,309",BI=181$
|
||||||
$LK,"Lex",A="FL:::/Compiler/Lex.CPP.Z,442",BI=182$
|
$LK,"Lex",A="FL:::/Compiler/Lex.CPP.Z,442",BI=182$
|
||||||
$LK,"ICTestAndBranch",A="FL:::/Compiler/BackB.CPP.Z,736",BI=183$
|
$LK,"ICTestAndBranch",A="FL:::/Compiler/BackB.CPP.Z,736",BI=183$
|
||||||
$LK,"uasm",A="FL:::/Compiler/Compiler.PRJ.Z,21"$
|
$LK,"uasm",A="FL:::/Compiler/Compiler.PRJ.Z,21"$
|
||||||
@@ -253,34 +253,34 @@ $LK,"MemberFind",A="FL:::/Compiler/LexLib.CPP.Z,67",BI=196$
|
|||||||
$LK,"cmp",A="FL:::/Compiler/Compiler.PRJ.Z,16"$
|
$LK,"cmp",A="FL:::/Compiler/Compiler.PRJ.Z,16"$
|
||||||
$LK,"OptLag",A="FL:::/Compiler/OptLib.CPP.Z,40",BI=197$
|
$LK,"OptLag",A="FL:::/Compiler/OptLib.CPP.Z,40",BI=197$
|
||||||
$LK,"ICPostIncDec",A="FL:::/Compiler/BackB.CPP.Z,434",BI=198$
|
$LK,"ICPostIncDec",A="FL:::/Compiler/BackB.CPP.Z,434",BI=198$
|
||||||
$LK,"ICFPostIncDec",A="FL:::/Compiler/BackFB.CPP.Z,677",BI=199$
|
$LK,"ICFPostIncDec",A="FL:::/Compiler/BackFB.CPP.Z,680",BI=199$
|
||||||
$LK,"ICTest",A="FL:::/Compiler/BackLib.CPP.Z,403",BI=200$
|
$LK,"ICTest",A="FL:::/Compiler/BackLib.CPP.Z,403",BI=200$
|
||||||
$LK,"ICModU64",A="FL:::/Compiler/BackC.CPP.Z,588",BI=201$
|
$LK,"ICModU64",A="FL:::/Compiler/BackC.CPP.Z,589",BI=201$
|
||||||
$LK,"ICLastIns",A="FL:::/Compiler/BackLib.CPP.Z,59",BI=202$
|
$LK,"ICLastIns",A="FL:::/Compiler/BackLib.CPP.Z,59",BI=202$
|
||||||
$LK,"PrsAsmImm",A="FL:::/Compiler/Asm.CPP.Z,1",BI=203$
|
$LK,"PrsAsmImm",A="FL:::/Compiler/Asm.CPP.Z,1",BI=203$
|
||||||
$LK,"LexExtStr",A="FL:::/Compiler/LexLib.CPP.Z,218",BI=204$
|
$LK,"LexExtStr",A="FL:::/Compiler/LexLib.CPP.Z,218",BI=204$
|
||||||
$LK,"ICAddSubEctEqu",A="FL:::/Compiler/BackA.CPP.Z,545",BI=205$
|
$LK,"ICAddSubEctEqu",A="FL:::/Compiler/BackA.CPP.Z,545",BI=205$
|
||||||
$LK,"ICAddSubEctImm",A="FL:::/Compiler/BackA.CPP.Z,57",BI=206$
|
$LK,"ICAddSubEctImm",A="FL:::/Compiler/BackA.CPP.Z,57",BI=206$
|
||||||
$LK,"ICPush",A="FL:::/Compiler/BackLib.CPP.Z,303",BI=207$
|
$LK,"ICPush",A="FL:::/Compiler/BackLib.CPP.Z,303",BI=207$
|
||||||
$LK,"ICSwap",A="FL:::/Compiler/BackC.CPP.Z,632",BI=208$
|
$LK,"ICSwap",A="FL:::/Compiler/BackC.CPP.Z,633",BI=208$
|
||||||
$LK,"CMP_TEMPLATES_DONT_PUSH",A="FL:::/Compiler/Templates.CPP.Z,267"$
|
$LK,"CMP_TEMPLATES_DONT_PUSH",A="FL:::/Compiler/Templates.CPP.Z,267"$
|
||||||
$LK,"intermediate_code_table",A="FL:::/Compiler/CInit.CPP.Z,16"$
|
$LK,"intermediate_code_table",A="FL:::/Compiler/CInit.CPP.Z,16"$
|
||||||
$LK,"ICZero",A="FL:::/Compiler/BackLib.CPP.Z,394",BI=209$
|
$LK,"ICZero",A="FL:::/Compiler/BackLib.CPP.Z,394",BI=209$
|
||||||
$LK,"CmpCtrlDel",A="FL:::/Compiler/Lex.CPP.Z,58",BI=210$
|
$LK,"CmpCtrlDel",A="FL:::/Compiler/Lex.CPP.Z,58",BI=210$
|
||||||
$LK,"ICClassPut",A="FL:::/Compiler/CExcept.CPP.Z,117",BI=211$
|
$LK,"ICClassPut",A="FL:::/Compiler/CExcept.CPP.Z,117",BI=211$
|
||||||
$LK,"ICAssign",A="FL:::/Compiler/BackC.CPP.Z,159",BI=212$
|
$LK,"ICAssign",A="FL:::/Compiler/BackC.CPP.Z,159",BI=212$
|
||||||
$LK,"ICFTemplateFun",A="FL:::/Compiler/BackFB.CPP.Z,701",BI=213$
|
$LK,"ICFTemplateFun",A="FL:::/Compiler/BackFB.CPP.Z,704",BI=213$
|
||||||
$LK,"MemberAdd",A="FL:::/Compiler/LexLib.CPP.Z,103",BI=214$
|
$LK,"MemberAdd",A="FL:::/Compiler/LexLib.CPP.Z,103",BI=214$
|
||||||
$LK,"PrsPush",A="FL:::/Compiler/PrsLib.CPP.Z,1",BI=215$
|
$LK,"PrsPush",A="FL:::/Compiler/PrsLib.CPP.Z,1",BI=215$
|
||||||
$LK,"SLASH_OP_FDIVR",A="FL:::/Compiler/BackLib.CPP.Z,269"$
|
$LK,"SLASH_OP_FDIVR",A="FL:::/Compiler/BackLib.CPP.Z,269"$
|
||||||
$LK,"SLASH_OP_FISTTP",A="FL:::/Compiler/BackLib.CPP.Z,272"$
|
$LK,"SLASH_OP_FISTTP",A="FL:::/Compiler/BackLib.CPP.Z,272"$
|
||||||
$LK,"CmpCtrlSize",A="FL:::/Compiler/Lex.CPP.Z,70",BI=216$
|
$LK,"CmpCtrlSize",A="FL:::/Compiler/Lex.CPP.Z,70",BI=216$
|
||||||
$LK,"ICLocalVarInit",A="FL:::/Compiler/BackC.CPP.Z,923",BI=217$
|
$LK,"ICLocalVarInit",A="FL:::/Compiler/BackC.CPP.Z,924",BI=217$
|
||||||
$LK,"PrsFor",A="FL:::/Compiler/PrsStmt.CPP.Z,526",BI=218$
|
$LK,"PrsFor",A="FL:::/Compiler/PrsStmt.CPP.Z,526",BI=218$
|
||||||
$LK,"PassTrace",A="FL:::/Compiler/CMisc.CPP.Z,11",BI=219$
|
$LK,"PassTrace",A="FL:::/Compiler/CMisc.CPP.Z,11",BI=219$
|
||||||
$LK,"PrsPopDeref",A="FL:::/Compiler/PrsLib.CPP.Z,21",BI=220$
|
$LK,"PrsPopDeref",A="FL:::/Compiler/PrsLib.CPP.Z,21",BI=220$
|
||||||
$LK,"ICCopyTemplate",A="FL:::/Compiler/BackFA.CPP.Z,75",BI=221$
|
$LK,"ICCopyTemplate",A="FL:::/Compiler/BackFA.CPP.Z,75",BI=221$
|
||||||
$LK,"PrsStmt",A="FL:::/Compiler/PrsStmt.CPP.Z,893",BI=222$
|
$LK,"PrsStmt",A="FL:::/Compiler/PrsStmt.CPP.Z,900",BI=222$
|
||||||
$LK,"PrsFun",A="FL:::/Compiler/PrsStmt.CPP.Z,132",BI=223$
|
$LK,"PrsFun",A="FL:::/Compiler/PrsStmt.CPP.Z,132",BI=223$
|
||||||
$LK,"LexIncludeStr",A="FL:::/Compiler/Lex.CPP.Z,298",BI=224$
|
$LK,"LexIncludeStr",A="FL:::/Compiler/Lex.CPP.Z,298",BI=224$
|
||||||
$LK,"PrsType",A="FL:::/Compiler/PrsVar.CPP.Z,287",BI=225$
|
$LK,"PrsType",A="FL:::/Compiler/PrsVar.CPP.Z,287",BI=225$
|
||||||
@@ -289,7 +289,7 @@ $LK,"cmp_type_flags_src_code",A="FL:::/Compiler/Lex.CPP.Z,327"$
|
|||||||
$LK,"PrsVarInit2",A="FL:::/Compiler/PrsVar.CPP.Z,123",BI=227$
|
$LK,"PrsVarInit2",A="FL:::/Compiler/PrsVar.CPP.Z,123",BI=227$
|
||||||
$LK,"PrsPop",A="FL:::/Compiler/PrsLib.CPP.Z,6",BI=228$
|
$LK,"PrsPop",A="FL:::/Compiler/PrsLib.CPP.Z,6",BI=228$
|
||||||
$LK,"asm_seg_prefixes",A="FL:::/Compiler/Asm.CPP.Z,388"$
|
$LK,"asm_seg_prefixes",A="FL:::/Compiler/Asm.CPP.Z,388"$
|
||||||
$LK,"ICMinMax",A="FL:::/Compiler/BackC.CPP.Z,509",BI=229$
|
$LK,"ICMinMax",A="FL:::/Compiler/BackC.CPP.Z,510",BI=229$
|
||||||
$LK,"CmpLoadDefines",A="FL:::/Compiler/CInit.CPP.Z,205",BI=230$
|
$LK,"CmpLoadDefines",A="FL:::/Compiler/CInit.CPP.Z,205",BI=230$
|
||||||
$LK,"PrsIf",A="FL:::/Compiler/PrsStmt.CPP.Z,456",BI=231$
|
$LK,"PrsIf",A="FL:::/Compiler/PrsStmt.CPP.Z,456",BI=231$
|
||||||
$LK,"ICBuiltInFloatConst",A="FL:::/Compiler/BackLib.CPP.Z,413",BI=232$
|
$LK,"ICBuiltInFloatConst",A="FL:::/Compiler/BackLib.CPP.Z,413",BI=232$
|
||||||
@@ -307,12 +307,12 @@ $LK,"PE_CHECK_BINARY_OPS1",A="FL:::/Compiler/PrsExp.CPP.Z,6"$
|
|||||||
$LK,"PE_CHECK_BINARY_OPS2",A="FL:::/Compiler/PrsExp.CPP.Z,7"$
|
$LK,"PE_CHECK_BINARY_OPS2",A="FL:::/Compiler/PrsExp.CPP.Z,7"$
|
||||||
$LK,"LexBackupLastChar",A="FL:::/Compiler/LexLib.CPP.Z,1",BI=242$
|
$LK,"LexBackupLastChar",A="FL:::/Compiler/LexLib.CPP.Z,1",BI=242$
|
||||||
$LK,"Trace",A="FL:::/Compiler/CMisc.CPP.Z,19",BI=243$
|
$LK,"Trace",A="FL:::/Compiler/CMisc.CPP.Z,19",BI=243$
|
||||||
$LK,"ICBrBitOps",A="FL:::/Compiler/BackC.CPP.Z,211",BI=244$
|
$LK,"ICBrBitOps",A="FL:::/Compiler/BackC.CPP.Z,212",BI=244$
|
||||||
$LK,"LexGetChar",A="FL:::/Compiler/Lex.CPP.Z,107",BI=245$
|
$LK,"LexGetChar",A="FL:::/Compiler/Lex.CPP.Z,107",BI=245$
|
||||||
$LK,"LexSkipEol",A="FL:::/Compiler/Lex.CPP.Z,269",BI=246$
|
$LK,"LexSkipEol",A="FL:::/Compiler/Lex.CPP.Z,269",BI=246$
|
||||||
$LK,"ICFlagBranch",A="FL:::/Compiler/BackB.CPP.Z,785",BI=247$
|
$LK,"ICFlagBranch",A="FL:::/Compiler/BackB.CPP.Z,785",BI=247$
|
||||||
$LK,"SLASH_OP_FSUBR",A="FL:::/Compiler/BackLib.CPP.Z,266"$
|
$LK,"SLASH_OP_FSUBR",A="FL:::/Compiler/BackLib.CPP.Z,266"$
|
||||||
$LK,"ICFPreIncDec",A="FL:::/Compiler/BackFB.CPP.Z,657",BI=248$
|
$LK,"ICFPreIncDec",A="FL:::/Compiler/BackFB.CPP.Z,660",BI=248$
|
||||||
$LK,"ExeFile",A="FL:::/Compiler/CMain.CPP.Z,616",BI=249$
|
$LK,"ExeFile",A="FL:::/Compiler/CMain.CPP.Z,616",BI=249$
|
||||||
$LK,"COCMiscNew",A="FL:::/Compiler/PrsLib.CPP.Z,143",BI=250$
|
$LK,"COCMiscNew",A="FL:::/Compiler/PrsLib.CPP.Z,143",BI=250$
|
||||||
$LK,"cmp_templates_dont_pop",A="FL:::/Compiler/CExts.CPP.Z,43"$
|
$LK,"cmp_templates_dont_pop",A="FL:::/Compiler/CExts.CPP.Z,43"$
|
||||||
@@ -323,120 +323,106 @@ $LK,"COCGoToLabelFind",A="FL:::/Compiler/PrsLib.CPP.Z,152",BI=254$
|
|||||||
$LK,"OptMVCompare",A="FL:::/Compiler/OptLib.CPP.Z,556",BI=255$
|
$LK,"OptMVCompare",A="FL:::/Compiler/OptLib.CPP.Z,556",BI=255$
|
||||||
$LK,"ICToBool",A="FL:::/Compiler/BackB.CPP.Z,378",BI=256$
|
$LK,"ICToBool",A="FL:::/Compiler/BackB.CPP.Z,378",BI=256$
|
||||||
$LK,"PrsFunJoin",A="FL:::/Compiler/PrsStmt.CPP.Z,68",BI=257$
|
$LK,"PrsFunJoin",A="FL:::/Compiler/PrsStmt.CPP.Z,68",BI=257$
|
||||||
$LK,"PrsNoUnusedWarn",A="FL:::/Compiler/PrsStmt.CPP.Z,780",BI=258$
|
$LK,"PrsNoUnusedWarn",A="FL:::/Compiler/PrsStmt.CPP.Z,787",BI=258$
|
||||||
$LK,"OptFixSizeOf",A="FL:::/Compiler/OptLib.CPP.Z,485",BI=259$
|
$LK,"OptFixSizeOf",A="FL:::/Compiler/OptLib.CPP.Z,485",BI=259$
|
||||||
$LK,"cmp_templates_dont_push",A="FL:::/Compiler/CExts.CPP.Z,45"$
|
$LK,"cmp_templates_dont_push",A="FL:::/Compiler/CExts.CPP.Z,45"$
|
||||||
$LK,"cmp_templates_dont_push_pop",A="FL:::/Compiler/CExts.CPP.Z,46"$
|
$LK,"cmp_templates_dont_push_pop",A="FL:::/Compiler/CExts.CPP.Z,46"$
|
||||||
$LK,"LexAttachDoc",A="FL:::/Compiler/Lex.CPP.Z,330",BI=260$
|
$LK,"LexAttachDoc",A="FL:::/Compiler/Lex.CPP.Z,330",BI=260$
|
||||||
$LK,"PrsStreamBlk",A="FL:::/Compiler/PrsStmt.CPP.Z,794",BI=261$
|
$LK,"PrsStreamBlk",A="FL:::/Compiler/PrsStmt.CPP.Z,801",BI=261$
|
||||||
$LK,"cmp_templates_dont_push2",A="FL:::/Compiler/CExts.CPP.Z,44"$
|
$LK,"cmp_templates_dont_push2",A="FL:::/Compiler/CExts.CPP.Z,44"$
|
||||||
$LK,"InstEntryFind",A="FL:::/Compiler/UAsm.CPP.Z,66",BI=262$
|
$LK,"InstEntryFind",A="FL:::/Compiler/UAsm.CPP.Z,66",BI=262$
|
||||||
$LK,"PrsDotDotDot",A="FL:::/Compiler/PrsVar.CPP.Z,381",BI=263$
|
$LK,"PrsDotDotDot",A="FL:::/Compiler/PrsVar.CPP.Z,381",BI=263$
|
||||||
$LK,"ICMulEqu",A="FL:::/Compiler/BackA.CPP.Z,344",BI=264$
|
$LK,"ICMulEqu",A="FL:::/Compiler/BackA.CPP.Z,344",BI=264$
|
||||||
$LK,"AsmPrsInsFlags",A="FL:::/Compiler/AsmInit.CPP.Z,1",BI=265$
|
$LK,"AsmPrsInsFlags",A="FL:::/Compiler/AsmInit.CPP.Z,1",BI=265$
|
||||||
| |||||||