JDK10/RFR(L): 8144448: Avoid placing CTI immediately following or preceding RDPC instruction.

Patric Hedlin patric.hedlin at oracle.com
Thu Jun 15 16:06:27 UTC 2017


Dear all,

I would like to ask for help to review the following change/update:

Issue:    https://bugs.openjdk.java.net/browse/JDK-8144448

Webrev:   http://cr.openjdk.java.net/~neliasso/phedlin/tr8144448/

Prerequisite: https://bugs.openjdk.java.net/browse/JDK-8181853


*** As a comment to the discussion on how to simplify processing of 
"mundane" changes,
     this change/update comes with an additional prerequisite (patch) 
cleaning-up
     whitespace and two lingering uses of 'NOT_LP64' and 'LP64_ONLY'.

Prerequisite: http://cr.openjdk.java.net/~neliasso/phedlin/tr8144448.pre/


8144448: Avoid placing CTI immediately following or preceding RDPC 
instruction.

     Approach taken here is to handle 'rdpc' in the same manner as 
'cbcond', using
     a simple scheme to prohibit the assembler from emitting any 'rdpc' 
instruction
     back-to-back with other CTI ('rdpc' itself included), inserting 
'nop' as needed.


Caveat:

     This change is applied to all generations of SPARC cores event 
though it is the
     SPARC Core S5 that is the actual target. Benchmarking on T4 and M7 
suggests that
     there is no penalty. This choice (which is subject to change) has 
been made in
     order to give the update some mileage while waiting for Core S5 
hardware to be
     available in regular testing.


Testing:

     Mostly tested on JDK9 (jtreg/RBT/hotspot/tier0-comp).
     Testing on JDK10 (jtreg/RBT/hotspot/precheckin-comp).


Best regards,
Patric


More information about the hotspot-compiler-dev mailing list