Blame SOURCES/8158260-pr2991-rh1341258.patch

8f84c8
# HG changeset patch
8f84c8
# User simonis
8f84c8
# Date 1466155884 -7200
8f84c8
#      Fri Jun 17 11:31:24 2016 +0200
8f84c8
# Node ID 74081c30fede694b547c8b3386b9887ff14e8775
8f84c8
# Parent  3fc29347b27fdd2075e6ec6d80bb26ab2bf667c1
8f84c8
8158260, PR2991, RH1341258: PPC64: unaligned Unsafe.getInt can lead to the generation of illegal instructions
8f84c8
Summary: Adjust instruction generation.
8f84c8
Reviewed-by: goetz
8f84c8
Contributed-by: gromero@linux.vnet.ibm.com, horii@jp.ibm.com
8f84c8
8f84c8
diff -r 3fc29347b27f -r 74081c30fede src/cpu/ppc/vm/ppc.ad
8f84c8
--- openjdk/hotspot/src/cpu/ppc/vm/ppc.ad	Fri May 20 19:42:15 2016 +0100
8f84c8
+++ openjdk/hotspot/src/cpu/ppc/vm/ppc.ad	Fri Jun 17 11:31:24 2016 +0200
8f84c8
@@ -5461,7 +5461,7 @@
8f84c8
 %}
8f84c8
 
8f84c8
 // Match loading integer and casting it to long.
8f84c8
-instruct loadI2L(iRegLdst dst, memory mem) %{
8f84c8
+instruct loadI2L(iRegLdst dst, memoryAlg4 mem) %{
8f84c8
   match(Set dst (ConvI2L (LoadI mem)));
8f84c8
   predicate(_kids[0]->_leaf->as_Load()->is_unordered());
8f84c8
   ins_cost(MEMORY_REF_COST);
8f84c8
@@ -5477,7 +5477,7 @@
8f84c8
 %}
8f84c8
 
8f84c8
 // Match loading integer and casting it to long - acquire.
8f84c8
-instruct loadI2L_ac(iRegLdst dst, memory mem) %{
8f84c8
+instruct loadI2L_ac(iRegLdst dst, memoryAlg4 mem) %{
8f84c8
   match(Set dst (ConvI2L (LoadI mem)));
8f84c8
   ins_cost(3*MEMORY_REF_COST);
8f84c8