Discussion on Removal of Garbage Collector and other GCC Multi threaded Work

Nicholas Krause xerofoify@gmail.com
Thu Feb 27 19:07:00 GMT 2020


Greetings All,

After doing some more research it seems that it may be time to remove 
the garbage collector. I'm
aware of the linkage to precompiled headers but even them I think its 
time due to two reasons:

1. The work related to multithreading gcc is working around the global 
state of the collector which
makes scaling less likely in terms of threads. In addition it is 
causing   unnecessary compilations
in terms of workarounds in this project.

2. Memory usage may be decreased in certain passes due to being able to 
implement memory allocation
at a pass or per pass type level with more knowledge than a generic 
garbage collector. I'm aware this
is done for a lot of passes. However it  could be done for the other 
passes that are linked currently to the
garbage collector.

I'm not sure what memory allocation strategies we want to implement in 
terms of replacing the garbage
collector but I think its time.

On another I'm looking into the issues with PHI nodes and operators as 
to how to lock or decrease global
state there as this seems to be the biggest complication when I've time. 
In addition as Jeff stated we
will also want to encapsulate SSA operands and other SSA related things 
in a series of classes as part of
this.


Regards,
Nick



More information about the Gcc mailing list