Fix intrinsics treatment in Crossgen2 (#1926)
authorTomáš Rylek <trylek@microsoft.com>
Sat, 25 Jan 2020 10:27:13 +0000 (11:27 +0100)
committerGitHub <noreply@github.com>
Sat, 25 Jan 2020 10:27:13 +0000 (11:27 +0100)
* Fix intrinsics treatment in Crossgen2

This change fixes unintentional differences in the treatment of
intrinsics in Crossgen2 compared to Crossgen1 I found while
investigating failures in the regression test b426654. While the
change by itself doesn't fully fix the test, I believe it to be
generally useful towards removing the remaining codegen
differences between the compilers.

Thanks

Tomas

* Address JanK's PR feedback

I have audited all entries in the intrinsics table and I added
the [Intrinsic] annotation to all applicable methods. I haven't
found <code>System.EETypePtr.EETypePtrOf</code> and
<code>System.Activator.DefaultConstructorOf</code> anywhere.
I have reverted the additional check for IsInternalCall that
I put in CorInfoImpl in the 1st commit.

Thanks

Tomas

* Revert assertion check for IsInternalCall

* Remove superfluous check for the intrinsic attribute

* Put back the CORINFO_FLG_JIT_INTRINSIC flag

* Remove superfluous namespace name on Intrinsic per JanK's suggestion

* One more removal of superfluous namespace specification


Trivial merge