I asked some people in the .Net team about this.
QCalls are calls to native methods within the CLR runtime. They behave like other [DllImport]
s, but they're faster because they make specific (undocumented) assumptions about what the native methods do, so they can skip various marshalling and GC and exception checks.
InternalCall
is different; it's for calls for special reflection-style things which are generated at runtime (this wasn't very clear).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…