Fix value copy crossing function call

This commit is contained in:
drmortalwombat 2024-02-17 17:37:47 +01:00
parent 8457316815
commit 020ab117a4

View File

@ -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