< prev index next >
src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp
Print this page
rev 47588 : 8190285: s390: Some java boolean checks are not correct
Reviewed-by:
@@ -2375,10 +2375,16 @@
Register RjvmtiState = Z_tmp_1;
__ z_lg(RjvmtiState, thread_(jvmti_thread_state));
__ store_const(Address(RjvmtiState, JvmtiThreadState::earlyret_state_offset()),
JvmtiThreadState::earlyret_inactive, 4, 4, Z_R0_scratch);
+ if (state == itos) {
+ // Narrow result if state is itos but result type is smaller.
+ // Need to narrow in the return bytecode rather than in generate_return_entry
+ // since compiled code callers expect the result to already be narrowed.
+ __ narrow(Z_tos, Z_tmp_1); /* fall through */
+ }
__ remove_activation(state,
Z_tmp_1, // retaddr
false, // throw_monitor_exception
false, // install_monitor_exception
true); // notify_jvmdi
< prev index next >