diff options
author | Carol Eidt <carol.eidt@microsoft.com> | 2018-03-15 08:21:25 -0700 |
---|---|---|
committer | Carol Eidt <carol.eidt@microsoft.com> | 2018-04-17 16:15:14 -0700 |
commit | 32480530dbcd0936e4292bdd50e5a94002f8dba2 (patch) | |
tree | 333c33b54dce6addf25ec10419e7eb8ed742e05f /src/vm/methodtablebuilder.cpp | |
parent | 963e5a9f08ed7c664036ef9b7050374b66f71d64 (diff) | |
download | coreclr-32480530dbcd0936e4292bdd50e5a94002f8dba2.tar.gz coreclr-32480530dbcd0936e4292bdd50e5a94002f8dba2.tar.bz2 coreclr-32480530dbcd0936e4292bdd50e5a94002f8dba2.zip |
Unix/x64 ABI cleanup
Eliminate `FEATURE_UNIX_AMD64_STRUCT_PASSING` and replace it with `UNIX_AMD64_ABI` when used alone. Both are currently defined; it is highly unlikely the latter will work alone; and it significantly clutters up the code, especially the JIT.
Also, fix the altjit support (now `UNIX_AMD64_ABI_ITF`) to *not* call `ClassifyEightBytes` if the struct is too large. Otherwise it asserts.
Diffstat (limited to 'src/vm/methodtablebuilder.cpp')
-rw-r--r-- | src/vm/methodtablebuilder.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/vm/methodtablebuilder.cpp b/src/vm/methodtablebuilder.cpp index c57677b316..0dc226e333 100644 --- a/src/vm/methodtablebuilder.cpp +++ b/src/vm/methodtablebuilder.cpp @@ -1869,23 +1869,23 @@ MethodTableBuilder::BuildMethodTableThrowing( #ifdef FEATURE_HFA GetHalfBakedClass()->CheckForHFA(pByValueClassCache); #endif -#ifdef FEATURE_UNIX_AMD64_STRUCT_PASSING +#ifdef UNIX_AMD64_ABI #ifdef FEATURE_HFA -#error Can't have FEATURE_HFA and FEATURE_UNIX_AMD64_STRUCT_PASSING defined at the same time. +#error Can't have FEATURE_HFA and UNIX_AMD64_ABI defined at the same time. #endif // FEATURE_HFA SystemVAmd64CheckForPassStructInRegister(); -#endif // FEATURE_UNIX_AMD64_STRUCT_PASSING +#endif // UNIX_AMD64_ABI } -#ifdef FEATURE_UNIX_AMD64_STRUCT_PASSING +#ifdef UNIX_AMD64_ABI #ifdef FEATURE_HFA -#error Can't have FEATURE_HFA and FEATURE_UNIX_AMD64_STRUCT_PASSING defined at the same time. +#error Can't have FEATURE_HFA and UNIX_AMD64_ABI defined at the same time. #endif // FEATURE_HFA if (HasLayout()) { SystemVAmd64CheckForPassNativeStructInRegister(); } -#endif // FEATURE_UNIX_AMD64_STRUCT_PASSING +#endif // UNIX_AMD64_ABI #ifdef FEATURE_HFA if (HasLayout()) { @@ -8165,7 +8165,7 @@ DWORD MethodTableBuilder::GetFieldSize(FieldDesc *pFD) return (1 << (DWORD)(DWORD_PTR&)(pFD->m_pMTOfEnclosingClass)); } -#ifdef FEATURE_UNIX_AMD64_STRUCT_PASSING +#ifdef UNIX_AMD64_ABI // checks whether the struct is enregisterable. void MethodTableBuilder::SystemVAmd64CheckForPassStructInRegister() { @@ -8250,7 +8250,7 @@ void MethodTableBuilder::StoreEightByteClassification(SystemVStructRegisterPassi eeClass->SetEightByteClassification(helper->eightByteCount, helper->eightByteClassifications, helper->eightByteSizes); } -#endif // FEATURE_UNIX_AMD64_STRUCT_PASSING +#endif // UNIX_AMD64_ABI //--------------------------------------------------------------------------------------- // |