any impact on performance from javac's debug option ?
Tom Rodriguez
Thomas.Rodriguez at Sun.COM
Mon Aug 4 10:42:43 PDT 2008
I looked into this a while back and the only code generation
difference with -g is that locals which are declared as final
constants actually get code emitted for them. Without -g things like
"final int i = 4;" act pretty much like defines so that every use of i
is simply replaced with 4. With -g a local is actually allocated and
initialized though otherwise the code is the same. In general this
won't have any effect on the code either c1 or c2 emit but it does
slightly increase the size of the bytecodes. Since both c1 and c2 use
bytecode size as a metric for inlining decisions it could cause a
method not to be inlined. C1 is probably more sensitive to this since
it has no profile feedback in it's inlining decisions. That's the
only difference I'm aware of.
tom
On Aug 2, 2008, at 8:31 AM, Ulf Zibis wrote:
> Hi,
>
> does javac's debug option have any impact on the performance of the
> code ?
> I can't see any difference after some loops, but is there a difference
> principally ?
>
> Regards,
>
> Ulf
>
>
>
More information about the hotspot-dev
mailing list