Hence Roslyn, .NET Native with VC++ backend, value types improvements and safer pointers in 7.x.
There are even plans to slowly move parts of the runtime from C++ into C#, now that .NET Native is a thing.
" So, in my view, the primary trend is moving our existing C++ codebase to C#. It makes us so much more efficient and enables a broader set of .NET developers to reason about the base platform more easily and also contribute"
In case anyone else is interested, that quote comes from https://github.com/dotnet/coreclr/blob/master/Documentation/...
> The .NET runtime supports a wide variety of high performance applications. As such, performance is a key design element for every change.
https://github.com/dotnet/coreclr/blob/master/Documentation/...
Interesting, it's clear after a bit of research that this is the case (i.e. .NET JIT simpler that Hotspot), but it had never occurred to me that it was a conscious decision
I'd always thought that the .NET was just playing catch-up and/or didn't need to do all the things that Hotspot does. (for instance .NET has value types or 'stucts' so some optimisations are not needed because the programmer can just use them instead of classes, if they need the perf boost)