Remove Architecture Property (#86277)
authorAndrew Au <andrewau@microsoft.com>
Tue, 16 May 2023 13:26:13 +0000 (06:26 -0700)
committerGitHub <noreply@github.com>
Tue, 16 May 2023 13:26:13 +0000 (06:26 -0700)
src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/GCRefMap.cs
src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/ReadyToRunReader.cs
src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/TransitionBlock.cs

index ca8f56a..38f0d24 100644 (file)
@@ -4,6 +4,7 @@
 using System;
 using System.Collections.Generic;
 using System.Diagnostics;
+using System.Reflection.PortableExecutable;
 using System.Runtime.InteropServices;
 using System.IO;
 
@@ -116,7 +117,7 @@ namespace ILCompiler.Reflection.ReadyToRun
 
         public uint ReadStackPop()
         {
-            Debug.Assert(_reader.Architecture == Architecture.X86);
+            Debug.Assert(_reader.Machine == Machine.I386);
 
             int x = GetTwoBit();
 
@@ -159,7 +160,7 @@ namespace ILCompiler.Reflection.ReadyToRun
             List<GCRefMapEntry> entries = new List<GCRefMapEntry>();
             uint stackPop = GCRefMap.InvalidStackPop;
 
-            if (_reader.Architecture == Architecture.X86)
+            if (_reader.Machine == Machine.I386)
             {
                 stackPop = ReadStackPop();
             }
index 0b370d8..6f256e9 100644 (file)
@@ -97,7 +97,6 @@ namespace ILCompiler.Reflection.ReadyToRun
         // Header
         private OperatingSystem _operatingSystem;
         private Machine _machine;
-        private Architecture _architecture;
         private int _pointerSize;
         private bool _composite;
         private ulong _imageBase;
@@ -193,18 +192,6 @@ namespace ILCompiler.Reflection.ReadyToRun
         }
 
         /// <summary>
-        /// Targeting processor architecture of the R2R executable
-        /// </summary>
-        public Architecture Architecture
-        {
-            get
-            {
-                EnsureHeader();
-                return _architecture;
-            }
-        }
-
-        /// <summary>
         /// Size of a pointer on the architecture
         /// </summary>
         public int TargetPointerSize
@@ -637,29 +624,15 @@ namespace ILCompiler.Reflection.ReadyToRun
             switch (_machine)
             {
                 case Machine.I386:
-                    _architecture = Architecture.X86;
-                    _pointerSize = 4;
-                    break;
-
-                case Machine.Amd64:
-                    _architecture = Architecture.X64;
-                    _pointerSize = 8;
-                    break;
-
                 case Machine.Arm:
                 case Machine.Thumb:
                 case Machine.ArmThumb2:
-                    _architecture = Architecture.Arm;
                     _pointerSize = 4;
                     break;
 
+                case Machine.Amd64:
                 case Machine.Arm64:
-                    _architecture = Architecture.Arm64;
-                    _pointerSize = 8;
-                    break;
-
-                case (Machine)0x6264: /* LoongArch64 */
-                    _architecture = (Architecture)6; /* LoongArch64 */
+                case Machine.LoongArch64:
                     _pointerSize = 8;
                     break;
 
@@ -667,7 +640,6 @@ namespace ILCompiler.Reflection.ReadyToRun
                     throw new NotImplementedException(Machine.ToString());
             }
 
-
             _imageBase = CompositeReader.PEHeaders.PEHeader.ImageBase;
 
             // Initialize R2RHeader
index 96f4108..cd66d5a 100644 (file)
@@ -15,18 +15,20 @@ namespace ILCompiler.Reflection.ReadyToRun
 
         public static TransitionBlock FromReader(ReadyToRunReader reader)
         {
-            switch (reader.Architecture)
+            switch (reader.Machine)
             {
-                case Architecture.X86:
+                case Machine.I386:
                     return X86TransitionBlock.Instance;
 
-                case Architecture.X64:
+                case Machine.Amd64:
                     return reader.OperatingSystem == OperatingSystem.Windows ? X64WindowsTransitionBlock.Instance : X64UnixTransitionBlock.Instance;
 
-                case Architecture.Arm:
+                case Machine.Arm:
+                case Machine.Thumb:
+                case Machine.ArmThumb2:
                     return ArmTransitionBlock.Instance;
 
-                case Architecture.Arm64:
+                case Machine.Arm64:
                     return Arm64TransitionBlock.Instance;
 
                 default: