提交 117c5b4f 编写于 作者: A aph

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
上级 29207ffe
...@@ -220,9 +220,16 @@ void CppInterpreter::main_loop(int recurse, TRAPS) { ...@@ -220,9 +220,16 @@ void CppInterpreter::main_loop(int recurse, TRAPS) {
// Push our result // Push our result
for (int i = 0; i < result_slots; i++) { for (int i = 0; i < result_slots; i++) {
// Adjust result to smaller // Adjust result to smaller
intptr_t res = result[-i]; union {
intptr_t res;
jint res_jint;
};
res = result[-i];
if (result_slots == 1) { if (result_slots == 1) {
res = narrow(method->result_type(), res); BasicType t = method->result_type();
if (is_subword_type(t)) {
res_jint = (jint)narrow(t, res_jint);
}
} }
stack->push(res); stack->push(res);
} }
......
...@@ -593,8 +593,9 @@ BytecodeInterpreter::run(interpreterState istate) { ...@@ -593,8 +593,9 @@ BytecodeInterpreter::run(interpreterState istate) {
/* 0xDC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, /* 0xDC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
/* 0xE0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, /* 0xE0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
/* 0xE4 */ &&opc_default, &&opc_fast_aldc, &&opc_fast_aldc_w, &&opc_return_register_finalizer, /* 0xE4 */ &&opc_default, &&opc_default, &&opc_fast_aldc, &&opc_fast_aldc_w,
/* 0xE8 */ &&opc_invokehandle,&&opc_default, &&opc_default, &&opc_default, /* 0xE8 */ &&opc_return_register_finalizer,
&&opc_invokehandle, &&opc_default, &&opc_default,
/* 0xEC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, /* 0xEC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
/* 0xF0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, /* 0xF0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册