RFR: 8164508: unexpected profiling mismatch in c1 generated code
Jamsheed C m
jamsheed.c.m at oracle.com
Mon Sep 5 07:53:04 UTC 2016
Hi,
webrev: http://cr.openjdk.java.net/~jcm/8164508/webrev.00/
bug id: https://bugs.openjdk.java.net/browse/JDK-8164508
we were skipping profiling of first argument(recv) for virtual call
sites to static callee. this was not done for non-inline case in c1.
(see linked case for ref: https://bugs.openjdk.java.net/browse/JDK-8027631)
- bool has_receiver = x->inlined() && !x->callee()->is_static() &&
!Bytecodes::has_receiver(bc);
+ bool has_receiver = x->callee()->is_loaded() &&
!x->callee()->is_static() && !Bytecodes::has_receiver(bc); above change
is not absolutely necessary as this can happen only for
_linkToVirtual,_linkToInterface sites inlining at present, and linker
elimination and callee inlining always happen together in c1. Please
review, Best Regards, Jamsheed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160905/beeaed3a/attachment-0001.html>
More information about the hotspot-compiler-dev
mailing list