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 |
---|---|---|
Prototype | 0:49 | 43M |
Trunk | 1:29 | 83M |
Be the first to leave a comment. Don’t be shy.