hello, world… LCG (Lightweight Code Gen) style!

I’ve finally gotten around to cooking up a post about the the spectrum of late-bound invocations one may make over methods, and it includes a look at a new Whidbey feature called LCG (Lightweight Code Gen). I’ll be posting the invocation story very soon, but I figured I’d give a very brief overview of LCG first:…

22

Rotor community resources

A question came through on e-mail today, asking where one could “talk“ to the Rotor community. I figured I’d blog a representative list – if you have something to add, feel free to leave a comment. Mailing lists: DOTNET-ROTOR, hosted by Developmentor -http://discuss.develop.com/dotnet-rotor.htmlDOTNET-SSCLI, hosted by Uni of Piza -https://mailserver.di.unipi.it/mailman/listinfo/dotnet-sscli (academic focused) Newsgroups: microsoft.public.shared_source.cli -http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&group=microsoft.public.shared_source.cli Community…

9

Job openings on the Microsoft Common Language Runtime team

I just posted to the Rotor newsgroup, the current job advertisements for the CLR team. Because this is a Rotor/CLR blog, I figured this post might hit the right prospective audience. Experience in the Rotor source base is a definite advantage. How can you beat being asked an interview question about the runtime, and then being able to crack open the…

2

Exception handling in Rotor

I’ve seen a few questions floating around about the exception handling mechanism used in Rotor (and the CLR). Here’s another list of notes about exception handling in Rotor. It was written by Jan Kotas back in the day to help Rotor developers debug and understand exceptions in the CLR. Exception is Born and Thrown This…

6

Explanatory notes on Rotor’s Garbage Collector

I’m posting a document written by Patrick Dussud (who’s an architect on the CLR team) about Rotor’s GC. The first release of Rotor had a simplified GC that was polled by the FJIT (usually done at the point of a call), which is massively different to the way that the product release of the CLR does…

7

C# command line FTP server

I’ve been working on a command line driven managed FTP server for the past few weekends. Something fun I’ve been doing on my off-time. Feel free to check it out: http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=0a7606f3-f8ec-4e39-8d0e-517248b7164c. It only supports a subset of the FTP RFC, but hey, one could extend it and post the result here right? =)

12

FCalls and GC Holes

A quick heads up, Yun Jin has posted a nice addition to my previous post on adding an FCall to the Rotor source. He goes on to explain a little bit about the GC and GC holes – which is exactly what he works on all day – he’s a GC Hole man. Unbelievable on…


Creating delegate types via Reflection.Emit

There’s been a few questions on various newsgroups asking for the code sequence for generating a delegate type at runtime. I’ve cooked up a bit of code which illustrates the various attribute parameters that you need to pass to the Reflection.Emit builders.  The example uses Reflection to crack open the method signature for “MyClass.MyConsoleWriteLineMethod(string output)” and…

4

hello, world… Reflection.Emit style!

Before I head home, I thought I’d post up your typical “Hello, World” style app in Reflection.Emit. ~20 lines of C# code, not too bad for code generation of a Console.WriteLine. For those who don’t know what Reflection.Emit is, or what it can do, have a look here here and here for starters. using System;using System.Reflection;using System.Reflection.Emit;using…

13

Short notes on the Rotor JIT

I wrote some notes on the Rotor JIT before I started at Microsoft. My intention was to play around and figure out how to replace or extend it, perhaps giving Rotor the ability to spit out processor extension specific code (MMX, 3dNow! etc). I never did get around to finishing the work.  What kind of…

5