This is the mail archive of the 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: Threadsafe Garbage Collection allocation

On June 28, 2019 10:48:51 PM GMT+02:00, Giuliano Belinassi <> wrote:
>Question: What are all the possible ways to allocate and deallocate
>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
>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. 


>Thank you for your support,

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