Unit at a time and C PCH
Andrew Haley
aph@redhat.com
Tue Jun 24 09:36:00 GMT 2008
Jan Hubicka wrote:
>>>>>>> "Andrew" == Andrew Haley <aph@redhat.com> writes:
>>>> Java use no-unit-at-a-time by default because large bytecode units
>>>> explode in memory.
>> Andrew> It is possible that identifier GC fixes this. The explosion
>> Andrew> was mainly identifiers.
>>
>> I did not realize that -- cool.
>>
>> Do we have a canonical gcj test case for this?
>>
>> If it is a .jar file, I think I probably don't care too much. My
>> reasoning here is that users already have to split jars to avoid TOC
>> overflows.
>
> OK, on the jar file I have, I get about 4.5GB (as seen on TOP output)
> for -fno-unit-at-a-time -O0. -O0 -funit-at-a-time ends up being killed
> on the 64bit box with 12GB of RAM. However after parsing the footprint
> seems to be "just" about 3.8GB of GGC memory so unit-at-a-time
> compilation ought to fit in about 4GB of RAM too. Somehow we later
> manage to consume 7GB at compilation stage, perhaps as result of
> excessive inlining or something else.
I don't think we do all that much inlining except at -O3.
What is this .jar file, anyway?
Andrew.
More information about the Gcc-patches
mailing list