Tag Archives: internal

Object header get complicated

Object header, sync block, thin lock vs fat lock, hashcode – all of this and more will be explained in the following post. First, let’s make a brief overview on the object header in the CLR. What is the object … Continue reading

Posted in .NET, c# | Tagged , , , , , , , , , , , , | 2 Comments

DumpMiner – UI tool for playing with ClrMD

ClrMD is a library built by Lee Culver. This is a live process and crash dump introspection library.  It allows you to write tools and debugger plugins which can do thing similar to SOS and PSSCOR. I’m not going to … Continue reading

Posted in .NET | Tagged , , , , , , , , , , , , , | Leave a comment

Mono.Cecil – Simplify and Optimize macros

You may have seen it, but what does it actually do? Do I need to add them? When we write IL macros, we emit instruction after instruction to the method body. Instruction, is operation to do (e.g. math operations, load\store, … Continue reading

Posted in .NET, c# | Tagged , , , , , | Leave a comment

IL Call Vs. Callvirt Instruction Part Two

In the first part I wrote about what is call and callvirt, what the differences and why should I care. We saw that even non-virtual methods called via callvirt instruction because the null check reason. But with this sense when this is … Continue reading

Posted in .NET | Tagged , , , , , , | Leave a comment