From af63f60ff90e0fddb14db41004cbf1dc4ef7e810 Mon Sep 17 00:00:00 2001 From: Egor Bogatov Date: Wed, 12 Oct 2022 00:10:14 +0200 Subject: [PATCH] Fix gc hole in Frozen.cs (#76868) Co-authored-by: Jan Kotas --- src/tests/GC/API/Frozen/Frozen.cs | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/tests/GC/API/Frozen/Frozen.cs b/src/tests/GC/API/Frozen/Frozen.cs index 3a9ad49175064..6067a21e91526 100644 --- a/src/tests/GC/API/Frozen/Frozen.cs +++ b/src/tests/GC/API/Frozen/Frozen.cs @@ -134,20 +134,9 @@ internal class Node internal static class Program { - private static unsafe IntPtr GetMethodTablePointer(object obj) - { - GCHandle gch = GCHandle.Alloc(obj); - IntPtr pointerToPointerToObject = GCHandle.ToIntPtr(gch); - IntPtr pointerToObject = *((IntPtr*)pointerToPointerToObject); - IntPtr methodTable = *((IntPtr*)pointerToObject); - gch.Free(); - return methodTable; - } - private static unsafe int Main(string[] args) { - Node template = new Node(); - IntPtr methodTable = GetMethodTablePointer(template); + IntPtr methodTable = typeof(Node).TypeHandle.Value; FrozenSegmentBuilder frozenSegmentBuilder = new FrozenSegmentBuilder(1000); IntPtr node1Ptr = frozenSegmentBuilder.Allocate(methodTable);