On June 28, 2019 10:48:51 PM GMT+02:00, Giuliano Belinassi <giuliano.belina...@usp.br> wrote: >Hi, > >*** >Question: What are all the possible ways to allocate and deallocate >memory >through the Garbage Collector? >*** > >Context: I am parallelizing GCC internals and I am facing problems with >the GCC >Garbage Collector, and therefore I need to make it threadsafe to >continue with >the project. > >Currently, I want to do a palliative solution to this, which is locking >a mutex >every time a chunk of memory is allocated or deallocated. For this, I >need to >know all the possibilities to allocate and deallocate memory and >lock/unlock >the mutex there. > >As far as I have seen, there are the macros XALLOC, XNEW, XNEWVEC... >defined in >libiberty.h which are called everywhere in GCC, but I don't know if >these are >the only ways to allocate memory in GCC through the Garbage Collector.
GC allocation will eventually call ggc_alloc_internal and manual freeing ggc_free. Collection goes via ggc_collect and is done only at specific points triggered from the pass manager. Richard. >Thank you for your support, >Giuliano.