diff --git a/src/coreclr/tools/Common/TypeSystem/IL/Stubs/ValueTypeGetFieldHelperMethodOverride.Sorting.cs b/src/coreclr/tools/Common/TypeSystem/IL/Stubs/GetFieldHelperMethodOverride.Sorting.cs
similarity index 76%
rename from src/coreclr/tools/Common/TypeSystem/IL/Stubs/ValueTypeGetFieldHelperMethodOverride.Sorting.cs
rename to src/coreclr/tools/Common/TypeSystem/IL/Stubs/GetFieldHelperMethodOverride.Sorting.cs
index 2a650a278e24a9..ddc494d3da8dcb 100644
--- a/src/coreclr/tools/Common/TypeSystem/IL/Stubs/ValueTypeGetFieldHelperMethodOverride.Sorting.cs
+++ b/src/coreclr/tools/Common/TypeSystem/IL/Stubs/GetFieldHelperMethodOverride.Sorting.cs
@@ -5,13 +5,13 @@
namespace Internal.IL.Stubs
{
- public partial class ValueTypeGetFieldHelperMethodOverride
+ public partial class GetFieldHelperMethodOverride
{
protected override int ClassCode => 2036839816;
protected override int CompareToImpl(MethodDesc other, TypeSystemComparer comparer)
{
- var otherMethod = (ValueTypeGetFieldHelperMethodOverride)other;
+ var otherMethod = (GetFieldHelperMethodOverride)other;
return comparer.Compare(_owningType, otherMethod._owningType);
}
diff --git a/src/coreclr/tools/Common/TypeSystem/IL/Stubs/ValueTypeGetFieldHelperMethodOverride.cs b/src/coreclr/tools/Common/TypeSystem/IL/Stubs/GetFieldHelperMethodOverride.cs
similarity index 95%
rename from src/coreclr/tools/Common/TypeSystem/IL/Stubs/ValueTypeGetFieldHelperMethodOverride.cs
rename to src/coreclr/tools/Common/TypeSystem/IL/Stubs/GetFieldHelperMethodOverride.cs
index 73b362d8154ada..37a3ed8eb25cb2 100644
--- a/src/coreclr/tools/Common/TypeSystem/IL/Stubs/ValueTypeGetFieldHelperMethodOverride.cs
+++ b/src/coreclr/tools/Common/TypeSystem/IL/Stubs/GetFieldHelperMethodOverride.cs
@@ -13,16 +13,16 @@
namespace Internal.IL.Stubs
{
///
- /// Synthetic method override of "int ValueType.__GetFieldHelper(Int32, out MethodTable*)". This method is injected
- /// into all value types that cannot have their Equals(object) and GetHashCode() methods operate on individual
- /// bytes. The purpose of the override is to provide access to the value types' fields and their types.
+ /// Synthetic method override of "int __GetFieldHelper(Int32, out MethodTable*)" on ValueType and Attribute classes. This method is injected
+ /// into all attributes and valuetypes that cannot have their Equals(object) and GetHashCode() methods operate on individual
+ /// bytes. The purpose of the override is to provide access to the fields and their types.
///
- public sealed partial class ValueTypeGetFieldHelperMethodOverride : SpecializableILStubMethod
+ public sealed partial class GetFieldHelperMethodOverride : SpecializableILStubMethod
{
private MetadataType _owningType;
private MethodSignature _signature;
- internal ValueTypeGetFieldHelperMethodOverride(MetadataType owningType)
+ internal GetFieldHelperMethodOverride(MetadataType owningType)
{
_owningType = owningType;
}
diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/CompilerTypeSystemContext.ValueTypeMethods.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/CompilerTypeSystemContext.GetFieldMethodOverrides.cs
similarity index 93%
rename from src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/CompilerTypeSystemContext.ValueTypeMethods.cs
rename to src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/CompilerTypeSystemContext.GetFieldMethodOverrides.cs
index 280a85081829d2..305960c8fb31e9 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/CompilerTypeSystemContext.ValueTypeMethods.cs
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/CompilerTypeSystemContext.GetFieldMethodOverrides.cs
@@ -16,7 +16,7 @@ public partial class CompilerTypeSystemContext
private MethodDesc _objectEqualsMethod;
private MetadataType _iAsyncStateMachineType;
- private sealed class ValueTypeMethodHashtable : LockFreeReaderHashtable
+ private sealed class GetFieldMethodHashtable : LockFreeReaderHashtable
{
protected override int GetKeyHashCode(MetadataType key) => key.GetHashCode();
protected override int GetValueHashCode(MethodDesc value) => value.OwningType.GetHashCode();
@@ -25,11 +25,11 @@ private sealed class ValueTypeMethodHashtable : LockFreeReaderHashtable GetAllMethodsForValueType(TypeDesc valueType, bool virtualOnly)
{
@@ -37,7 +37,7 @@ protected virtual IEnumerable GetAllMethodsForValueType(TypeDesc val
if (RequiresValueTypeGetFieldHelperMethod((MetadataType)valueTypeDefinition))
{
- MethodDesc getFieldHelperMethod = _valueTypeMethodHashtable.GetOrCreateValue((MetadataType)valueTypeDefinition);
+ MethodDesc getFieldHelperMethod = _getFieldMethodHashtable.GetOrCreateValue((MetadataType)valueTypeDefinition);
if (valueType != valueTypeDefinition)
{
@@ -60,7 +60,7 @@ protected virtual IEnumerable GetAllMethodsForAttribute(TypeDesc att
if (RequiresAttributeGetFieldHelperMethod(attributeTypeDefinition))
{
- MethodDesc getFieldHelperMethod = _valueTypeMethodHashtable.GetOrCreateValue((MetadataType)attributeTypeDefinition);
+ MethodDesc getFieldHelperMethod = _getFieldMethodHashtable.GetOrCreateValue((MetadataType)attributeTypeDefinition);
if (attributeType != attributeTypeDefinition)
{
diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/EETypeNode.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/EETypeNode.cs
index 610ba7f653c613..423d845f8a4760 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/EETypeNode.cs
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/EETypeNode.cs
@@ -1003,7 +1003,7 @@ private void OutputVirtualSlots(NodeFactory factory, ref ObjectDataBuilder objDa
if (isAsyncStateMachineValueType)
{
if ((declType.IsObject && (declMethod.Name.SequenceEqual("Equals"u8) || declMethod.Name.SequenceEqual("GetHashCode"u8)) && implMethod.OwningType.IsWellKnownType(WellKnownType.ValueType))
- || (declType.IsWellKnownType(WellKnownType.ValueType) && declMethod.Name.SequenceEqual(ValueTypeGetFieldHelperMethodOverride.MetadataName)))
+ || (declType.IsWellKnownType(WellKnownType.ValueType) && declMethod.Name.SequenceEqual(GetFieldHelperMethodOverride.MetadataName)))
{
shouldEmitImpl = false;
}
diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/NoMetadataBlockingPolicy.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/NoMetadataBlockingPolicy.cs
index 2b50dfc2c65a92..c1b9fbe4e7b1b7 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/NoMetadataBlockingPolicy.cs
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/NoMetadataBlockingPolicy.cs
@@ -54,7 +54,7 @@ public override bool IsBlocked(MethodDesc method)
return true;
// Also don't expose the ValueType.__GetFieldOverride method.
- if (ecmaMethod.Name.SequenceEqual(Internal.IL.Stubs.ValueTypeGetFieldHelperMethodOverride.MetadataName)
+ if (ecmaMethod.Name.SequenceEqual(Internal.IL.Stubs.GetFieldHelperMethodOverride.MetadataName)
&& ecmaMethod.OwningType.IsWellKnownType(WellKnownType.ValueType))
return true;
diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ObjectDataInterner.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ObjectDataInterner.cs
index 8d212d17b58d83..7c8a0bbc7ae32c 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ObjectDataInterner.cs
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ObjectDataInterner.cs
@@ -33,7 +33,7 @@ public bool CanFold(MethodDesc method)
if (!_genericsOnly || method.HasInstantiation || method.OwningType.HasInstantiation)
return true;
- if (method.GetTypicalMethodDefinition() is ValueTypeGetFieldHelperMethodOverride)
+ if (method.GetTypicalMethodDefinition() is GetFieldHelperMethodOverride)
return true;
return false;
diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj b/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj
index 0b6f858708e99d..bbd54bbfd06559 100644
--- a/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj
+++ b/src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj
@@ -77,11 +77,11 @@
IL\Stubs\StructMarshallingThunk.Sorting.cs
-
- IL\Stubs\ValueTypeGetFieldHelperMethodOverride.cs
+
+ IL\Stubs\GetFieldHelperMethodOverride.cs
-
- IL\Stubs\ValueTypeGetFieldHelperMethodOverride.Sorting.cs
+
+ IL\Stubs\GetFieldHelperMethodOverride.Sorting.cs
TypeSystem\Interop\IL\InlineArrayType.Sorting.cs
@@ -397,7 +397,7 @@
-
+