Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Has the CIL(Common Intermediate Language) changed for .Net 4.0?

I know that until 3.5, .Net uses the byte code defined in .Net 2.0.

I am wondering whether the new 4.0 byte code changes or not. Thanks!

As the latest ECMA standard file is still the 2006 one, I suspect the 4.0 does not change the byte code.

EDIT: I did a little search on the web and found that CIL are .Net bytecode are different things. My understanding is that CIL to .Net bytecode is as asm to machine code. So my question still holds, does the CIL/Bytecode change?

like image 915
Yin Zhu Avatar asked Nov 04 '10 12:11

Yin Zhu


1 Answers

Yes, the CLR has been changed:

From the .NET Framework Versions and Dependencies page:

.NET Framework version 4: Includes a new version of the CLR, expanded base class libraries, and new features such as the Managed Extensibility Framework (MEF), dynamic language runtime (DLR), and code contracts.

Concerning changes to the CIL (MSIL), the closest I came is that there are no changes to the System.Reflection.Emit.OpCodes class, which should describe all available opcodes. I verified this by comparing the 4.0 documentation version with the 3.5 documentation version.

like image 102
Pieter van Ginkel Avatar answered Nov 15 '22 08:11

Pieter van Ginkel