diff --git a/oscar64/NativeCodeGenerator.cpp b/oscar64/NativeCodeGenerator.cpp index 64ac5d5..af99741 100644 --- a/oscar64/NativeCodeGenerator.cpp +++ b/oscar64/NativeCodeGenerator.cpp @@ -21352,7 +21352,7 @@ bool NativeCodeBasicBlock::LoopRegisterXYMap(void) { pblock = mProc->AllocateBlock(); pblock->mEntryRequiredRegs = mEntryRequiredRegs; - pblock->mExitRequiredRegs = mExitRequiredRegs; + pblock->mExitRequiredRegs = mEntryRequiredRegs; pblock->Close(pblocks[0]->mBranchIns, this, nullptr, ASMIT_JMP); AddEntryBlock(pblock); for (int i = 0; i < pblocks.Size(); i++) @@ -34761,7 +34761,7 @@ bool NativeCodeBasicBlock::OptimizeSingleEntryLoop(NativeCodeProcedure* proc) { pblock = mProc->AllocateBlock(); pblock->mEntryRequiredRegs = mEntryRequiredRegs; - pblock->mExitRequiredRegs = mExitRequiredRegs; + pblock->mExitRequiredRegs = mEntryRequiredRegs; pblock->Close(pblocks[0]->mBranchIns, this, nullptr, ASMIT_JMP); AddEntryBlock(pblock); for (int i = 0; i < pblocks.Size(); i++) @@ -49225,7 +49225,7 @@ void NativeCodeProcedure::Compile(InterCodeProcedure* proc) mInterProc = proc; mInterProc->mLinkerObject->mNativeProc = this; - CheckFunc = !strcmp(mInterProc->mIdent->mString, "vspr_sort"); + CheckFunc = !strcmp(mInterProc->mIdent->mString, "enemies_check"); int nblocks = proc->mBlocks.Size(); tblocks = new NativeCodeBasicBlock * [nblocks]; @@ -50655,6 +50655,7 @@ void NativeCodeProcedure::Optimize(void) #endif + #if _DEBUG ResetVisited(); mEntryBlock->CheckAsmCode();