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)
commitd415a00bd954f7f9306c38c4e4fbfe34ccfa7242
treeeba465e505ba6f09561ee48383bede031412d555
parent2364d603e7d1357ccc4da6b0761a5a2575511297
Address P/Invoke inlining code review feedback and cleanup

Address some code review feedback from #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`.
src/jit/codegencommon.cpp
src/jit/codegenxarch.cpp
src/jit/gentree.cpp
src/jit/gentree.h
src/jit/lower.cpp
src/jit/lowerxarch.cpp
src/jit/morph.cpp
src/jit/target.h