[9] RFR(S): 8140574: C2 must re-execute checks after deoptimizing from merged uncommon traps

Roland Westrelin roland.westrelin at oracle.com
Fri Oct 30 15:07:36 UTC 2015


> http://cr.openjdk.java.net/~thartmann/8140574/webrev.03/

I think you need to check that should_reexecute() is true for the JVMState of the dominating test. I don’t know if that part is good or not:

2911   JsrSet* jsr_null = new ciTypeFlow::JsrSet(NULL);
2914   Block*     block = get_block_for(index, jsr_null, ciTypeFlow::no_create);
2915   Block* dom_block = get_block_for(dom_index, jsr_null, ciTypeFlow::no_create);

(The use of JsrSet null that I don’t understand)

Also, the same bci can be in multiple blocks because ciTypeFlow clones some block (ciTypeFlow::clone_loop_head()) and I wonder if that can be a problem or not.

Otherwise it looks good to me.

Roland.


More information about the hotspot-compiler-dev mailing list