The Microsoft Shared Source CLI Implementation Refresh


Stephen R. Walli
Microsoft Corporation

June 2002

Applies to:
   Microsoft® .NET Framework
   Microsoft® Windows® XP
   Microsoft® JScript®

Summary: The refreshed Microsoft Shared Source CLI Implementation source archive unpacks and builds on both the Microsoft Windows XP and FreeBSD operating systems and provides improvements to the Rotor experience, including better debugging, documentation and samples, build environment and tools enhancements, and bug fixes. (3 printed pages)

Download the Shared Source CLI (sscli_20020619.tgz) from the MSDN Download Center.

Download the Shared Source CLI Implementation source code from the MSDN CD.

The team delivering the Microsoft® Shared Source CLI implementation has just released a refresh of the beta code base on MSDN.

On March 26, 2002 at a conference in Cambridge, England, Microsoft released the source code to a complete working implementation of the ECMA C# and Common Language Infrastructure (CLI) standards. These standards specify the core of the Microsoft .NET Framework. At this event, Microsoft also issued a research request for proposal. Since then, more than 30,000 people have downloaded the shared source CLI (code-named "Rotor") and a lively community has developed around the code base. (You can find links to the discussion groups on the download page listed above). In addition, we received more than 100 requests for proposal and accepted more than 30 of them. The Microsoft Research group in Cambridge, UK is facilitating this work, and will be hosting a workshop this summer to bring together the various Rotor projects to share information.

Like the previous source archive, the refreshed source archive unpacks and builds on both the Microsoft Windows XP and FreeBSD operating systems. This refresh also provides lots of extras to improve the Rotor experience. There are changes in more than 500 files, as well as another 1000 new files in the archive bringing the archive total to 8722 files. (This doesn't include all the extra class reference documentation in a separate archive.)

The changes to this source archive refresh fall into four broad categories:

  • Debugger improvements
  • Improved documentation and samples
  • Enhancements to the build environment and tools
  • General clean-up and bug fixing

Several things have been improved on the debugging front. The managed debugger (cordbg) now works on FreeBSD (and is improved on Windows XP as well). The SOS command plug-in for gdb that allows class and stack structures to be dumped now takes case-insensitive commands. A new tool (ildbdump) that dumps Rotor .ildb files has been added to the tool chain (clr/src/tools/ildbdump). Microsoft JScript support to emit symbolid debug information has been added.

Several new samples have been added to the samples directory. Look for the xsd schema conversion tool sample and the dnprofiler managed profiler sample in the samples directory.

A big change happened in the documentation space. Along with new documents matching the changes, this source refresh delivers class reference documentation as part of the distribution. This documentation set is large enough that it has been added in its own compressed archive for separate download.

One of the strengths of the Shared Source CLI is its build and test infrastructure. The Beta refresh includes a number of improvements in the build system:

  • The build tool (build.exe) parsing of csc.exe and gcc's output has been improved so the build*.err log file is more informative about errors.
  • Two new tools, permview and genpalunitable, are now available. (These are SDK tools. The genpalunitable tool is used to generate part of the Unicode support for the FreeBSD Platform Adaptation Layer. The output from this tool was shipped in the March beta release, but the tool itself is now shipped in this refresh.)
  • The test suite driver now conforms to the different types of build environments (checked, fast checked, free) and test executables are built into appropriately named directory hierarchies as well as the test logs.
  • A considerable number of new test cases have been added to the test suites.

Finally, a lot of code clean-up and bug fixing has gone on in this release. The JIT has been re-factored and builds much faster. Code pitching in the JIT has also been improved. Bugs across the entire code base including cordbg, the base class library and frameworks, the FreeBSD PAL, execution engine, JIT, and so on, have been fixed.

We continue our commitment to our growing community with this refresh of the Shared Source CLI implementation and we are very excited on the Rotor team to watch the community develop and the source base evolve in new directions. I encourage you to download the latest Shared Source CLI archive and explore the possibilities it presents to experiment with and learn about the internals of the Common Language Infrastructure. Happy hacking!

You can read more about the Microsoft Shared Source CLI in MSDN Magazine.