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