Explicitly change the type of a method with implicit RetBuf to BYREF for
authorLubomir Litchev <lubol@microsoft.com>
Tue, 23 Feb 2016 18:24:21 +0000 (10:24 -0800)
committerLubomir Litchev <lubol@microsoft.com>
Thu, 25 Feb 2016 23:09:35 +0000 (15:09 -0800)
commitb3bc5a4a3ecf5b10961f73c2b14beb4ebf3beb64
tree7e779f45849ebd3df06a79aed15117483aeef369
parentf3a925dd5c285343576f357c2a4bbd911dc1a0ce
Explicitly change the type of a method with implicit RetBuf to BYREF for
System V.

The System V ABI requires the address implicit RetBuf to be returned in
RAX.
Instead of moving the address of the buffer to RAX in codegenxarch.cpp,
change such methods return type to TYP_BYREF and generate the necessary
code to put the address in RAX.

Added/cleaned some comments.

Fixes issue dotnet/coreclr#3299.

Commit migrated from https://github.com/dotnet/coreclr/commit/9f6baf04de71fd6fb795786181dd872c2e5edbb8
src/coreclr/src/jit/codegenxarch.cpp
src/coreclr/src/jit/compiler.h
src/coreclr/src/jit/importer.cpp