--- old/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp 2018-05-16 09:39:01.834478824 +0200 +++ new/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp 2018-05-16 09:38:55.848496197 +0200 @@ -970,12 +970,11 @@ void InterpreterMacroAssembler::set_mdp_flag_at(Register mdp_in, int flag_byte_constant) { assert(ProfileInterpreter, "must be profiling interpreter"); - int header_offset = in_bytes(DataLayout::header_offset()); - int header_bits = DataLayout::flag_mask_to_header_mask(flag_byte_constant); + int flags_offset = in_bytes(DataLayout::flags_offset()); // Set the flag - ldr(rscratch1, Address(mdp_in, header_offset)); - orr(rscratch1, rscratch1, header_bits); - str(rscratch1, Address(mdp_in, header_offset)); + ldrb(rscratch1, Address(mdp_in, flags_offset)); + orr(rscratch1, rscratch1, flag_byte_constant); + strb(rscratch1, Address(mdp_in, flags_offset)); }