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