Enabling engineers to add new features and optimizations that were not possible before

Jan 31, 2012 14:21 GMT  ·  By

You may remember that last month Mozilla was having trouble with Firefox, it failed to build in certain situations as the linker would hit the virtual address space limit of 3GB, on Windows. Unable to secure more memory, the linking process would fail, leaving developers unable to build binaries.

This was a serious issue since there wasn't that much Mozilla could do to avoid the problem.

It opted to drop some of the features planned for Firefox 11 so that it could continue to work on the browser.

But this was only a temporary solution, a permanent or at least a long-term one had to be found. There were several alternatives, each with advantages or disadvantages.

Mozilla could have started building Firefox on 64-bit machines, giving the linker 4GB of virtual address space to work with.

But upgrading the entire infrastructure would be expensive, complex and would come with issues of its own. What's more, this was only going to fix the problem for a couple of years at the most.

Instead, Mozilla opted to update to Microsoft Visual Studio 2010 to compile and build the browser, starting with Firefox 13 that is landing in the Nightly channel soon. Currently, Mozilla is using the rather old VS 2005. The move comes with plenty of benefits.

"Our developers have not been able to take advantage of new compiler features and have had to struggle to keep valuable optimizations from breaking -- including having had to back out and ultimately delay some important new features like SPDY," Mozilla's Asa Dotzler explained.

"Our users have have suffered a slower Firefox than would be possible as both direct and indirect results of moving to a more modern compiler," he said.

It seems like an obvious choice, but upgrading the Windows build systems to Visual Studio 2010 comes with a price, future Firefoxes will no longer be able to support Windows 2000 and Windows XP pre-SP2.

Only 0.4 percent of Windows Firefox users are running these operating systems, so very few people will be affected. That said, those running Windows 2000 are left with few options, either continue to run Firefox 12 without updating it, or Firefox 10 ESR, or switch to Opera. However, Windows XP users can simply deploy the latest service pack and be done with it.