Blog about writing profiler stubs to interact with the 2.0 runtime.

Check out this blog entry ( to see some information that is rather interesting to people writing managed profilers, and probably not very interesting to everyone else.


BigArray<T>, getting around the 2GB array size limit

I’ve received a number of queries as to why the 64-bit version of the 2.0 .Net runtime still has array maximum sizes limited to 2GB. Given that it seems to be a hot topic of late I figured a little background and a discussion of the options to get around this limitation was in order….


What is the difference in a P/Invoke signature between “byref byte” and “byte[]”?

Lately we’ve seen a spate of issues coming up on 64-bit platforms within the Developer Division around usages of P/Invoke signatures which declare a parameter as type “byref byte” where the developer really means “byte[]” (the corresponding native parameter type being something like LPBYTE). Usually when something works on 32-bit and doesn’t work on 64-bit…


Bit specific code in agnostic assemblies???

In previous blog entries I’ve spent some time talking about how to mark assemblies as bit specific and how the loader deals with those markings. What however is the preferred mode of an application? I will posit that it is to be compiled agnostic and to run equally well on both 32-bit and 64-bit platforms….


Ferrari 4000

I am forced to admit that this is one damn fine notebook. Thanks to the helpful instructions on Volker’s blog ( I was able to get it up and running with 32-bit and 64-bit OSes very quickly. I’m currently trying to live with the 64-bit OS for a while before I fully commit to it….


Flipping bits on managed images to make them load with the right bitness…

In a number of blog entries I have discussed how on 64-bit machines .Net applications can run as either 32-bit or 64-bit processes depending on how the exe is produced. Generally it is highly recommended that developers use the compiler options provided by Whidbey compilers to specify the platform on which to run. However, some…


Isn’t my code going to be faster on 64-bit???

[updated 10:50am 5/2/05: It turns out that I copied and pasted an error in my code from the newsgroup posting I was answering. However a kind reader was able to spot it and I’ve fixed it, I’m getting new data and will updated graphs later today, however the points of the article remain valid] [updated…


How do exes/dlls generated with the /platform:x switch interact?

[fixed typo: 9:37am] I received a question about this recently, so i figured i’d elaborate here with a little example…   Let’s assume we have the following three dlls:    anycpu.dll      — compiled “any cpu”    x86.dll           — compiled “x86”    x64.dll           — compiled “x64”   And the following three exes:    anycpu.exe     — compiled “any cpu”    x86.exe          — compiled “x86”    x64.exe         …


Paint.Net is pretty cool, 20 minutes to get it running on 64-bit is even cooler!

Last night I played with Paint.Net for a while and got it running on the native 64-bit CLR with whidbey… Pretty cool stuff!!! Actually, a while might be overstating things… It took longer to install a copy of VS 2005 on my clean AMD64 machine than it did to get Paint.Net running natively, in fact there…


Good blog entries on .Net GC

I just ran across these, they are a couple of really good reads on the .Net GC…