提交 bec7495c 编写于 作者: N never

7150051: incorrect oopmap in critical native

Reviewed-by: kvn, twisti
上级 28ed5255
...@@ -1197,7 +1197,6 @@ static void save_or_restore_arguments(MacroAssembler* masm, ...@@ -1197,7 +1197,6 @@ static void save_or_restore_arguments(MacroAssembler* masm,
if (in_regs[i].first()->is_Register() && if (in_regs[i].first()->is_Register() &&
(in_sig_bt[i] == T_LONG || in_sig_bt[i] == T_ARRAY)) { (in_sig_bt[i] == T_LONG || in_sig_bt[i] == T_ARRAY)) {
int offset = slot * VMRegImpl::stack_slot_size; int offset = slot * VMRegImpl::stack_slot_size;
slot += VMRegImpl::slots_per_word;
if (map != NULL) { if (map != NULL) {
__ movq(Address(rsp, offset), in_regs[i].first()->as_Register()); __ movq(Address(rsp, offset), in_regs[i].first()->as_Register());
if (in_sig_bt[i] == T_ARRAY) { if (in_sig_bt[i] == T_ARRAY) {
...@@ -1206,6 +1205,7 @@ static void save_or_restore_arguments(MacroAssembler* masm, ...@@ -1206,6 +1205,7 @@ static void save_or_restore_arguments(MacroAssembler* masm,
} else { } else {
__ movq(in_regs[i].first()->as_Register(), Address(rsp, offset)); __ movq(in_regs[i].first()->as_Register(), Address(rsp, offset));
} }
slot += VMRegImpl::slots_per_word;
} }
} }
// Save or restore single word registers // Save or restore single word registers
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册