This commit is contained in:
yck1509 2014-05-27 20:44:40 +08:00
Родитель 809c2689f8
Коммит 23e3060fb2
2 изменённых файлов: 9 добавлений и 9 удалений

Просмотреть файл

@ -322,13 +322,13 @@ namespace Confuser.Runtime {
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
private struct ICorClassInfo { private struct ICorClassInfo {
public readonly IntPtr* vfptr; public IntPtr* vfptr;
} }
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
private struct ICorDynamicInfo { private struct ICorDynamicInfo {
public readonly IntPtr* vfptr; public IntPtr* vfptr;
public readonly int* vbptr; public int* vbptr;
public static ICorStaticInfo* ICorStaticInfo(ICorDynamicInfo* ptr) { public static ICorStaticInfo* ICorStaticInfo(ICorDynamicInfo* ptr) {
return (ICorStaticInfo*) ((byte*) &ptr->vbptr + ptr->vbptr[hasLinkInfo ? 9 : 8]); return (ICorStaticInfo*) ((byte*) &ptr->vbptr + ptr->vbptr[hasLinkInfo ? 9 : 8]);
@ -337,8 +337,8 @@ namespace Confuser.Runtime {
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
private struct ICorJitInfo { private struct ICorJitInfo {
public readonly IntPtr* vfptr; public IntPtr* vfptr;
public readonly int* vbptr; public int* vbptr;
public static ICorDynamicInfo* ICorDynamicInfo(ICorJitInfo* ptr) { public static ICorDynamicInfo* ICorDynamicInfo(ICorJitInfo* ptr) {
hasLinkInfo = ptr->vbptr[10] > 0 && ptr->vbptr[10] >> 16 == 0; // != 0 and hiword byte == 0 hasLinkInfo = ptr->vbptr[10] > 0 && ptr->vbptr[10] >> 16 == 0; // != 0 and hiword byte == 0
@ -353,13 +353,13 @@ namespace Confuser.Runtime {
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
private struct ICorModuleInfo { private struct ICorModuleInfo {
public readonly IntPtr* vfptr; public IntPtr* vfptr;
} }
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
private struct ICorStaticInfo { private struct ICorStaticInfo {
public readonly IntPtr* vfptr; public IntPtr* vfptr;
public readonly int* vbptr; public int* vbptr;
public static ICorMethodInfo* ICorMethodInfo(ICorStaticInfo* ptr) { public static ICorMethodInfo* ICorMethodInfo(ICorStaticInfo* ptr) {
return (ICorMethodInfo*) ((byte*) &ptr->vbptr + ptr->vbptr[1]); return (ICorMethodInfo*) ((byte*) &ptr->vbptr + ptr->vbptr[1]);

2
dnlib

@ -1 +1 @@
Subproject commit dbe3cf2a494093db9603713b733a6c3809fa61f3 Subproject commit 9961b20cdbda4dbd4745b270c6db75fb31183ca1