diff --git a/oscar64/InterCode.cpp b/oscar64/InterCode.cpp index 1fd2a2b..17613b9 100644 --- a/oscar64/InterCode.cpp +++ b/oscar64/InterCode.cpp @@ -4253,6 +4253,7 @@ InterCodeBasicBlock::InterCodeBasicBlock(InterCodeProcedure * proc) mChecked = false; mTraceIndex = -1; mUnreachable = false; + mValueRangeValid = false; mIndex = proc->mBlocks.Size(); proc->mBlocks.Push(this); @@ -7236,6 +7237,8 @@ void InterCodeBasicBlock::RestartLocalIntegerRangeSets(int num, const GrowingVar { mVisited = true; + mValueRangeValid = false; + mEntryValueRange.SetSize(num, false); mTrueValueRange.SetSize(num, false); mFalseValueRange.SetSize(num, false); @@ -7266,7 +7269,6 @@ void InterCodeBasicBlock::RestartLocalIntegerRangeSets(int num, const GrowingVar vr.mMaxState = IntegerValueRange::S_UNKNOWN; } - UpdateLocalIntegerRangeSets(localVars, paramVars); if (mTrueJump) mTrueJump->RestartLocalIntegerRangeSets(num, localVars, paramVars); @@ -15997,6 +15999,7 @@ void InterCodeProcedure::Close(void) ResetEntryBlocks(); ResetVisited(); mEntryBlock->CollectEntryBlocks(nullptr); + BuildDataFlowSets(); DisassembleDebug("Followed Jumps 2"); diff --git a/oscar64/InterCode.h b/oscar64/InterCode.h index dd3853c..26afdd5 100644 --- a/oscar64/InterCode.h +++ b/oscar64/InterCode.h @@ -349,7 +349,7 @@ public: InterCodeBasicBlock * mTrueJump, * mFalseJump, * mLoopPrefix, * mDominator; GrowingInstructionArray mInstructions; - bool mVisited, mInPath, mLoopHead, mChecked, mConditionBlockTrue, mUnreachable, mLoopPath; + bool mVisited, mInPath, mLoopHead, mChecked, mConditionBlockTrue, mUnreachable, mLoopPath, mValueRangeValid; NumberSet mLocalUsedTemps, mLocalModifiedTemps; NumberSet mLocalRequiredTemps, mLocalProvidedTemps; diff --git a/oscar64/oscar64.cpp b/oscar64/oscar64.cpp index 3b900c1..e9018fb 100644 --- a/oscar64/oscar64.cpp +++ b/oscar64/oscar64.cpp @@ -74,7 +74,7 @@ int main2(int argc, const char** argv) #else strcpy(strProductName, "oscar64"); - strcpy(strProductVersion, "1.19.200"); + strcpy(strProductVersion, "1.19.201"); #ifdef __APPLE__ uint32_t length = sizeof(basePath); diff --git a/oscar64/oscar64.rc b/oscar64/oscar64.rc index a7d4d89..4c05dde 100644 --- a/oscar64/oscar64.rc +++ b/oscar64/oscar64.rc @@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,19,200,0 - PRODUCTVERSION 1,19,200,0 + FILEVERSION 1,19,201,0 + PRODUCTVERSION 1,19,201,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -43,12 +43,12 @@ BEGIN BEGIN VALUE "CompanyName", "oscar64" VALUE "FileDescription", "oscar64 compiler" - VALUE "FileVersion", "1.19.200.0" + VALUE "FileVersion", "1.19.201.0" VALUE "InternalName", "oscar64.exe" VALUE "LegalCopyright", "Copyright (C) 2021" VALUE "OriginalFilename", "oscar64.exe" VALUE "ProductName", "oscar64" - VALUE "ProductVersion", "1.19.200.0" + VALUE "ProductVersion", "1.19.201.0" END END BLOCK "VarFileInfo" diff --git a/oscar64setup/oscar64setup.vdproj b/oscar64setup/oscar64setup.vdproj index 154e0b0..0c40b4f 100644 --- a/oscar64setup/oscar64setup.vdproj +++ b/oscar64setup/oscar64setup.vdproj @@ -5181,15 +5181,15 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:oscar64" - "ProductCode" = "8:{2DADB454-D7FF-4992-B9A1-CA813077CA71}" - "PackageCode" = "8:{656F1CB2-1F64-4848-B038-FD18DD310EC9}" + "ProductCode" = "8:{AED61249-4A7B-4472-9783-1F5014AC87EF}" + "PackageCode" = "8:{7F092DAD-940B-4A03-83D2-B4BC34BC0C44}" "UpgradeCode" = "8:{9AB61EFF-ACAC-4079-9950-8D96615CD4EF}" "AspNetVersion" = "8:2.0.50727.0" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:1.19.200" + "ProductVersion" = "8:1.19.201" "Manufacturer" = "8:oscar64" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:"