This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Compiler support for write barrier insertion ?


Dmitry Antipov writes:
 > 
 > with write barrier inside ? The short answers are:
 >   1) If 'struct obj' has 100 trapped members, having 100 set_XXX functions
 >      or macros just to set the fields is ugly;
 >   2) Migration from explicit memory management to garbage collection - if you
 >      have 1M lines of code which uses 'XXX->next = ...', it's quite hard
 >      to rewrite all stuff even with the help of modern refactoring tools.
 > 
 > I realize that the whole thing is very specific and probably will never used
 > by the most of compiler users. But, anyway, is it technically possible to
 > implement such thing ? How much overhead it may introduce ?

It wouldn't be very hard to do something like this in the gimplify
stage immediately after the langauge front-end has done its job: for
every write through a magic pointer, call the barrier.

But I'd have to question your motives for doing this.  Standard C++
can already do this stuff with smart pointers and no compiler hacking
at all.  It's a much better tool for the job.

Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]