diff options
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/r2rdump/R2RConstants.cs | 6 | ||||
-rw-r--r-- | src/tools/r2rdump/R2RSignature.cs | 13 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/tools/r2rdump/R2RConstants.cs b/src/tools/r2rdump/R2RConstants.cs index 7e1c5e388f..7f2b2e3035 100644 --- a/src/tools/r2rdump/R2RConstants.cs +++ b/src/tools/r2rdump/R2RConstants.cs @@ -120,6 +120,8 @@ namespace R2RDump READYTORUN_FIXUP_DelegateCtor = 0x2C, /* optimized delegate ctor */ READYTORUN_FIXUP_DeclaringTypeHandle = 0x2D, + + READYTORUN_FIXUP_IndirectPInvokeTarget = 0x2E, /* Target of an inlined pinvoke */ } // @@ -171,6 +173,10 @@ namespace R2RDump READYTORUN_HELPER_MemSet = 0x40, READYTORUN_HELPER_MemCpy = 0x41, + // PInvoke helpers + READYTORUN_HELPER_PInvokeBegin = 0x42, + READYTORUN_HELPER_PInvokeEnd = 0x43, + // Get string handle lazily READYTORUN_HELPER_GetString = 0x50, diff --git a/src/tools/r2rdump/R2RSignature.cs b/src/tools/r2rdump/R2RSignature.cs index 60e4c0fd0a..9bf44122b0 100644 --- a/src/tools/r2rdump/R2RSignature.cs +++ b/src/tools/r2rdump/R2RSignature.cs @@ -679,6 +679,10 @@ namespace R2RDump builder.Append(" (DECLARING_TYPE_HANDLE)"); break; + case ReadyToRunFixupKind.READYTORUN_FIXUP_IndirectPInvokeTarget: + ParseMethod(builder); + builder.Append(" (INDIRECT_PINVOKE_TARGET)"); + break; default: builder.Append(string.Format("Unknown fixup type: {0:X2}", fixupType)); @@ -1126,6 +1130,15 @@ namespace R2RDump builder.Append("MEM_CPY"); break; + // PInvoke helpers + case ReadyToRunHelper.READYTORUN_HELPER_PInvokeBegin: + builder.Append("PINVOKE_BEGIN"); + break; + + case ReadyToRunHelper.READYTORUN_HELPER_PInvokeEnd: + builder.Append("PINVOKE_END"); + break; + // Get string handle lazily case ReadyToRunHelper.READYTORUN_HELPER_GetString: builder.Append("GET_STRING"); |