< prev index next >
src/cpu/zero/vm/cppInterpreter_zero.cpp
Print this page
@ rev 7922 : 8154210: Zero: Better byte behaviour
| Summary: Complete support for 8132051 on Zero and fix failure on 64-bit big-endian systems
| Reviewed-by: andrew, chrisphi, coleenp
*** 218,230 ****
stack->set_sp(stack->sp() + method->max_locals());
// Push our result
for (int i = 0; i < result_slots; i++) {
// Adjust result to smaller
! intptr_t res = result[-i];
if (result_slots == 1) {
! res = narrow(method->result_type(), res);
}
stack->push(res);
}
}
--- 218,237 ----
stack->set_sp(stack->sp() + method->max_locals());
// Push our result
for (int i = 0; i < result_slots; i++) {
// Adjust result to smaller
! union {
! intptr_t res;
! jint res_jint;
! };
! res = result[-i];
if (result_slots == 1) {
! BasicType t = method->result_type();
! if (is_subword_type(t)) {
! res_jint = (jint)narrow(t, res_jint);
! }
}
stack->push(res);
}
}
< prev index next >