--- a/hotspot/src/cpu/ppc/vm/templateInterpreterGenerator_ppc.cpp Fri Apr 29 04:44:08 2016 +0200
+++ b/hotspot/src/cpu/ppc/vm/templateInterpreterGenerator_ppc.cpp Thu Apr 28 23:08:16 2016 -0700
@@ -655,6 +655,7 @@
switch (state) {
case ltos:
case btos:
+ case ztos:
case ctos:
case stos:
case atos:
@@ -701,6 +702,7 @@
switch (state) {
case ltos:
case btos:
+ case ztos:
case ctos:
case stos:
case atos:
@@ -2082,12 +2084,14 @@
// Copied from TemplateTable::_return.
// Restoration of lr done by remove_activation.
switch (state) {
+ // Narrow result if state is itos but result type is smaller.
+ case itos: __ narrow(R17_tos); /* fall through */
case ltos:
case btos:
+ case ztos:
case ctos:
case stos:
- case atos:
- case itos: __ mr(R3_RET, R17_tos); break;
+ case atos: __ mr(R3_RET, R17_tos); break;
case ftos:
case dtos: __ fmr(F1_RET, F15_ftos); break;
case vtos: // This might be a constructor. Final fields (and volatile fields on PPC64) need
@@ -2147,6 +2151,10 @@
bname = "trace_code_btos {";
tsize = 2;
break;
+ case ztos:
+ bname = "trace_code_ztos {";
+ tsize = 2;
+ break;
case ctos:
bname = "trace_code_ctos {";
tsize = 2;