summaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-zero-mode-crash.patch
diff options
context:
space:
mode:
authorErkka Kääriä <erkka.kaaria@intel.com>2016-08-09 10:32:17 +0300
committerMaxin B. John <maxin.john@intel.com>2016-08-24 13:49:01 +0300
commit0eeeb059751c00042bd0341d17f5cceddef3c502 (patch)
treed3e337cca462ec96e6ee3730b611565c755db983 /recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-zero-mode-crash.patch
parent0d58a4fb4236edeeeb3f23a66c0c14279066c8bb (diff)
downloadmeta-java-0eeeb059751c00042bd0341d17f5cceddef3c502.tar.gz
openjdk-8: Upgrade from u72 to u102
Openjdk is upgraded from u72 to u102. Two patches are dropped, as these were backports and the fixes are present in the current version. One patch was refreshed. One patch was backported from the upcoming u112 to fix a zero mode crash. Signed-off-by: Erkka Kääriä <erkka.kaaria@intel.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
Diffstat (limited to 'recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-zero-mode-crash.patch')
-rw-r--r--recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-zero-mode-crash.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-zero-mode-crash.patch b/recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-zero-mode-crash.patch
new file mode 100644
index 0000000..29702fa
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-zero-mode-crash.patch
@@ -0,0 +1,49 @@
1# HG changeset patch
2# User aph
3# Date 1461121375 -3600
4# Wed Apr 20 04:02:55 2016 +0100
5# Node ID 6811f311f905409fe71d2b1c2fb34c3268758724
6# Parent c66e4cc0fce57664ab44c55c47fa1a2f1bf02638
78154210: Zero: Better byte behaviour
8Summary: Complete support for 8132051 on Zero and fix failure on 64-bit big-endian systems
9Reviewed-by: andrew, chrisphi, coleenp
10
11Upstream-Status: Backport [Fixed in u112]
12
13diff --git hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
14--- hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
15+++ hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
16@@ -220,9 +220,16 @@
17 // Push our result
18 for (int i = 0; i < result_slots; i++) {
19 // Adjust result to smaller
20- intptr_t res = result[-i];
21+ union {
22+ intptr_t res;
23+ jint res_jint;
24+ };
25+ res = result[-i];
26 if (result_slots == 1) {
27- res = narrow(method->result_type(), res);
28+ BasicType t = method->result_type();
29+ if (is_subword_type(t)) {
30+ res_jint = (jint)narrow(t, res_jint);
31+ }
32 }
33 stack->push(res);
34 }
35diff --git hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp
36--- hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp
37+++ hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp
38@@ -593,8 +593,9 @@
39 /* 0xDC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
40
41 /* 0xE0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
42-/* 0xE4 */ &&opc_default, &&opc_fast_aldc, &&opc_fast_aldc_w, &&opc_return_register_finalizer,
43-/* 0xE8 */ &&opc_invokehandle,&&opc_default, &&opc_default, &&opc_default,
44+/* 0xE4 */ &&opc_default, &&opc_default, &&opc_fast_aldc, &&opc_fast_aldc_w,
45+/* 0xE8 */ &&opc_return_register_finalizer,
46+ &&opc_invokehandle, &&opc_default, &&opc_default,
47 /* 0xEC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
48
49 /* 0xF0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,