I was digging through a MSVC++ map file for xul.dll. Turns out MSVC++ isn’t as naive about virtual initializers as the GNU toolchain. Initializers are all laid out next to each other. Same goes for what looks like finalizers and exception unwinding stuff. Initializers have an __E prefix and look like this:
1 2 3 4 | |
Now if only Microsoft fixed their kernel to do [
1
| |
](http://taras.glek.net/blog/2010/04/19/windows-sucks-at-memory-mapped-io-during-startup/) efficiently, it’d be a superior OS for starting Firefox.