Fix memory size mismatch in reverse integer range propagation due to register renaming
This commit is contained in:
parent
4eaa6c8b1e
commit
cac7db4358
|
@ -8287,7 +8287,12 @@ void InterCodeBasicBlock::RestartLocalIntegerRangeSets(int num, const GrowingVar
|
||||||
mFalseValueRange.SetSize(num, false);
|
mFalseValueRange.SetSize(num, false);
|
||||||
mLocalValueRange.SetSize(num, false);
|
mLocalValueRange.SetSize(num, false);
|
||||||
mMemoryValueSize.SetSize(num, false);
|
mMemoryValueSize.SetSize(num, false);
|
||||||
mEntryMemoryValueSize.SetSize(num, false);
|
mEntryMemoryValueSize.SetSize(num, true);
|
||||||
|
|
||||||
|
if (mTrueJump && !mTrueJump->mVisited)
|
||||||
|
mTrueJump->mMemoryValueSize.SetSize(num, true);
|
||||||
|
if (mFalseJump && !mFalseJump->mVisited)
|
||||||
|
mFalseJump->mMemoryValueSize.SetSize(num, true);
|
||||||
|
|
||||||
mEntryParamValueRange.SetSize(paramVars.Size(), false);
|
mEntryParamValueRange.SetSize(paramVars.Size(), false);
|
||||||
mTrueParamValueRange.SetSize(paramVars.Size(), false);
|
mTrueParamValueRange.SetSize(paramVars.Size(), false);
|
||||||
|
@ -19292,7 +19297,7 @@ void InterCodeProcedure::Close(void)
|
||||||
{
|
{
|
||||||
GrowingTypeArray tstack(IT_NONE);
|
GrowingTypeArray tstack(IT_NONE);
|
||||||
|
|
||||||
CheckFunc = !strcmp(mIdent->mString, "main");
|
CheckFunc = !strcmp(mIdent->mString, "rebuild_screen");
|
||||||
CheckCase = false;
|
CheckCase = false;
|
||||||
|
|
||||||
mEntryBlock = mBlocks[0];
|
mEntryBlock = mBlocks[0];
|
||||||
|
|
Loading…
Reference in New Issue