Optimize signed int with unsigned char comparison
This commit is contained in:
parent
29bd0c8d2d
commit
c7de44b015
|
@ -60,6 +60,9 @@ rem @echo off
|
|||
@call :test testint32cmp.c
|
||||
@if %errorlevel% neq 0 goto :error
|
||||
|
||||
@call :test mixsigncmptest.c
|
||||
@if %errorlevel% neq 0 goto :error
|
||||
|
||||
@call :test testinterval.c
|
||||
@if %errorlevel% neq 0 goto :error
|
||||
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
#include <assert.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
unsigned n1, n0;
|
||||
|
||||
n1 = 0; n0 = 0;
|
||||
for(int i=-1000; i<2000; i+=37)
|
||||
{
|
||||
for(char j=0; j<255; j++)
|
||||
{
|
||||
if (i < j)
|
||||
n1++;
|
||||
else
|
||||
n0++;
|
||||
}
|
||||
}
|
||||
|
||||
assert(n1 == 7893 && n0 == 13017);
|
||||
|
||||
n1 = 0; n0 = 0;
|
||||
for(int i=-1000; i<2000; i+=37)
|
||||
{
|
||||
for(char j=0; j<255; j++)
|
||||
{
|
||||
if (i <= j)
|
||||
n1++;
|
||||
else
|
||||
n0++;
|
||||
}
|
||||
}
|
||||
|
||||
assert(n1 == 7899 && n0 == 13011);
|
||||
|
||||
n1 = 0; n0 = 0;
|
||||
for(int i=-1000; i<2000; i+=37)
|
||||
{
|
||||
for(char j=0; j<255; j++)
|
||||
{
|
||||
if (i >= j)
|
||||
n1++;
|
||||
else
|
||||
n0++;
|
||||
}
|
||||
}
|
||||
|
||||
assert(n0 == 7893 && n1 == 13017);
|
||||
|
||||
n1 = 0; n0 = 0;
|
||||
for(int i=-1000; i<2000; i+=37)
|
||||
{
|
||||
for(char j=0; j<255; j++)
|
||||
{
|
||||
if (i > j)
|
||||
n1++;
|
||||
else
|
||||
n0++;
|
||||
}
|
||||
}
|
||||
|
||||
assert(n0 == 7899 && n1 == 13011);
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -9694,6 +9694,8 @@ bool NativeCodeBasicBlock::RemoveUnusedResultInstructions(void)
|
|||
{
|
||||
mVisited = true;
|
||||
|
||||
assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size());
|
||||
|
||||
NumberSet requiredRegs(mExitRequiredRegs);
|
||||
int i;
|
||||
|
||||
|
@ -9726,6 +9728,8 @@ bool NativeCodeBasicBlock::RemoveUnusedResultInstructions(void)
|
|||
}
|
||||
}
|
||||
|
||||
assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size());
|
||||
|
||||
if (mTrueJump)
|
||||
{
|
||||
if (mTrueJump->RemoveUnusedResultInstructions())
|
||||
|
@ -13421,7 +13425,7 @@ bool NativeCodeBasicBlock::JoinTAXARange(int from, int to)
|
|||
{
|
||||
for (int i = from + 1; i < to; i++)
|
||||
{
|
||||
if (mIns[i].mMode == ASMIM_ZERO_PAGE && mIns[i].mAddress == mIns[start].mAddress && mIns[i].ChangesAddress())
|
||||
if (mIns[i].mMode == ASMIM_ZERO_PAGE && mIns[i].mAddress == mIns[start - 1].mAddress && mIns[i].ChangesAddress())
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -15035,6 +15039,8 @@ bool NativeCodeBasicBlock::BitFieldForwarding(const NativeRegisterDataSet& data)
|
|||
{
|
||||
mNDataSet = data;
|
||||
|
||||
assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size());
|
||||
|
||||
if (mLoopHead)
|
||||
{
|
||||
mNDataSet.ResetMask();
|
||||
|
@ -15072,6 +15078,8 @@ bool NativeCodeBasicBlock::BitFieldForwarding(const NativeRegisterDataSet& data)
|
|||
|
||||
}
|
||||
|
||||
assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size());
|
||||
|
||||
if (this->mTrueJump && this->mTrueJump->BitFieldForwarding(mNDataSet))
|
||||
changed = true;
|
||||
if (this->mFalseJump && this->mFalseJump->BitFieldForwarding(mFDataSet))
|
||||
|
@ -15087,6 +15095,8 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo
|
|||
|
||||
if (!mVisited)
|
||||
{
|
||||
assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size());
|
||||
|
||||
mNDataSet = data;
|
||||
|
||||
if (mLoopHead)
|
||||
|
@ -15197,13 +15207,18 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo
|
|||
{
|
||||
mBranch = ASMIT_JMP;
|
||||
mTrueJump->mNumEntries--;
|
||||
mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this));
|
||||
if (!mNDataSet.mRegs[CPU_REG_C].mValue)
|
||||
mTrueJump = fork->mFalseJump;
|
||||
else
|
||||
mTrueJump = fork->mTrueJump;
|
||||
mTrueJump->mNumEntries++;
|
||||
mTrueJump->mEntryBlocks.Push(this);
|
||||
if (mFalseJump)
|
||||
{
|
||||
mFalseJump->mNumEntries--;
|
||||
mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this));
|
||||
}
|
||||
mFalseJump = nullptr;
|
||||
changed = true;
|
||||
}
|
||||
|
@ -15213,13 +15228,18 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo
|
|||
{
|
||||
mBranch = ASMIT_JMP;
|
||||
mTrueJump->mNumEntries--;
|
||||
mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this));
|
||||
if (mNDataSet.mRegs[CPU_REG_C].mValue)
|
||||
mTrueJump = fork->mFalseJump;
|
||||
else
|
||||
mTrueJump = fork->mTrueJump;
|
||||
mTrueJump->mNumEntries++;
|
||||
mTrueJump->mEntryBlocks.Push(this);
|
||||
if (mFalseJump)
|
||||
{
|
||||
mFalseJump->mNumEntries--;
|
||||
mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this));
|
||||
}
|
||||
mFalseJump = nullptr;
|
||||
changed = true;
|
||||
}
|
||||
|
@ -15229,13 +15249,18 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo
|
|||
{
|
||||
mBranch = ASMIT_JMP;
|
||||
mTrueJump->mNumEntries--;
|
||||
mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this));
|
||||
if (!mNDataSet.mRegs[CPU_REG_Z].mValue)
|
||||
mTrueJump = fork->mFalseJump;
|
||||
else
|
||||
mTrueJump = fork->mTrueJump;
|
||||
mTrueJump->mNumEntries++;
|
||||
mTrueJump->mEntryBlocks.Push(this);
|
||||
if (mFalseJump)
|
||||
{
|
||||
mFalseJump->mNumEntries--;
|
||||
mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this));
|
||||
}
|
||||
mFalseJump = nullptr;
|
||||
changed = true;
|
||||
}
|
||||
|
@ -15262,13 +15287,18 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo
|
|||
{
|
||||
mBranch = ASMIT_JMP;
|
||||
mTrueJump->mNumEntries--;
|
||||
mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this));
|
||||
if (mNDataSet.mRegs[CPU_REG_Z].mValue)
|
||||
mTrueJump = fork->mFalseJump;
|
||||
else
|
||||
mTrueJump = fork->mTrueJump;
|
||||
mTrueJump->mNumEntries++;
|
||||
mTrueJump->mEntryBlocks.Push(this);
|
||||
if (mFalseJump)
|
||||
{
|
||||
mFalseJump->mNumEntries--;
|
||||
mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this));
|
||||
}
|
||||
mFalseJump = nullptr;
|
||||
changed = true;
|
||||
}
|
||||
|
@ -15278,13 +15308,18 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo
|
|||
{
|
||||
mBranch = ASMIT_JMP;
|
||||
mTrueJump->mNumEntries--;
|
||||
mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this));
|
||||
if ((mNDataSet.mRegs[CPU_REG_Z].mValue & 0x80))
|
||||
mTrueJump = fork->mFalseJump;
|
||||
else
|
||||
mTrueJump = fork->mTrueJump;
|
||||
mTrueJump->mNumEntries++;
|
||||
mTrueJump->mEntryBlocks.Push(this);
|
||||
if (mFalseJump)
|
||||
{
|
||||
mFalseJump->mNumEntries--;
|
||||
mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this));
|
||||
}
|
||||
mFalseJump = nullptr;
|
||||
changed = true;
|
||||
}
|
||||
|
@ -15293,14 +15328,19 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo
|
|||
if (mNDataSet.mRegs[CPU_REG_Z].mMode == NRDM_IMMEDIATE)
|
||||
{
|
||||
mBranch = ASMIT_JMP;
|
||||
mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this));
|
||||
mTrueJump->mNumEntries--;
|
||||
if (!(mNDataSet.mRegs[CPU_REG_Z].mValue & 0x80))
|
||||
mTrueJump = fork->mFalseJump;
|
||||
else
|
||||
mTrueJump = fork->mTrueJump;
|
||||
mTrueJump->mNumEntries++;
|
||||
mTrueJump->mEntryBlocks.Push(this);
|
||||
if (mFalseJump)
|
||||
{
|
||||
mFalseJump->mNumEntries--;
|
||||
mFalseJump->mEntryBlocks.Remove(mFalseJump->mEntryBlocks.IndexOf(this));
|
||||
}
|
||||
mFalseJump = nullptr;
|
||||
changed = true;
|
||||
}
|
||||
|
@ -15331,6 +15371,8 @@ bool NativeCodeBasicBlock::ValueForwarding(const NativeRegisterDataSet& data, bo
|
|||
}
|
||||
}
|
||||
|
||||
assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size());
|
||||
|
||||
if (this->mTrueJump && this->mTrueJump->ValueForwarding(mNDataSet, global, final))
|
||||
changed = true;
|
||||
if (this->mFalseJump && this->mFalseJump->ValueForwarding(mFDataSet, global, final))
|
||||
|
@ -18101,6 +18143,8 @@ bool NativeCodeBasicBlock::PeepHoleOptimizer(NativeCodeProcedure* proc, int pass
|
|||
assert(mBranch != ASMIT_JMP || mFalseJump == nullptr);
|
||||
assert(mIns.Size() == 0 || mIns[0].mType != ASMIT_INV);
|
||||
|
||||
assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size());
|
||||
|
||||
bool changed = RemoveNops();
|
||||
|
||||
mVisited = true;
|
||||
|
@ -21982,6 +22026,64 @@ bool NativeCodeBasicBlock::PeepHoleOptimizer(NativeCodeProcedure* proc, int pass
|
|||
}
|
||||
}
|
||||
|
||||
else if (sz >= 2 &&
|
||||
mIns[sz - 2].mType == ASMIT_EOR && mIns[sz - 2].mMode == ASMIM_IMMEDIATE && mIns[sz - 2].mAddress == 0x80 &&
|
||||
mIns[sz - 1].mType == ASMIT_CMP && mIns[sz - 1].mMode == ASMIM_IMMEDIATE && mIns[sz - 1].mAddress == 0x80 && !(mIns[sz - 1].mLive & LIVE_CPU_REG_A))
|
||||
{
|
||||
if (mBranch == ASMIT_BNE && mTrueJump->mIns.Size() == 0 && mTrueJump->mBranch == ASMIT_BCC)
|
||||
{
|
||||
NativeCodeBasicBlock* tblock = proc->AllocateBlock();
|
||||
|
||||
tblock->mTrueJump = mTrueJump->mTrueJump;
|
||||
tblock->mFalseJump = mTrueJump->mFalseJump;
|
||||
tblock->mBranch = ASMIT_BMI;
|
||||
tblock->mTrueJump->mNumEntries++;
|
||||
tblock->mTrueJump->mEntryBlocks.Push(tblock);
|
||||
tblock->mFalseJump->mNumEntries++;
|
||||
tblock->mFalseJump->mEntryBlocks.Push(tblock);
|
||||
|
||||
mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this));
|
||||
mTrueJump->mNumEntries--;
|
||||
mTrueJump = tblock;
|
||||
tblock->mNumEntries++;
|
||||
tblock->mEntryBlocks.Push(this);
|
||||
|
||||
mIns[sz - 2].mType = ASMIT_NOP; mIns[sz - 2].mMode = ASMIM_IMPLIED;
|
||||
mIns[sz - 1].mType = ASMIT_ORA; mIns[sz - 1].mAddress = 0;
|
||||
}
|
||||
}
|
||||
|
||||
else if (sz >= 4 &&
|
||||
mIns[sz - 4].mType == ASMIT_EOR && mIns[sz - 4].mMode == ASMIM_IMMEDIATE && mIns[sz - 4].mAddress == 0x80 &&
|
||||
mIns[sz - 3].mType == ASMIT_STA && mIns[sz - 3].mMode == ASMIM_ZERO_PAGE &&
|
||||
mIns[sz - 2].mType == ASMIT_LDA && mIns[sz - 2].mMode == ASMIM_IMMEDIATE && mIns[sz - 2].mAddress == 0x80 &&
|
||||
mIns[sz - 1].mType == ASMIT_CMP && mIns[sz - 1].mMode == ASMIM_ZERO_PAGE && mIns[sz - 1].mAddress == mIns[sz - 3].mAddress && !(mIns[sz - 1].mLive & (LIVE_CPU_REG_A | LIVE_MEM)))
|
||||
{
|
||||
if (mBranch == ASMIT_BNE && mTrueJump->mIns.Size() == 0 && mTrueJump->mBranch == ASMIT_BCC)
|
||||
{
|
||||
NativeCodeBasicBlock* tblock = proc->AllocateBlock();
|
||||
|
||||
tblock->mTrueJump = mTrueJump->mFalseJump;
|
||||
tblock->mFalseJump = mTrueJump->mTrueJump;
|
||||
tblock->mBranch = ASMIT_BMI;
|
||||
tblock->mTrueJump->mNumEntries++;
|
||||
tblock->mTrueJump->mEntryBlocks.Push(tblock);
|
||||
tblock->mFalseJump->mNumEntries++;
|
||||
tblock->mFalseJump->mEntryBlocks.Push(tblock);
|
||||
|
||||
mTrueJump->mEntryBlocks.Remove(mTrueJump->mEntryBlocks.IndexOf(this));
|
||||
mTrueJump->mNumEntries--;
|
||||
mTrueJump = tblock;
|
||||
tblock->mNumEntries++;
|
||||
tblock->mEntryBlocks.Push(this);
|
||||
|
||||
mIns[sz - 4].mType = ASMIT_NOP; mIns[sz - 4].mMode = ASMIM_IMPLIED;
|
||||
mIns[sz - 3].mType = ASMIT_NOP; mIns[sz - 3].mMode = ASMIM_IMPLIED;
|
||||
mIns[sz - 2].mType = ASMIT_NOP; mIns[sz - 2].mMode = ASMIM_IMPLIED;
|
||||
mIns[sz - 1].mType = ASMIT_ORA; mIns[sz - 1].mMode = ASMIM_IMMEDIATE; mIns[sz - 1].mAddress = 0;
|
||||
}
|
||||
}
|
||||
|
||||
else if (sz >= 2 &&
|
||||
mIns[sz - 2].mType == ASMIT_LDA && mIns[sz - 2].mMode == ASMIM_IMMEDIATE && mIns[sz - 2].mAddress == 0 &&
|
||||
mIns[sz - 1].mType == ASMIT_SBC && mIns[sz - 1].mMode == ASMIM_IMMEDIATE && mIns[sz - 1].mAddress == 0 && !(mIns[sz - 1].mLive & (LIVE_CPU_REG_A | LIVE_CPU_REG_C)))
|
||||
|
@ -22098,6 +22200,7 @@ bool NativeCodeBasicBlock::PeepHoleOptimizer(NativeCodeProcedure* proc, int pass
|
|||
#endif
|
||||
|
||||
#endif
|
||||
assert(mIndex == 1000 || mNumEntries == mEntryBlocks.Size());
|
||||
|
||||
if (this->mTrueJump && this->mTrueJump->PeepHoleOptimizer(proc, pass))
|
||||
changed = true;
|
||||
|
@ -22256,6 +22359,22 @@ void NativeCodeBasicBlock::BuildPlacement(GrowingArray<NativeCodeBasicBlock*>& p
|
|||
mFalseJump->BuildPlacement(placement);
|
||||
mTrueJump->BuildPlacement(placement);
|
||||
}
|
||||
else if (mTrueJump->mIns.Size() == 0 && mTrueJump->mFalseJump == mFalseJump->mFalseJump && mTrueJump->mTrueJump == mFalseJump->mTrueJump)
|
||||
{
|
||||
mTrueJump->mPlaced = true;
|
||||
mTrueJump->mPlace = placement.Size();
|
||||
placement.Push(mTrueJump);
|
||||
|
||||
mFalseJump->BuildPlacement(placement);
|
||||
}
|
||||
else if (mTrueJump->mIns.Size() == 0 && mTrueJump->mFalseJump == mFalseJump->mTrueJump && mTrueJump->mTrueJump == mFalseJump->mFalseJump)
|
||||
{
|
||||
mTrueJump->mPlaced = true;
|
||||
mTrueJump->mPlace = placement.Size();
|
||||
placement.Push(mTrueJump);
|
||||
|
||||
mFalseJump->BuildPlacement(placement);
|
||||
}
|
||||
else if (
|
||||
!mTrueJump->mFalseJump && mTrueJump->mTrueJump && mTrueJump->mTrueJump->mPlaced && mTrueJump->mCode.Size() < 120 ||
|
||||
mTrueJump->mFalseJump && mTrueJump->mTrueJump && mTrueJump->mFalseJump->mPlaced && mTrueJump->mTrueJump->mPlaced && mTrueJump->mCode.Size() < 120)
|
||||
|
|
|
@ -73,7 +73,7 @@ int main2(int argc, const char** argv)
|
|||
|
||||
#else
|
||||
strcpy(strProductName, "oscar64");
|
||||
strcpy(strProductVersion, "1.6.124");
|
||||
strcpy(strProductVersion, "1.6.125");
|
||||
|
||||
#ifdef __APPLE__
|
||||
uint32_t length = sizeof(basePath);
|
||||
|
|
|
@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL
|
|||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,6,124,0
|
||||
PRODUCTVERSION 1,6,124,0
|
||||
FILEVERSION 1,6,125,0
|
||||
PRODUCTVERSION 1,6,125,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
|
@ -43,12 +43,12 @@ BEGIN
|
|||
BEGIN
|
||||
VALUE "CompanyName", "oscar64"
|
||||
VALUE "FileDescription", "oscar64 compiler"
|
||||
VALUE "FileVersion", "1.6.124.0"
|
||||
VALUE "FileVersion", "1.6.125.0"
|
||||
VALUE "InternalName", "oscar64.exe"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2021"
|
||||
VALUE "OriginalFilename", "oscar64.exe"
|
||||
VALUE "ProductName", "oscar64"
|
||||
VALUE "ProductVersion", "1.6.124.0"
|
||||
VALUE "ProductVersion", "1.6.125.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
|
|
@ -34,12 +34,6 @@
|
|||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_03D7013B0D39A89CEA9D267005ADCE39"
|
||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_04ABABC55200450383686DD782DD1548"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
|
@ -166,12 +160,6 @@
|
|||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_326B44043E3720E0A341FB5627DA8873"
|
||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_3277DE1463544F67B7E7390175F8A9CF"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
|
@ -184,12 +172,6 @@
|
|||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_36B4A1247BFCE001E1BAE7560E9CFEEA"
|
||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_379EE3C17FEC4C5EA79D07668CD05FC4"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
|
@ -262,12 +244,6 @@
|
|||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_458189403F0009BC49371204B74F3BD3"
|
||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_47A877D439EE429BAB64C52FEF69EDA4"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
|
@ -394,12 +370,6 @@
|
|||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_749A2BA18335F50EB53CCE7029861FBC"
|
||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_749F54DFBD4D404DA9C2E2D5BA7CDDBF"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
|
@ -460,12 +430,6 @@
|
|||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8667075410229C38BF63AC1CC776055E"
|
||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_8827B6B07A1C4B32B08DF784E090381D"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
|
@ -790,12 +754,6 @@
|
|||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_DD5A4DD822437085CD584319732F2D4D"
|
||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_DEADBEA270134B77800770802B21859C"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
|
@ -856,12 +814,6 @@
|
|||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_EA3C0BCB01F2639DFA2E37EC8436E5F6"
|
||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_ED872D39D58443D590B7C80604BC0FF4"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
|
@ -892,12 +844,6 @@
|
|||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_F20F5618C7576D758C01D89C87469AF8"
|
||||
"OwnerKey" = "8:_FB2E467BC172457785F4279BB0BFE8B6"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
}
|
||||
"Entry"
|
||||
{
|
||||
"MsmKey" = "8:_F35970F9D8FA46B09F36D7E9DE5532CA"
|
||||
"OwnerKey" = "8:_UNDEFINED"
|
||||
"MsmSig" = "8:_UNDEFINED"
|
||||
|
@ -1079,26 +1025,6 @@
|
|||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_03D7013B0D39A89CEA9D267005ADCE39"
|
||||
{
|
||||
"SourcePath" = "8:VCRUNTIME140.dll"
|
||||
"TargetName" = "8:VCRUNTIME140.dll"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_04ABABC55200450383686DD782DD1548"
|
||||
{
|
||||
"SourcePath" = "8:..\\samples\\games\\lander.c"
|
||||
|
@ -1519,26 +1445,6 @@
|
|||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_326B44043E3720E0A341FB5627DA8873"
|
||||
{
|
||||
"SourcePath" = "8:api-ms-win-crt-stdio-l1-1-0.dll"
|
||||
"TargetName" = "8:api-ms-win-crt-stdio-l1-1-0.dll"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3277DE1463544F67B7E7390175F8A9CF"
|
||||
{
|
||||
"SourcePath" = "8:..\\samples\\rasterirq\\autocrawler.c"
|
||||
|
@ -1579,26 +1485,6 @@
|
|||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_36B4A1247BFCE001E1BAE7560E9CFEEA"
|
||||
{
|
||||
"SourcePath" = "8:api-ms-win-crt-math-l1-1-0.dll"
|
||||
"TargetName" = "8:api-ms-win-crt-math-l1-1-0.dll"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_379EE3C17FEC4C5EA79D07668CD05FC4"
|
||||
{
|
||||
"SourcePath" = "8:..\\samples\\memmap\\easyflash.c"
|
||||
|
@ -1839,26 +1725,6 @@
|
|||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_458189403F0009BC49371204B74F3BD3"
|
||||
{
|
||||
"SourcePath" = "8:api-ms-win-crt-string-l1-1-0.dll"
|
||||
"TargetName" = "8:api-ms-win-crt-string-l1-1-0.dll"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_47A877D439EE429BAB64C52FEF69EDA4"
|
||||
{
|
||||
"SourcePath" = "8:..\\samples\\memmap\\largemem.c"
|
||||
|
@ -2279,26 +2145,6 @@
|
|||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_749A2BA18335F50EB53CCE7029861FBC"
|
||||
{
|
||||
"SourcePath" = "8:api-ms-win-crt-runtime-l1-1-0.dll"
|
||||
"TargetName" = "8:api-ms-win-crt-runtime-l1-1-0.dll"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_749F54DFBD4D404DA9C2E2D5BA7CDDBF"
|
||||
{
|
||||
"SourcePath" = "8:..\\samples\\resources\\breakoutchars.bin"
|
||||
|
@ -2499,26 +2345,6 @@
|
|||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8667075410229C38BF63AC1CC776055E"
|
||||
{
|
||||
"SourcePath" = "8:api-ms-win-crt-filesystem-l1-1-0.dll"
|
||||
"TargetName" = "8:api-ms-win-crt-filesystem-l1-1-0.dll"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8827B6B07A1C4B32B08DF784E090381D"
|
||||
{
|
||||
"SourcePath" = "8:..\\samples\\memmap\\tsr.c"
|
||||
|
@ -3599,26 +3425,6 @@
|
|||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DD5A4DD822437085CD584319732F2D4D"
|
||||
{
|
||||
"SourcePath" = "8:api-ms-win-crt-heap-l1-1-0.dll"
|
||||
"TargetName" = "8:api-ms-win-crt-heap-l1-1-0.dll"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DEADBEA270134B77800770802B21859C"
|
||||
{
|
||||
"SourcePath" = "8:..\\samples\\games\\connectfour.c"
|
||||
|
@ -3819,26 +3625,6 @@
|
|||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EA3C0BCB01F2639DFA2E37EC8436E5F6"
|
||||
{
|
||||
"SourcePath" = "8:VERSION.dll"
|
||||
"TargetName" = "8:VERSION.dll"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_ED872D39D58443D590B7C80604BC0FF4"
|
||||
{
|
||||
"SourcePath" = "8:..\\samples\\kernalio\\fileread.c"
|
||||
|
@ -3939,26 +3725,6 @@
|
|||
"IsDependency" = "11:FALSE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F20F5618C7576D758C01D89C87469AF8"
|
||||
{
|
||||
"SourcePath" = "8:api-ms-win-crt-locale-l1-1-0.dll"
|
||||
"TargetName" = "8:api-ms-win-crt-locale-l1-1-0.dll"
|
||||
"Tag" = "8:"
|
||||
"Folder" = "8:_607E75AF0E2A4CB9908C4C39DF8FE6E4"
|
||||
"Condition" = "8:"
|
||||
"Transitive" = "11:FALSE"
|
||||
"Vital" = "11:TRUE"
|
||||
"ReadOnly" = "11:FALSE"
|
||||
"Hidden" = "11:FALSE"
|
||||
"System" = "11:FALSE"
|
||||
"Permanent" = "11:FALSE"
|
||||
"SharedLegacy" = "11:FALSE"
|
||||
"PackageAs" = "3:1"
|
||||
"Register" = "3:1"
|
||||
"Exclude" = "11:FALSE"
|
||||
"IsDependency" = "11:TRUE"
|
||||
"IsolateTo" = "8:"
|
||||
}
|
||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F35970F9D8FA46B09F36D7E9DE5532CA"
|
||||
{
|
||||
"SourcePath" = "8:..\\include\\c64\\charwin.h"
|
||||
|
@ -4335,15 +4101,15 @@
|
|||
{
|
||||
"Name" = "8:Microsoft Visual Studio"
|
||||
"ProductName" = "8:oscar64"
|
||||
"ProductCode" = "8:{F5C14785-E716-4D8A-8390-DBB8B4DEEA8D}"
|
||||
"PackageCode" = "8:{86E78AF0-FBD2-4C41-8643-0068DA813076}"
|
||||
"ProductCode" = "8:{012BAFFC-85BE-4D95-A9FB-7203B5435FF1}"
|
||||
"PackageCode" = "8:{ABEDA3FF-5D70-41AE-9FBC-FA8BCE3C85E7}"
|
||||
"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.6.124"
|
||||
"ProductVersion" = "8:1.6.125"
|
||||
"Manufacturer" = "8:oscar64"
|
||||
"ARPHELPTELEPHONE" = "8:"
|
||||
"ARPHELPLINK" = "8:"
|
||||
|
|
Loading…
Reference in New Issue