Address P/Invoke inlining code review feedback and cleanup
authorBruce Forstall <brucefo@microsoft.com>
Tue, 28 Jun 2016 21:56:50 +0000 (14:56 -0700)
committerBruce Forstall <brucefo@microsoft.com>
Tue, 28 Jun 2016 22:05:36 +0000 (15:05 -0700)
commitcb19a69c78f0ec0a2b4a80362bc1fa595441bea4
tree3db536876de9dd8860a3141f7b97f0814f29c86e
parentf19622bc4363427757e5845e9529fbd8fa186bc0
Address P/Invoke inlining code review feedback and cleanup

Address some code review feedback from dotnet/coreclr#5939. Also, do a little cleanup.
Specifically:
1. Make many GenTreeCall accessors 'const'.
2. HasNonStandardArgs() and GetNonStandardArgCount() are used for a specific purpose in the fast
tailcall implementation. However, the fgMorphArgs() "non-standard args" mechanism is now used for
other purposes, so the names of these didn't match their intent. Also, the logic had decayed compared
to the fgMorphArgs logic it was mimicing. I renamed them to add the word "Added", and wrote some
comments to be more explicit about their use, as well as indicate in fgMorphArgs() that they need
to be kept in sync.
3. Added several GenTreeCall::IsHelperCall() accessors, and replace some code with them.
4. Added RBM_INIT_PINVOKE_FRAME_TRASH define to remove an `#ifdef`.
5. Removed an assert loop in LowerFastTailCall() since it's no longer accurate given the new users of `isNonStandard`.

Commit migrated from https://github.com/dotnet/coreclr/commit/d415a00bd954f7f9306c38c4e4fbfe34ccfa7242
src/coreclr/src/jit/codegencommon.cpp
src/coreclr/src/jit/codegenxarch.cpp
src/coreclr/src/jit/gentree.cpp
src/coreclr/src/jit/gentree.h
src/coreclr/src/jit/lower.cpp
src/coreclr/src/jit/lowerxarch.cpp
src/coreclr/src/jit/morph.cpp
src/coreclr/src/jit/target.h