Created
February 3, 2017 00:19
-
-
Save mellinoe/c3a6c21fd43e143063f86e1069a6347e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0 | |
// Copyright (c) Microsoft Corporation. All rights reserved. | |
// Metadata version: v4.0.30319 | |
.assembly extern System.Runtime | |
{ | |
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....: | |
.ver 4:0:0:0 | |
} | |
.assembly System.Runtime.CompilerServices.Unsafe | |
{ | |
.custom instance void [System.Runtime]System.Reflection.AssemblyMetadataAttribute::.ctor(string, | |
string) = ( 01 00 0B 53 65 72 76 69 63 65 61 62 6C 65 04 54 // ...Serviceable.T | |
72 75 65 00 00 ) // rue.. | |
.custom instance void [System.Runtime]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx | |
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows. | |
.custom instance void [System.Runtime]System.Reflection.AssemblyFileVersionAttribute::.ctor(string) = ( 01 00 07 34 2E 30 2E 30 2E 30 00 00 ) // ...4.0.0.0.. | |
.custom instance void [System.Runtime]System.Reflection.AssemblyInformationalVersionAttribute::.ctor(string) = ( 01 00 07 34 2E 30 2E 30 2E 30 00 00 ) // ...4.0.0.0.. | |
.custom instance void [System.Runtime]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ( 01 00 26 53 79 73 74 65 6D 2E 52 75 6E 74 69 6D // ..&System.Runtim | |
65 2E 43 6F 6D 70 69 6C 65 72 53 65 72 76 69 63 // e.CompilerServic | |
65 73 2E 55 6E 73 61 66 65 00 00 ) // es.Unsafe.. | |
.custom instance void [System.Runtime]System.Reflection.AssemblyDescriptionAttribute::.ctor(string) = ( 01 00 26 53 79 73 74 65 6D 2E 52 75 6E 74 69 6D // ..&System.Runtim | |
65 2E 43 6F 6D 70 69 6C 65 72 53 65 72 76 69 63 // e.CompilerServic | |
65 73 2E 55 6E 73 61 66 65 00 00 ) // es.Unsafe.. | |
.custom instance void [System.Runtime]System.Reflection.AssemblyMetadataAttribute::.ctor(string, | |
string) = ( 01 00 15 2E 4E 45 54 46 72 61 6D 65 77 6F 72 6B // ....NETFramework | |
41 73 73 65 6D 62 6C 79 00 00 00 ) // Assembly... | |
.custom instance void [System.Runtime]System.CLSCompliantAttribute::.ctor(bool) = ( 01 00 00 00 00 ) | |
.custom instance void [System.Runtime]System.Reflection.AssemblyCopyrightAttribute::.ctor(string) = ( 01 00 2F C2 A9 20 4D 69 63 72 6F 73 6F 66 74 20 // ../.. Microsoft | |
43 6F 72 70 6F 72 61 74 69 6F 6E 2E 20 20 41 6C // Corporation. Al | |
6C 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 // l rights reserve | |
64 2E 00 00 ) // d... | |
.custom instance void [System.Runtime]System.Reflection.AssemblyCompanyAttribute::.ctor(string) = ( 01 00 15 4D 69 63 72 6F 73 6F 66 74 20 43 6F 72 // ...Microsoft Cor | |
70 6F 72 61 74 69 6F 6E 00 00 ) // poration.. | |
.custom instance void [System.Runtime]System.Reflection.AssemblyProductAttribute::.ctor(string) = ( 01 00 1A 4D 69 63 72 6F 73 6F 66 74 C2 AE 20 2E // ...Microsoft.. . | |
4E 45 54 20 46 72 61 6D 65 77 6F 72 6B 00 00 ) // NET Framework.. | |
.custom instance void [System.Runtime]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 ) | |
.publickey = (00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 // .$.............. | |
00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 // .$..RSA1........ | |
07 D1 FA 57 C4 AE D9 F0 A3 2E 84 AA 0F AE FD 0D // ...W............ | |
E9 E8 FD 6A EC 8F 87 FB 03 76 6C 83 4C 99 92 1E // ...j.....vl.L... | |
B2 3B E7 9A D9 D5 DC C1 DD 9A D2 36 13 21 02 90 // .;.........6.!.. | |
0B 72 3C F9 80 95 7F C4 E1 77 10 8F C6 07 77 4F // .r<......w....wO | |
29 E8 32 0E 92 EA 05 EC E4 E8 21 C0 A5 EF E8 F1 // ).2.......!..... | |
64 5C 4C 0C 93 C1 AB 99 28 5D 62 2C AA 65 2C 1D // d\L.....(]b,.e,. | |
FA D6 3D 74 5D 6F 2D E5 F1 7E 5E AF 0F C4 96 3D // ..=t]o-..~^....= | |
26 1C 8A 12 43 65 18 20 6D C0 93 34 4D 5A D2 93 ) // &...Ce. m..4MZ.. | |
.hash algorithm 0x00008004 | |
.ver 4:0:3:0 | |
} | |
.module System.Runtime.CompilerServices.Unsafe.dll | |
// MVID: {B0C7A344-583A-4E0A-BA3E-8B102FF44218} | |
.imagebase 0x00400000 | |
.file alignment 0x00000200 | |
.stackreserve 0x00100000 | |
.subsystem 0x0003 // WINDOWS_CUI | |
.corflags 0x00000001 // ILONLY | |
// Image base: 0x03060000 | |
// =============== CLASS MEMBERS DECLARATION =================== | |
.class public abstract auto ansi sealed beforefieldinit System.Runtime.CompilerServices.Unsafe | |
extends [System.Runtime]System.Object | |
{ | |
.method public hidebysig static !!T Read<T>(void* source) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 7 (0x7) | |
.maxstack 1 | |
IL_0000: ldarg.0 | |
IL_0001: ldobj !!T | |
IL_0006: ret | |
} // end of method Unsafe::Read | |
.method public hidebysig static void Write<T>(void* destination, | |
!!T 'value') cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 8 (0x8) | |
.maxstack 2 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: stobj !!T | |
IL_0007: ret | |
} // end of method Unsafe::Write | |
.method public hidebysig static void Copy<T>(void* destination, | |
!!T& source) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 13 (0xd) | |
.maxstack 2 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: ldobj !!T | |
IL_0007: stobj !!T | |
IL_000c: ret | |
} // end of method Unsafe::Copy | |
.method public hidebysig static void Copy<T>(!!T& destination, | |
void* source) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 13 (0xd) | |
.maxstack 2 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: ldobj !!T | |
IL_0007: stobj !!T | |
IL_000c: ret | |
} // end of method Unsafe::Copy | |
.method public hidebysig static void* AsPointer<T>(!!T& 'value') cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 3 (0x3) | |
.maxstack 1 | |
IL_0000: ldarg.0 | |
IL_0001: conv.u | |
IL_0002: ret | |
} // end of method Unsafe::AsPointer | |
.method public hidebysig static int32 SizeOf<T>() cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 7 (0x7) | |
.maxstack 1 | |
IL_0000: sizeof !!T | |
IL_0006: ret | |
} // end of method Unsafe::SizeOf | |
.method public hidebysig static void CopyBlock(void* destination, | |
void* source, | |
uint32 byteCount) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 6 (0x6) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: ldarg.2 | |
IL_0003: cpblk | |
IL_0005: ret | |
} // end of method Unsafe::CopyBlock | |
.method public hidebysig static void CopyBlock(uint8& destination, | |
uint8& source, | |
uint32 byteCount) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 6 (0x6) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: ldarg.2 | |
IL_0003: cpblk | |
IL_0005: ret | |
} // end of method Unsafe::CopyBlock | |
.method public hidebysig static void CopyBlockUnaligned(void* destination, | |
void* source, | |
uint32 byteCount) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 9 (0x9) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: ldarg.2 | |
IL_0003: unaligned. 1 | |
IL_0006: cpblk | |
IL_0008: ret | |
} // end of method Unsafe::CopyBlockUnaligned | |
.method public hidebysig static void CopyBlockUnaligned(uint8& destination, | |
uint8& source, | |
uint32 byteCount) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 9 (0x9) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: ldarg.2 | |
IL_0003: unaligned. 1 | |
IL_0006: cpblk | |
IL_0008: ret | |
} // end of method Unsafe::CopyBlockUnaligned | |
.method public hidebysig static void InitBlock(void* startAddress, | |
uint8 'value', | |
uint32 byteCount) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 6 (0x6) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: ldarg.2 | |
IL_0003: initblk | |
IL_0005: ret | |
} // end of method Unsafe::InitBlock | |
.method public hidebysig static void InitBlock(uint8& startAddress, | |
uint8 'value', | |
uint32 byteCount) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 6 (0x6) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: ldarg.2 | |
IL_0003: initblk | |
IL_0005: ret | |
} // end of method Unsafe::InitBlock | |
.method public hidebysig static void InitBlockUnaligned(void* startAddress, | |
uint8 'value', | |
uint32 byteCount) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 9 (0x9) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: ldarg.2 | |
IL_0003: unaligned. 1 | |
IL_0006: initblk | |
IL_0008: ret | |
} // end of method Unsafe::InitBlockUnaligned | |
.method public hidebysig static void InitBlockUnaligned(uint8& startAddress, | |
uint8 'value', | |
uint32 byteCount) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 9 (0x9) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: ldarg.2 | |
IL_0003: unaligned. 1 | |
IL_0006: initblk | |
IL_0008: ret | |
} // end of method Unsafe::InitBlockUnaligned | |
.method public hidebysig static !!T As<class T>(object o) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 2 (0x2) | |
.maxstack 1 | |
IL_0000: ldarg.0 | |
IL_0001: ret | |
} // end of method Unsafe::As | |
.method public hidebysig static !!T& AsRef<T>(void* source) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 4 (0x4) | |
.maxstack 1 | |
.locals (int32& V_0) | |
IL_0000: ldarg.0 | |
IL_0001: stloc.0 | |
IL_0002: ldloc.0 | |
IL_0003: ret | |
} // end of method Unsafe::AsRef | |
.method public hidebysig static !!TTo& | |
As<TFrom,TTo>(!!TFrom& source) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 2 (0x2) | |
.maxstack 1 | |
IL_0000: ldarg.0 | |
IL_0001: ret | |
} // end of method Unsafe::As | |
.method public hidebysig static !!T& Add<T>(!!T& source, | |
int32 elementOffset) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 12 (0xc) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: sizeof !!T | |
IL_0008: conv.i | |
IL_0009: mul | |
IL_000a: add | |
IL_000b: ret | |
} // end of method Unsafe::Add | |
.method public hidebysig static !!T& Add<T>(!!T& source, | |
native int elementOffset) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 11 (0xb) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: sizeof !!T | |
IL_0008: mul | |
IL_0009: add | |
IL_000a: ret | |
} // end of method Unsafe::Add | |
.method public hidebysig static !!T& AddByteOffset<T>(!!T& source, | |
native int byteOffset) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 4 (0x4) | |
.maxstack 2 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: add | |
IL_0003: ret | |
} // end of method Unsafe::AddByteOffset | |
.method public hidebysig static !!T& Subtract<T>(!!T& source, | |
int32 elementOffset) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 12 (0xc) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: sizeof !!T | |
IL_0008: conv.i | |
IL_0009: mul | |
IL_000a: sub | |
IL_000b: ret | |
} // end of method Unsafe::Subtract | |
.method public hidebysig static !!T& Subtract<T>(!!T& source, | |
native int elementOffset) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 11 (0xb) | |
.maxstack 3 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: sizeof !!T | |
IL_0008: mul | |
IL_0009: sub | |
IL_000a: ret | |
} // end of method Unsafe::Subtract | |
.method public hidebysig static !!T& SubtractByteOffset<T>(!!T& source, | |
native int byteOffset) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 4 (0x4) | |
.maxstack 2 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: sub | |
IL_0003: ret | |
} // end of method Unsafe::SubtractByteOffset | |
.method public hidebysig static native int | |
ByteOffset<T>(!!T& origin, | |
!!T& target) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 4 (0x4) | |
.maxstack 2 | |
IL_0000: ldarg.1 | |
IL_0001: ldarg.0 | |
IL_0002: sub | |
IL_0003: ret | |
} // end of method Unsafe::ByteOffset | |
.method public hidebysig static bool AreSame<T>(!!T& left, | |
!!T& right) cil managed aggressiveinlining | |
{ | |
.custom instance void System.Runtime.Versioning.NonVersionableAttribute::.ctor() = ( 01 00 00 00 ) | |
// Code size 5 (0x5) | |
.maxstack 2 | |
IL_0000: ldarg.0 | |
IL_0001: ldarg.1 | |
IL_0002: ceq | |
IL_0004: ret | |
} // end of method Unsafe::AreSame | |
} // end of class System.Runtime.CompilerServices.Unsafe | |
.class private auto ansi sealed beforefieldinit System.Runtime.Versioning.NonVersionableAttribute | |
extends [System.Runtime]System.Attribute | |
{ | |
.custom instance void [System.Runtime]System.AttributeUsageAttribute::.ctor(valuetype [System.Runtime]System.AttributeTargets) = ( 01 00 6C 00 00 00 02 00 54 02 0D 41 6C 6C 6F 77 // ..l.....T..Allow | |
4D 75 6C 74 69 70 6C 65 00 54 02 09 49 6E 68 65 // Multiple.T..Inhe | |
72 69 74 65 64 00 ) // rited. | |
.method public hidebysig specialname rtspecialname | |
instance void .ctor() cil managed | |
{ | |
// Code size 7 (0x7) | |
.maxstack 1 | |
IL_0000: ldarg.0 | |
IL_0001: call instance void [System.Runtime]System.Attribute::.ctor() | |
IL_0006: ret | |
} // end of method NonVersionableAttribute::.ctor | |
} // end of class System.Runtime.Versioning.NonVersionableAttribute | |
// ============================================================= | |
// *********** DISASSEMBLY COMPLETE *********************** |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment