mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-22 22:09:12 +00:00
Scans additional types again.
This commit is contained in:
parent
5c03d86d49
commit
f9b89c3e80
1 changed files with 10 additions and 12 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue