I added “prerequisite” support to my front end prototype recently — this is code that ensures that a hunk’s contents are only re-used if all the things that the hunk depends on are also re-used. This turned out to be much simpler to implement than I had anticipated.
With this I still can’t compile the C front end with my compiler, because GCC has many ordering dependencies in its headers (ugly stuff — you should avoid this) and so ends up requiring the decl smashing fix. The decl smashing fix looks like a tricky project, especially given the multi-threading constraint, so I haven’t done it yet.
Meanwhile I took a simpler approach to trying to get some results from this test case: I reordered all the
#include statements in the C front end to ensure consistency. Yay hacks!
Even with the additional prerequisites bookkeeping, the results are quite nice, though a bit more modest than the zenity case:
|Compiler||Time (M:S)||Memory at exit|