Camm Maguire writes: > Greetings! GCL is a lisp compiler system which outputs C code normally > compiled by gcc into an object, which is then loaded and relocated > into the running GCL image. In lisp, compiling is a very incremental > process, with many, often thousands of small functions compiled one at > a time. GCL/gcc compilation speed would be greatly improved if gcc > could be run in some sort of incremental mode, perhaps piping from > stdin and outputting assemly only on stdout, if there was some way to > instruct gcc to flush intermediary results. gas, which requires a > seekable bfd device realistically on some sort of file system, could > be run separately. > > Is anything like this conceivable? > > To Robert Dodier -- yes I agree, filesystem i/o is negligible as it is > all cached anyway on typical modern machines. > > To Robert Boyer -- what an idea! Eventually, the proper way is likely > to write GCL as a gcc frontend, as previously discussed briefly on > both lists. Now is not the time, however, alas.
Look at http://per.bothner.com/papers/GccSummit03/gcc-server.pdf for some ideas. What you seem to be describing, though, is a JIT. Andrew.