Fix value copy crossing function call
This commit is contained in:
parent
8457316815
commit
020ab117a4
|
@ -28385,6 +28385,8 @@ bool NativeCodeBasicBlock::MoveLoadStoreOutOfXYRangeUp(int at)
|
||||||
return false;
|
return false;
|
||||||
if (mIns[at + 2].mMode == ASMIM_ZERO_PAGE && mIns[j].ChangesZeroPage(mIns[at + 2].mAddress))
|
if (mIns[at + 2].mMode == ASMIM_ZERO_PAGE && mIns[j].ChangesZeroPage(mIns[at + 2].mAddress))
|
||||||
return false;
|
return false;
|
||||||
|
if (mIns[j].mType == ASMIT_JSR)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (mIns[j].mType == ASMIT_LDA)
|
if (mIns[j].mType == ASMIT_LDA)
|
||||||
{
|
{
|
||||||
|
@ -45696,7 +45698,7 @@ void NativeCodeProcedure::Compile(InterCodeProcedure* proc)
|
||||||
{
|
{
|
||||||
mInterProc = proc;
|
mInterProc = proc;
|
||||||
|
|
||||||
CheckFunc = !strcmp(mInterProc->mIdent->mString, "KeyExpansion");
|
CheckFunc = !strcmp(mInterProc->mIdent->mString, "vdcwin_get_rect");
|
||||||
|
|
||||||
int nblocks = proc->mBlocks.Size();
|
int nblocks = proc->mBlocks.Size();
|
||||||
tblocks = new NativeCodeBasicBlock * [nblocks];
|
tblocks = new NativeCodeBasicBlock * [nblocks];
|
||||||
|
@ -46518,6 +46520,7 @@ void NativeCodeProcedure::Optimize(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
if (step == 5)
|
if (step == 5)
|
||||||
{
|
{
|
||||||
ResetVisited();
|
ResetVisited();
|
||||||
|
@ -47206,7 +47209,6 @@ void NativeCodeProcedure::Optimize(void)
|
||||||
else
|
else
|
||||||
cnt++;
|
cnt++;
|
||||||
|
|
||||||
|
|
||||||
} while (changed);
|
} while (changed);
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
|
|
Loading…
Reference in New Issue