summaryrefslogtreecommitdiff
path: root/src/vm/object.cpp
diff options
context:
space:
mode:
authorCarol Eidt <carol.eidt@microsoft.com>2018-03-15 08:21:25 -0700
committerCarol Eidt <carol.eidt@microsoft.com>2018-04-17 16:15:14 -0700
commit32480530dbcd0936e4292bdd50e5a94002f8dba2 (patch)
tree333c33b54dce6addf25ec10419e7eb8ed742e05f /src/vm/object.cpp
parent963e5a9f08ed7c664036ef9b7050374b66f71d64 (diff)
downloadcoreclr-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/object.cpp')
-rw-r--r--src/vm/object.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/vm/object.cpp b/src/vm/object.cpp
index 1ff98d11da..bb7c8e713e 100644
--- a/src/vm/object.cpp
+++ b/src/vm/object.cpp
@@ -590,7 +590,7 @@ void STDCALL CopyValueClassArgUnchecked(ArgDestination *argDest, void* src, Meth
STATIC_CONTRACT_FORBID_FAULT;
STATIC_CONTRACT_MODE_COOPERATIVE;
-#if defined(UNIX_AMD64_ABI) && defined(FEATURE_UNIX_AMD64_STRUCT_PASSING)
+#if defined(UNIX_AMD64_ABI)
if (argDest->IsStructPassedInRegs())
{
@@ -606,7 +606,7 @@ void STDCALL CopyValueClassArgUnchecked(ArgDestination *argDest, void* src, Meth
return;
}
-#endif // UNIX_AMD64_ABI && FEATURE_UNIX_AMD64_STRUCT_PASSING
+#endif // UNIX_AMD64_ABI
// destOffset is only valid for Nullable<T> passed in registers
_ASSERTE(destOffset == 0);
@@ -621,7 +621,7 @@ void InitValueClassArg(ArgDestination *argDest, MethodTable *pMT)
STATIC_CONTRACT_FORBID_FAULT;
STATIC_CONTRACT_MODE_COOPERATIVE;
-#if defined(UNIX_AMD64_ABI) && defined(FEATURE_UNIX_AMD64_STRUCT_PASSING)
+#if defined(UNIX_AMD64_ABI)
if (argDest->IsStructPassedInRegs())
{
@@ -2050,7 +2050,7 @@ BOOL Nullable::UnBoxIntoArgNoGC(ArgDestination *argDest, OBJECTREF boxedVal, Met
}
CONTRACTL_END;
-#if defined(UNIX_AMD64_ABI) && defined(FEATURE_UNIX_AMD64_STRUCT_PASSING)
+#if defined(UNIX_AMD64_ABI)
if (argDest->IsStructPassedInRegs())
{
// We should only get here if we are unboxing a T as a Nullable<T>
@@ -2088,7 +2088,7 @@ BOOL Nullable::UnBoxIntoArgNoGC(ArgDestination *argDest, OBJECTREF boxedVal, Met
return TRUE;
}
-#endif // UNIX_AMD64_ABI && FEATURE_UNIX_AMD64_STRUCT_PASSING
+#endif // UNIX_AMD64_ABI
return UnBoxNoGC(argDest->GetDestinationAddress(), boxedVal, destMT);
}