gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Incremental gcc


From: Camm Maguire
Subject: [Gcl-devel] Incremental gcc
Date: 26 Mar 2006 00:14:06 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

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.

Take care,


Robert Boyer <address@hidden> writes:

> Let me make the following zany suggestion.  The first time gcl starts gcc, do
> it under gdb.  Give the gcc command two files, not one, with one of them
> being the cmpinclude.h and the other being the ordinary user's gazonk.c; I
> think gcc can work this way on several files to be compiled to one.  Before
> running, in gdb, put in a break point trap for the opening of files; in this
> way, trap the opening of the typical, second user file.  When that file
> opening point is reached after starting gcc under gdb, force feed GDB a
> machine code "fork" instruction.  Keep one of two forked processes alive but
> waiting as the "warm start" version for use later, and use the other fork to
> continue compiling gazonk.c as usual.  When the second fork later starts up,
> force feed it the new correct file and force it to fork itself.  I couldn't
> do any of this myself in 100 years, but maybe it would be possible for
> someone!  Just ignore this message as soon as it sounds insane.
> 
> Bob
> 
> 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]