RFR 8226800 [lworld][c1] SharedRuntime::fixup_callers_callsite is wrong when caller is C1

Ioi Lam ioi.lam at oracle.com
Wed Jun 26 05:47:36 UTC 2019


https://bugs.openjdk.java.net/browse/JDK-8226800
http://cr.openjdk.java.net/~iklam/valhalla/8226800-fixup_callers_callsite-c1.v01/

SharedRuntime::fixup_callers_callsite() needs to know whether the caller
is compiled by C1 or C2, and use the appropriate entry point, due to the
difference in how C1 and C2 handle calling convention for value parameters.

I think there are probably similar bugs lurking around. E.g.,
Method::from_compiled_entry() probably returns the wrong value when
we have a C1-compiled caller. I'll investigate more.

I also updated TestCallingConventionC1.java to test more combinations
of the interaction between C1 and C2.


Thanks
- Ioi









More information about the valhalla-dev mailing list