Posted in dehydra on January 25th, 2008 4 Comments »
GCC Dehydra is evolving much faster than the Elsa version did and it is easier to use. Once I implemented virtual methods correctly, Joshua was able to do his thing in no time at all. All it takes is a custom GCC (I’d love to see it packaged) and specifying plugin parameters in CXXFLAGS. Dehydra [...]
Posted in dehydra on January 17th, 2008 1 Comment »
Analysis GCC Dehydra is starting to work. I encourage people try it out for their code scanning needs. The main missing feature is control-flow-sensitive traversal, which means that currently function bodies are traversed represented in a sequential fashion. It is the most complicated part of Dehydra, but most of the time this feature is not [...]
Posted in dehydra on January 8th, 2008 2 Comments »
Thanks to the 2-fold increase in manpower working on pork, we finally have an opportunity to work on the nice-to-have things. Progress Recently I have been working on a GCC plugin to do Mozilla-specific analyses with GCC. Unfortunately, I didn’t notice that GCC had a plugin branch so I reinvented the wheel there. Fortunately that [...]
Looks like pork is slowly going to get merged back into oink. This makes me happy as it will result in decreased merging headaches and gives more visibility to my work outside of Mozilla. My elkhound changes are already in! Recently I added support for retaining gnu attributes to elsa and corresponding features dehydra and [...]
Posted in dehydra on November 29th, 2007 6 Comments »
Over at LWN there is an article on GCC plugins. It touches onto how it would be useful to implement static analysis tools as GCC plugins. It does not mention that certain optimizations are not feasible without interfacing with the compiler and that there could be a very significant decrease in errors if we the [...]
Posted in dehydra, outparamdel on November 28th, 2007 Comments Off
In the previous post, I described the simple rewriting case that I am working on at the moment. Someone was quick to point out that the approach wouldn’t work for all methods (XPIDL Arrays were the example). Indeed, anything more complicated than simple getters can’t be rewritten to “Succeeded/Failed” pattern without switching to C++ exceptions. [...]
Posted in dehydra, outparamdel on November 26th, 2007 4 Comments »
There will be a lot of under-the-hood code changes in Mozilla 2. Our goal is to end up with a simpler, safer and faster codebase. This is my perspective on the work ahead with respect to outparamdel. Outparamdel In the presence of a garbage collector we will be getting rid of stack nsCOMPtr<> usage (using [...]
In the Beginning There Was a Void Approximately a year ago, Brendan discussed with me the crazy possibility of rewriting most of the Mozilla code automatically to modernize the codebase. The benefits were huge. Gecko would use the C++ standard library to improve code readability and reducing size, XPCOM would be ripped out of the [...]
It doesn’t look like my oink patches are going to reach upstream anytime soon. In fact, in the past year no patches have landed in the oink tree. I think this is unfortunate, but I have my own repository at http://hg.mozilla.org and will continue working on my fork. So allow me to introduce Pork, the [...]
Posted in dehydra, squash on July 13th, 2007 Comments Off
New Repository Since I do not yet have write access to oink svn, I have been doing all of my development in ad-hoc repositories within the svn checkout. This made it rather hard to collaborate with others. I finally got sick of the situation (and stumbled upon hgsvn) and converted all 11 svn repositories to [...]