Request for review (S): 7174928: JSR 292: unresolved invokedynamic call sites deopt and osr infinitely
vladimir.kozlov at oracle.com
Tue Jun 12 11:21:35 PDT 2012
Looks good to me. Only concern is how set_exception_handlers() affects new code.
Christian Thalinger wrote:
> 7174928: JSR 292: unresolved invokedynamic call sites deopt and osr infinitely
> While testing a new flag I want to introduce (TraceOSR) I noticed that
> unresolved invokedynamic call sites compiled in C1 deoptimize and OSR
> infinitely. The reason for that is we deoptimize but we don't have machinery
> in C1 to tell to throw the method out and recompile it. So we just enter the
> same method again and hit the same unresolved call site.
> The fix is to conditionally jump to the deopt stub in generated code if the
> CallSite object is null. Handling it this way it is not required to
> recompile the code.
> Tested with JRuby's bench_red_black.rb
More information about the hotspot-compiler-dev