Unix/x64 ABI cleanup
authorCarol Eidt <carol.eidt@microsoft.com>
Thu, 15 Mar 2018 15:21:25 +0000 (08:21 -0700)
committerCarol Eidt <carol.eidt@microsoft.com>
Tue, 17 Apr 2018 23:15:14 +0000 (16:15 -0700)
commit32480530dbcd0936e4292bdd50e5a94002f8dba2
tree333c33b54dce6addf25ec10419e7eb8ed742e05f
parent963e5a9f08ed7c664036ef9b7050374b66f71d64
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.
46 files changed:
clrdefinitions.cmake
src/debug/daccess/nidump.cpp
src/jit/CMakeLists.txt
src/jit/armelnonjit/CMakeLists.txt
src/jit/codegen.h
src/jit/codegencommon.cpp
src/jit/codegenxarch.cpp
src/jit/compiler.cpp
src/jit/compiler.h
src/jit/compiler.hpp
src/jit/ee_il_dll.cpp
src/jit/emit.cpp
src/jit/emitxarch.cpp
src/jit/gentree.cpp
src/jit/gentree.h
src/jit/importer.cpp
src/jit/jit.h
src/jit/lclvars.cpp
src/jit/linuxnonjit/CMakeLists.txt
src/jit/lower.cpp
src/jit/lsra.h
src/jit/lsrabuild.cpp
src/jit/lsraxarch.cpp
src/jit/morph.cpp
src/jit/protononjit/CMakeLists.txt
src/jit/scopeinfo.cpp
src/jit/target.h
src/vm/amd64/calldescrworkeramd64.S
src/vm/amd64/cgenamd64.cpp
src/vm/argdestination.h
src/vm/callhelpers.cpp
src/vm/callingconvention.h
src/vm/class.h
src/vm/class.inl
src/vm/comdelegate.cpp
src/vm/fcall.h
src/vm/jitinterface.cpp
src/vm/method.cpp
src/vm/methodtable.cpp
src/vm/methodtable.h
src/vm/methodtablebuilder.cpp
src/vm/methodtablebuilder.h
src/vm/object.cpp
src/vm/siginfo.cpp
src/vm/threads.h
src/vm/threadsuspend.cpp