Understanding the nuts and bolts of the CLR


I noticed Andrew Stopford posted a great blog entry about what books are out there for learning the in’s and out’s of the CLR. Another resource you may want to consider, is the CLR source code itself – Rotor! What better way to understand the nuts and bolts than to dig in under the hood and make sense out of all the high level goop. 


You’ll find that nearly all of the runtime code follows and complies with the Common Language Infrastructure standard, and the kicker – it was built from a source branch of the real CLR! There are only a few major deviations: a different JIT, a different Garbage Collector, and the removal of COM interop support (therefore removing Winforms and ASP.NET etc). A quick PPT overview (Jason Whittington) of what’s in and what’s out can be found at: http://staff.develop.com/jasonw/tools_rotor_2002.ppt.


Would a post on the Whidbey CLR and Rotor Whidbey build process be interesting to you guys?


Comments (5)

  1. I for one would be interested in the build process for Whidbey CLR and Rotor Whidbey (as I am sure Andrew would as well). Both of us, and Sam Gentile, have pointed to Rotor as a great learning tool. I have spent much time porting Rotor to later versions of BSD than originally shipped (see my blog for details), as well as spent time learning the inner workings of the CLR through reviewing Rotor code.

    Thanks Joel!

  2. Andreas Häber says:

    Such a post would be interesting IMO.

    Also it would be cool if you changed the build environment to support SFU/Interix too :)

    I tried compiling it on SFU3.5 beta last week, but Rotor couldn’t understand which platform it was compiling for. After doing some extensions to the build configurations I gave up (this time! maybe I do a new attempt again later some time).

  3. I agree with Robert that a post on the build process would be great ! :) I guess the Whidby release will use MSBuild though? It would also be great to see some info on whats different about the Rotor JIT/GC to the standard one, my understanding is that these are simpler models to the standard one but it would be great to see what’s missing and area’s where it could be improved. Cheers.

  4. Joel Pobar says:

    Okay, I’ll start writing some notes about the CLR Build lab and the build process. I’ll take your advice Andrew and illustrate the differences in the source bases. Sounds good guys, Thanks.

  5. Peter Evans says:

    I too would be interested in the ROTOR build process. It looks like its a derivative or direct descended of the DEVICE DRIVER build stuff.

    It would be nice to know if you are planning to move to MSBUILD and or the in-outs so that it might be ported to boost-build. I know this is late post on this, but I just recently discovered ROTOR.