< prev index next >

src/cpu/aarch64/vm/interp_masm_aarch64.cpp

Print this page
rev 13098 : 8182161: aarch64: combine andr+cbnz into tbnz when possible
Summary: Combine andr+cbnz into tbnz when possible to save one instruction
Reviewed-by: aph

*** 1752,1763 **** test_method_data_pointer(mdp, profile_continue); // Load the offset of the area within the MDO used for // parameters. If it's negative we're not profiling any parameters ldr(tmp1, Address(mdp, in_bytes(MethodData::parameters_type_data_di_offset()) - in_bytes(MethodData::data_offset()))); ! cmp(tmp1, 0u); ! br(Assembler::LT, profile_continue); // Compute a pointer to the area for parameters from the offset // and move the pointer to the slot for the last // parameters. Collect profiling from last parameter down. // mdo start + parameters offset + array length - 1 --- 1752,1762 ---- test_method_data_pointer(mdp, profile_continue); // Load the offset of the area within the MDO used for // parameters. If it's negative we're not profiling any parameters ldr(tmp1, Address(mdp, in_bytes(MethodData::parameters_type_data_di_offset()) - in_bytes(MethodData::data_offset()))); ! tbnz(tmp1, 63, profile_continue); // i.e. sign bit set // Compute a pointer to the area for parameters from the offset // and move the pointer to the slot for the last // parameters. Collect profiling from last parameter down. // mdo start + parameters offset + array length - 1
< prev index next >