RFR(XS): JDK-8114853 variable tracking size limit exceeded in vmStructs.cpp
Dmitry Samersoff
dmitry.samersoff at oracle.com
Fri Nov 20 19:36:17 UTC 2015
Coleen, Mikael,
The reason of turning off var-tracking-assignments for entire hotspot
build is that this tracking (IMHO) desn't have much value for optimized
hotspot code but turning it off slightly increase build speed and reduce
the size of libjvm.debuginfo file.
Here is numbers:
With tracking (linux-x86_64-normal-server-fastdebug):
7114.640u 324.632s 32:14.35 384.5% 0+0k 0+0io 22pf+0w
libjvm.debuginfo 405418192
Without tracking:
6756.573u 328.854s 31:54.13 370.1% 0+0k 0+0io 1900pf+0w
libjvm.debuginfo 355457280
-Dmitry
On 2015-11-19 18:33, Coleen Phillimore wrote:
>
>
> On 11/19/15 9:40 AM, Mikael Gerdin wrote:
>> Hi,
>>
>> On 2015-11-19 12:58, Dmitry Samersoff wrote:
>>> Everybody,
>>>
>>> Please review:
>>>
>>> http://cr.openjdk.java.net/~dsamersoff/JDK-8114853/webrev.01/
>>
>> Isn't it possible to set -fno-var-tracking-assignments for just
>> vmstructs.cpp?
>>
>> In my opinion it's really helpful to have as much debug info as
>> possible in the product binaries.
>
> Or even turn off -g entirely for vmStructs? It's not really debuggable
> anyway.
>
> Coleen
>
>>
>> /Mikael
>>
>>
>>>
>>> Story:
>>>
>>> VTA fails on huge VMStructs::init() so this method is being compiled
>>> twice.
>>>
>>> VTA[1] allows compiler to emit DWARF-3 debugging information for local
>>> variable ever if this variable is optimized out at the cost of
>>> compilation time and compiler memory consumption.
>>>
>>> So I decided to turn it off for entire hotspot build to reduce memory
>>> footprint/increase compilation speed.
>>>
>>> 1. https://gcc.gnu.org/wiki/Var_Tracking_Assignments
>>>
>>> -Dmitry
>>>
>>
>
--
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.
More information about the hotspot-runtime-dev
mailing list