// Simplified version of ../../../external/corefx/src/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.il .class public abstract auto ansi sealed beforefieldinit System.Runtime.CompilerServices.Unsafe { .method public hidebysig static !!T Read(void* source) cil managed aggressiveinlining { .maxstack 1 ldarg.0 ldobj !!T ret } .method public hidebysig static !!T ReadUnaligned(void* source) cil managed aggressiveinlining { .maxstack 1 ldarg.0 unaligned. 0x1 ldobj !!T ret } .method public hidebysig static !!T ReadUnaligned(uint8& source) cil managed aggressiveinlining { .maxstack 1 ldarg.0 unaligned. 0x1 ldobj !!T ret } .method public hidebysig static void Write(void* destination, !!T 'value') cil managed aggressiveinlining { .maxstack 2 ldarg.0 ldarg.1 stobj !!T ret } .method public hidebysig static void WriteUnaligned(void* destination, !!T 'value') cil managed aggressiveinlining { .maxstack 2 ldarg.0 ldarg.1 unaligned. 0x01 stobj !!T ret } .method public hidebysig static void WriteUnaligned(uint8& destination, !!T 'value') cil managed aggressiveinlining { .maxstack 2 ldarg.0 ldarg.1 unaligned. 0x01 stobj !!T ret } .method public hidebysig static void Copy(void* destination, !!T& source) cil managed aggressiveinlining { .maxstack 2 ldarg.0 ldarg.1 ldobj !!T stobj !!T ret } .method public hidebysig static void Copy(!!T& destination, void* source) cil managed aggressiveinlining { .maxstack 2 ldarg.0 ldarg.1 ldobj !!T stobj !!T ret } .method public hidebysig static void* AsPointer(!!T& 'value') cil managed aggressiveinlining { .maxstack 1 ldarg.0 conv.u ret } .method public hidebysig static int32 SizeOf() cil managed aggressiveinlining { .maxstack 1 sizeof !!T ret } .method public hidebysig static void CopyBlock(void* destination, void* source, uint32 byteCount) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 ldarg.2 cpblk ret } .method public hidebysig static void CopyBlock(uint8& destination, uint8& source, uint32 byteCount) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 ldarg.2 cpblk ret } .method public hidebysig static void CopyBlockUnaligned(void* destination, void* source, uint32 byteCount) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 ldarg.2 unaligned. 0x1 cpblk ret } .method public hidebysig static void CopyBlockUnaligned(uint8& destination, uint8& source, uint32 byteCount) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 ldarg.2 unaligned. 0x1 cpblk ret } .method public hidebysig static void InitBlock(void* startAddress, uint8 'value', uint32 byteCount) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 ldarg.2 initblk ret } .method public hidebysig static void InitBlock(uint8& startAddress, uint8 'value', uint32 byteCount) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 ldarg.2 initblk ret } .method public hidebysig static void InitBlockUnaligned(void* startAddress, uint8 'value', uint32 byteCount) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 ldarg.2 unaligned. 0x1 initblk ret } .method public hidebysig static void InitBlockUnaligned(uint8& startAddress, uint8 'value', uint32 byteCount) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 ldarg.2 unaligned. 0x1 initblk ret } .method public hidebysig static !!T As(object o) cil managed aggressiveinlining { .maxstack 1 ldarg.0 ret } .method public hidebysig static !!T& AsRef(void* source) cil managed aggressiveinlining { .locals (int32&) .maxstack 1 ldarg.0 // Roundtrip via a local to avoid type mismatch on return that the JIT inliner chokes on. stloc.0 ldloc.0 ret } .method public hidebysig static !!TTo& As(!!TFrom& source) cil managed aggressiveinlining { .maxstack 1 ldarg.0 ret } .method public hidebysig static !!T& Add(!!T& source, int32 elementOffset) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 sizeof !!T conv.i mul add ret } .method public hidebysig static void* Add(void* source, int32 elementOffset) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 sizeof !!T conv.i mul add ret } .method public hidebysig static !!T& Add(!!T& source, native int elementOffset) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 sizeof !!T mul add ret } .method public hidebysig static !!T& AddByteOffset(!!T& source, native int byteOffset) cil managed aggressiveinlining { .maxstack 2 ldarg.0 ldarg.1 add ret } .method public hidebysig static !!T& Subtract(!!T& source, int32 elementOffset) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 sizeof !!T conv.i mul sub ret } .method public hidebysig static void* Subtract(void* source, int32 elementOffset) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 sizeof !!T conv.i mul sub ret } .method public hidebysig static !!T& Subtract(!!T& source, native int elementOffset) cil managed aggressiveinlining { .maxstack 3 ldarg.0 ldarg.1 sizeof !!T mul sub ret } .method public hidebysig static !!T& SubtractByteOffset(!!T& source, native int byteOffset) cil managed aggressiveinlining { .maxstack 2 ldarg.0 ldarg.1 sub ret } .method public hidebysig static native int ByteOffset(!!T& origin, !!T& target) cil managed aggressiveinlining { .maxstack 2 ldarg.1 ldarg.0 sub ret } .method public hidebysig static bool AreSame(!!T& left, !!T& right) cil managed aggressiveinlining { .maxstack 2 ldarg.0 ldarg.1 ceq ret } }