On Jul 19, 2012, at 10:15 AM, Mark Roos wrote:

> Is there any way from within ( or from a debug agent ) to tell hotspot to 
> forget all optimization?   

Not really.  There is -Xint which runs only in the interpreter.
And -client or -XX:TieredStopAtLevel=1 which turns off C2.

> I also see a few of these. 
> 
>  430   COMPILE SKIPPED: invalid non-klass dependency 
> 
>  704   COMPILE SKIPPED: out of nodes parsing method (not retryable)  ( server 
> mode ) 
> 
> 1623   COMPILE SKIPPED: out of nodes parsing method (retry at different tier) 
> 
> I am going to retrace yesterday's setup to see where the 4X slowdown came 
> from 

There are a couple of compile-skipped conditions we are thinking about fixing.

The out of nodes message means our inlining policy needs adjusting.

The dependency one, as long as it's rare, is just par for the course.  The 
compiler runs asynchronously, and occasionally it uses data that has changed by 
the time the compilation task ends.  There is a transactional mechanism that 
re-validates dependencies before the compiled code is committed to the code 
cache.  There's no way to guarantee the revalidation; we just expect it to be a 
99% kind of thing.

We also see this failure in our testing:

4168   COMPILE SKIPPED: unlinked call site (FIXME needs patching or recompile 
support) (retry at different tier)

That's because of missing patch logic for C1-compiling unlinked indy and MH 
call sites.  The failure kicks the job up to C2 which has a different tactic 
for this corner case.

— John
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to