I've been having some problems with the .Net 4.5 JIT compiler. If I compile my assembly with JIT optimization disabled, it runs fine. If I don't, I get an Access Violation, Segmentation Fault, or some other weird error. (from completely managed code). It also only affects .Net 4.5
So, because we deal directly with IL, we really need to figure out what IL makes it crash (so we don't generate it). I'm suspecting(because it's multi-threaded code) that the new Multi Core JITting may be to blame. I'd like to narrow it down and get more information about it.
What kind of configuration options are there for the JIT compiler? Can I disable multi-core without disabling JIT compilation completely? Are there any other options I could use to try to track down what causes this?
This was a rather large project. I thought it was purely managed code, but apparently there was a few unmanaged parts. The problem ended up being we didn't properly mark some things as being marshalled, leading to memory being used by .Net 4.5 because it's more aggressive, but in .Net 4 and below, it'd be conservative and not use it "just in case"