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