diff options
author | Lubomir Litchev <lubol@microsoft.com> | 2015-10-22 22:55:09 -0700 |
---|---|---|
committer | Lubomir Litchev <lubol@microsoft.com> | 2015-11-03 16:00:53 -0800 |
commit | 484e17578f3052f5e69e71b7b915696549b7016f (patch) | |
tree | 2b8d2a62faff4fa6074fab669d2fdee4f4c7fef9 /src/vm/methodtable.cpp | |
parent | 1bdad57bd28d24072c0f7771f8ce1e39b4de43c8 (diff) | |
download | coreclr-484e17578f3052f5e69e71b7b915696549b7016f.tar.gz coreclr-484e17578f3052f5e69e71b7b915696549b7016f.tar.bz2 coreclr-484e17578f3052f5e69e71b7b915696549b7016f.zip |
Some code cleanup for the SystemVStructs work.
Diffstat (limited to 'src/vm/methodtable.cpp')
-rw-r--r-- | src/vm/methodtable.cpp | 58 |
1 files changed, 7 insertions, 51 deletions
diff --git a/src/vm/methodtable.cpp b/src/vm/methodtable.cpp index ad12cb6910..e138f26115 100644 --- a/src/vm/methodtable.cpp +++ b/src/vm/methodtable.cpp @@ -2733,13 +2733,7 @@ bool MethodTable::ClassifyEightBytesForNativeStruct(SystemVStructRegisterPassing switch (fieldType) { case ELEMENT_TYPE_CHAR: - fieldClassificationType = SystemVClassificationTypeInteger; - break; - case ELEMENT_TYPE_I2: - fieldClassificationType = SystemVClassificationTypeInteger; - break; - case ELEMENT_TYPE_U2: fieldClassificationType = SystemVClassificationTypeInteger; break; @@ -2757,11 +2751,9 @@ bool MethodTable::ClassifyEightBytesForNativeStruct(SystemVStructRegisterPassing // At this point, ELEMENT_TYPE_I must be 4 bytes long. Same for ELEMENT_TYPE_U. case ELEMENT_TYPE_I: case ELEMENT_TYPE_I4: - fieldClassificationType = SystemVClassificationTypeInteger; - break; - case ELEMENT_TYPE_U: case ELEMENT_TYPE_U4: + case ELEMENT_TYPE_PTR: fieldClassificationType = SystemVClassificationTypeInteger; break; @@ -2769,10 +2761,6 @@ bool MethodTable::ClassifyEightBytesForNativeStruct(SystemVStructRegisterPassing fieldClassificationType = SystemVClassificationTypeSSE; break; - case ELEMENT_TYPE_PTR: - fieldClassificationType = SystemVClassificationTypeInteger; - break; - default: // Invalid entry. return false; // Pass on stack. @@ -2786,11 +2774,9 @@ bool MethodTable::ClassifyEightBytesForNativeStruct(SystemVStructRegisterPassing // At this point, ELEMENT_TYPE_I must be 8 bytes long. Same for ELEMENT_TYPE_U. case ELEMENT_TYPE_I: case ELEMENT_TYPE_I8: - fieldClassificationType = SystemVClassificationTypeInteger; - break; - case ELEMENT_TYPE_U: case ELEMENT_TYPE_U8: + case ELEMENT_TYPE_PTR: fieldClassificationType = SystemVClassificationTypeInteger; break; @@ -2798,10 +2784,6 @@ bool MethodTable::ClassifyEightBytesForNativeStruct(SystemVStructRegisterPassing fieldClassificationType = SystemVClassificationTypeSSE; break; - case ELEMENT_TYPE_PTR: - fieldClassificationType = SystemVClassificationTypeInteger; - break; - default: // Invalid entry. return false; // Pass on stack. @@ -2822,54 +2804,28 @@ bool MethodTable::ClassifyEightBytesForNativeStruct(SystemVStructRegisterPassing { #ifdef FEATURE_COMINTEROP case NFT_BSTR: - // COMInterop not supported for CORECLR. - _ASSERTE(false && "COMInterop not supported for CORECLR."); - return false; case NFT_HSTRING: + case NFT_VARIANT: + case NFT_VARIANTBOOL: + case NFT_CURRENCY: // COMInterop not supported for CORECLR. _ASSERTE(false && "COMInterop not supported for CORECLR."); return false; #endif // FEATURE_COMINTEROP case NFT_STRINGUNI: - fieldClassificationType = SystemVClassificationTypeInteger; - break; case NFT_STRINGANSI: - fieldClassificationType = SystemVClassificationTypeInteger; - break; - case NFT_DELEGATE: - return false; -#ifdef FEATURE_COMINTEROP - case NFT_VARIANT: - _ASSERTE(false && "COMInterop not supported for CORECLR."); - return false; -#endif // FEATURE_COMINTEROP case NFT_ANSICHAR: - fieldClassificationType = SystemVClassificationTypeInteger; - break; case NFT_WINBOOL: - fieldClassificationType = SystemVClassificationTypeInteger; - break; case NFT_CBOOL: fieldClassificationType = SystemVClassificationTypeInteger; break; + + case NFT_DELEGATE: case NFT_DECIMAL: - return false; case NFT_DATE: - return false; -#ifdef FEATURE_COMINTEROP - case NFT_VARIANTBOOL: - _ASSERTE(false && "COMInterop not supported for CORECLR."); - return false; - case NFT_CURRENCY: - _ASSERTE(false && "COMInterop not supported for CORECLR."); - return false; -#endif // FEATURE_COMINTEROP case NFT_ILLEGAL: - return false; case NFT_SAFEHANDLE: - return false; case NFT_CRITICALHANDLE: - return false; default: return false; } |