This commit is contained in:
kudzu_cp 2009-09-13 15:16:08 +00:00
parent b20b92b4cd
commit 2b34fe04cb

View file

@ -476,6 +476,7 @@ namespace Cosmos.IL2CPU {
private long mItemsHandled = 0; private long mItemsHandled = 0;
protected void ScanQueue() { protected void ScanQueue() {
while (mQueue.Count > 0) {
while (mQueue.Count > 0) { while (mQueue.Count > 0) {
if ((mQueue.Count + mItemsHandled) != mItems.Count) { if ((mQueue.Count + mItemsHandled) != mItems.Count) {
Console.Write(""); Console.Write("");
@ -498,9 +499,17 @@ namespace Cosmos.IL2CPU {
throw new Exception("Debug Abort"); throw new Exception("Debug Abort");
} }
} }
// We process all items until no more are added.
// Then we check virtuals again. If it adds more items
// Then we need to repeat the whole process.
CheckVirtuals();
}
Console.WriteLine("ItemsHandled: {0}", mItemsHandled); Console.WriteLine("ItemsHandled: {0}", mItemsHandled);
} }
protected void CheckVirtuals() {
}
protected void LogMapPoint(object aSrc, string aSrcType, object aItem) { protected void LogMapPoint(object aSrc, string aSrcType, object aItem) {
// Keys cant be null. If null, we just say ILScanner is the source // Keys cant be null. If null, we just say ILScanner is the source
if (aSrc == null) { if (aSrc == null) {