< prev index next >
src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp
Print this page
rev 51264 : [11] 8207838: AArch64: Float registers incorrectly resture in JNI call
Summary: fix the order in which float registers are restored in restore_args for aarch64
Reviewed-by: aph
Contributed-by: guoge1@huawei.com
*** 1105,1115 ****
} else {
;
}
}
__ pop(x, sp);
! for ( int i = first_arg ; i < arg_count ; i++ ) {
if (args[i].first()->is_Register()) {
;
} else if (args[i].first()->is_FloatRegister()) {
__ ldrd(args[i].first()->as_FloatRegister(), Address(__ post(sp, 2 * wordSize)));
}
--- 1105,1115 ----
} else {
;
}
}
__ pop(x, sp);
! for ( int i = arg_count - 1 ; i >= first_arg ; i-- ) {
if (args[i].first()->is_Register()) {
;
} else if (args[i].first()->is_FloatRegister()) {
__ ldrd(args[i].first()->as_FloatRegister(), Address(__ post(sp, 2 * wordSize)));
}
< prev index next >