Hello All,

(I'm replying to Grigori & CC to gcc@ - I suppose every person interested in plugins is reading the gcc@ list)

Grigori Fursin wrote:

http://gcc-ici.sourceforge.net/papers/mfpp2007.pdf

Thanks for the reference.

By the way, if I am correct, GCC MELT (developed by Basile) also attempts to address some of these issues with data marshaling to modularize GCC ...

I won't call it data marshaling (which for me is a synonym of serialization, pickling, ...., ie machinery to encode/decode data into a byte stream, e.g. on disk or on the network) in MELT, because there is no "transmission" (at the lowest level at least).

MELT is only (often, but not always) boxing raw GCC data, into a box or container. This box is a MELT value containing GCC stuff (like gimple or tree) which are not values. And the issue is of course to handle unboxed stuff (like tree-s, gimple-s etc .... in the sense of gcc/tree.h gcc/gimple.h etc...) and sometimes be able to box them in MELT values. I won't call that marshalling. Most of MELT dirty tricks are precisely related to the ability to handle raw GCC stuff which is not boxed in MELT values.

There is some documentation about that in the gcc/doc/melt.texi file on the MELT branch.

Marshalling would mean, to me at last, being able to write some internal GCC representation on a disk and later on being able to read it again and have GCC handling the data as if it was built by the same process.

Precompiled headers are providing a very limited way of marshalling. MELT is not (and I am trying hard to avoid to have to write gimple stuff and to have to read it back; this is a major task).

I would suppose that the LTO branch is marshalling some stuff in DWARF format, but I understood that for perfomance reasons it is not supposed to be extensible (so there is no way to add additional data into LTO).

Regards.

--
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***

Reply via email to