Scans additional types again.

This commit is contained in:
kudzu_cp 2009-07-26 00:17:49 +00:00
parent 5c03d86d49
commit f9b89c3e80

View file

@ -107,6 +107,7 @@ namespace Cosmos.IL2CPU {
if (xOpCode is ILOpCodes.OpMethod) {
QueueMethod(((ILOpCodes.OpMethod)xOpCode).Value);
} else if (xOpCode is ILOpCodes.OpType) {
QueueType(((ILOpCodes.OpType)xOpCode).Value);
}
ConstructorInfo xCtor;
@ -116,18 +117,15 @@ namespace Cosmos.IL2CPU {
} else {
xCtor = mILOpsHi[xOpCodeVal & 0xFF];
}
// TODO: Remove this if when all shortcut expansions are completed
if (xCtor != null) {
var xILOp = xCtor.Invoke(new object[] { xOpCode });
// What to pass to Execute method? Passing whole scanner is inappropriate
// Op needs info about branch targets for example
// are all branches within method?
//inherited execute in ILOpX6 for example can emit this label
// MethodLabel + offset since we will need method labels anyways. Method label
// can be based on a UID generated by our compiler. ie 32 bits of UID + 32 bits offset
// UInt64 xUID = xMethodID << 32 | xOffset
//xILOp.Execute(xUID);
}
var xILOp = xCtor.Invoke(new object[] { xOpCode });
// What to pass to Execute method? Passing whole scanner is inappropriate
// Op needs info about branch targets for example
// are all branches within method?
//inherited execute in ILOpX6 for example can emit this label
// MethodLabel + offset since we will need method labels anyways. Method label
// can be based on a UID generated by our compiler. ie 32 bits of UID + 32 bits offset
// UInt64 xUID = xMethodID << 32 | xOffset
//xILOp.Execute(xUID);
}
}
}