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