RFR(S): 8185339: [MVT] Bytecode escape analyzer does not support _vbox/_vunbox

Tobias Hartmann tobias.hartmann at oracle.com
Wed Jul 26 11:43:43 UTC 2017


Hi,

https://bugs.openjdk.java.net/browse/JDK-8185339
http://cr.openjdk.java.net/~thartmann/valhalla/vt_prototype/webrev.33/

We crash during compilation because the bytecode escape analyzer does not support the _vbox/_vunbox bytecodes.

I noticed that for _vwithfield, we don't mark the input value type as escaping but for _vgetfield we do:
  if (s.cur_bc() != Bytecodes::_getstatic) {
    set_method_escape(state.apop());
  }

Do we need to 'set_method_escape' for value types? If I understand the code in ConnectionGraph::process_call_arguments() correctly, we set the fields escape state according to the argument escape state. For value types, the (reference) fields may still escape so I think we need to set the escape state.

Thanks,
Tobias



More information about the valhalla-dev mailing list