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 |
|