RFR 8223229 [lworld] C1 crashes when calling final virtual methods with value arguments
Ioi Lam
ioi.lam at oracle.com
Thu May 2 06:06:43 UTC 2019
https://bugs.openjdk.java.net/browse/JDK-8223229
http://cr.openjdk.java.net/~iklam/valhalla/8223229-c1-opt-virtual-call-scalarized-args.v01/
This is a small fix when C1 makes a call to a final virtual method with
scalarized args. It should use the
CompiledMethod::verified_value_entry_point().
I also removed CompiledMethod::is_c1(), which I added earlier without
realizing that there's already CodeBlob::is_compiled_by_c1().
BTW, I am not quite sure what to do with the unverified entry point. It
seems to me that we would need something like this:
void CompiledIC::compute_monomorphic_entry(...) {
...
if (is_optimized) {
entry = caller_is_c1 ?
method_code->verified_value_entry_point() :
method_code->verified_entry_point();
} else {
entry = caller_is_c1 ?
method_code->unverified_value_entry_point() :
method_code->entry_point();
}
}
Tobias, what do you think?
Thanks
- Ioi
More information about the valhalla-dev
mailing list