From 76796c3fa1744d07e3bb0b971afb6e82f527bd75 Mon Sep 17 00:00:00 2001 From: "Kevin Ransom (msft)" Date: Sat, 13 Aug 2016 22:46:13 -0700 Subject: [PATCH 1/2] store --- src/absil/ilread.fs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/absil/ilread.fs b/src/absil/ilread.fs index 353b3b114d2..af4eb285f2a 100644 --- a/src/absil/ilread.fs +++ b/src/absil/ilread.fs @@ -153,9 +153,6 @@ module MemoryMapping = let OPEN_EXISTING = 0x0003 let OPEN_ALWAYS = 0x0004 -let derefByte (p:nativeint) = - NativePtr.read (NativePtr.ofNativeInt p) - type MemoryMappedFile(hMap: MemoryMapping.HANDLE, start:nativeint) = inherit BinaryFile() @@ -182,7 +179,7 @@ type MemoryMappedFile(hMap: MemoryMapping.HANDLE, start:nativeint) = start + nativeint i override m.ReadByte i = - derefByte (m.Addr i) + Marshal.ReadByte(m.Addr i) override m.ReadBytes i len = let res = Bytes.zeroCreate len @@ -200,19 +197,20 @@ type MemoryMappedFile(hMap: MemoryMapping.HANDLE, start:nativeint) = ignore(MemoryMapping.CloseHandle hMap) override m.CountUtf8String i = - let start = m.Addr i + let start = m.Addr i let mutable p = start - while derefByte p <> 0uy do + while Marshal.ReadByte(p) <> 0uy do p <- p + 1n int (p - start) override m.ReadUTF8String i = let n = m.CountUtf8String i -#if FX_RESHAPED_REFLECTION - System.Text.Encoding.UTF8.GetString(NativePtr.ofNativeInt (m.Addr i), n) -#else - new System.String(NativePtr.ofNativeInt (m.Addr i), 0, n, System.Text.Encoding.UTF8) -#endif + System.Text.Encoding.UTF8.GetString(NativePtr.ofNativeInt (m.Addr i), 0, n) +//#if FX_RESHAPED_REFLECTION +// System.Text.Encoding.UTF8.GetString(NativePtr.ofNativeInt (m.Addr i), n) +//#else +// new System.String(NativePtr.ofNativeInt (m.Addr i), 0, n, System.Text.Encoding.UTF8) +//#endif //--------------------------------------------------------------------- From 7c610c7f74fc75127b4ce9440093ad34f1b537d3 Mon Sep 17 00:00:00 2001 From: "Kevin Ransom (msft)" Date: Sun, 21 Aug 2016 17:47:01 -0700 Subject: [PATCH 2/2] Make fsharp.compiler.dll and FSharp.LanguageService.Compiler.dll peverifiable clean --- src/absil/ilread.fs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/absil/ilread.fs b/src/absil/ilread.fs index af4eb285f2a..42d3e3b9809 100644 --- a/src/absil/ilread.fs +++ b/src/absil/ilread.fs @@ -187,10 +187,10 @@ type MemoryMappedFile(hMap: MemoryMapping.HANDLE, start:nativeint) = res override m.ReadInt32 i = - NativePtr.read (NativePtr.ofNativeInt (m.Addr i)) + Marshal.ReadInt32(m.Addr i) override m.ReadUInt16 i = - NativePtr.read (NativePtr.ofNativeInt (m.Addr i)) + uint16(Marshal.ReadInt16(m.Addr i)) member m.Close() = ignore(MemoryMapping.UnmapViewOfFile start) @@ -205,7 +205,7 @@ type MemoryMappedFile(hMap: MemoryMapping.HANDLE, start:nativeint) = override m.ReadUTF8String i = let n = m.CountUtf8String i - System.Text.Encoding.UTF8.GetString(NativePtr.ofNativeInt (m.Addr i), 0, n) + System.Runtime.InteropServices.Marshal.PtrToStringAnsi((m.Addr i), n) //#if FX_RESHAPED_REFLECTION // System.Text.Encoding.UTF8.GetString(NativePtr.ofNativeInt (m.Addr i), n) //#else