Request for reviews (M): 6833129 : specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot

Tom Rodriguez Thomas.Rodriguez at Sun.COM
Tue Jul 7 13:34:55 PDT 2009

>> I'd still like to see the restart decision made by continuation_for  
>> turned into an assert.  At least compare it with is_restart():
>>>   pc = Interpreter::continuation_for(method(), bcp,  
>>> callee_parameters, is_top_frame, use_next_mdp);
>>> + assert(is_restart() == !use_next_mdp, "");
>> If the assert fails, there may be a bug.
> Yes, it is a little confusion here. I know you want the restart  
> decisions all made by the compilers (the right approach and we will
> definitely  do it).  You may  have already noticed that  the restart  
> bits  are all  zero  in the C1 interface,  and  for  C2,  only
> intrinsics Object.clone and Arrays.copyOf turned on their restart  
> bits. As a result, this work just sets up the framework with the
> necessary logics to fix this bug.

Are you saying a separate fix will finish this?  Why?  This should all  
be done at once and I think we want some strong asserts to guarantee  
that reexecute is only used in the way we expect it to be.


>> -- John

More information about the hotspot-compiler-dev mailing list