< 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 >