equal
deleted
inserted
replaced
965 } |
965 } |
966 |
966 |
967 void InterpreterMacroAssembler::set_mdp_flag_at(Register mdp_in, |
967 void InterpreterMacroAssembler::set_mdp_flag_at(Register mdp_in, |
968 int flag_byte_constant) { |
968 int flag_byte_constant) { |
969 assert(ProfileInterpreter, "must be profiling interpreter"); |
969 assert(ProfileInterpreter, "must be profiling interpreter"); |
970 int header_offset = in_bytes(DataLayout::header_offset()); |
970 int flags_offset = in_bytes(DataLayout::flags_offset()); |
971 int header_bits = DataLayout::flag_mask_to_header_mask(flag_byte_constant); |
|
972 // Set the flag |
971 // Set the flag |
973 ldr(rscratch1, Address(mdp_in, header_offset)); |
972 ldrb(rscratch1, Address(mdp_in, flags_offset)); |
974 orr(rscratch1, rscratch1, header_bits); |
973 orr(rscratch1, rscratch1, flag_byte_constant); |
975 str(rscratch1, Address(mdp_in, header_offset)); |
974 strb(rscratch1, Address(mdp_in, flags_offset)); |
976 } |
975 } |
977 |
976 |
978 |
977 |
979 void InterpreterMacroAssembler::test_mdp_data_at(Register mdp_in, |
978 void InterpreterMacroAssembler::test_mdp_data_at(Register mdp_in, |
980 int offset, |
979 int offset, |