@@ -1016,31 +1016,16 @@ void InterpreterMacroAssembler::update_mdp_for_ret(Register return_bci) {
1016
1016
}
1017
1017
1018
1018
1019
- void InterpreterMacroAssembler::profile_taken_branch (Register mdp,
1020
- Register bumped_count) {
1019
+ void InterpreterMacroAssembler::profile_taken_branch (Register mdp) {
1021
1020
if (ProfileInterpreter) {
1022
1021
Label profile_continue;
1023
1022
1024
1023
// If no method data exists, go to profile_continue.
1025
- // Otherwise, assign to mdp
1026
1024
test_method_data_pointer (mdp, profile_continue);
1027
1025
1028
1026
// We are taking a branch. Increment the taken count.
1029
- // We inline increment_mdp_data_at to return bumped_count in a register
1030
- // increment_mdp_data_at(mdp, in_bytes(JumpData::taken_offset()));
1031
- Address data (mdp, in_bytes (JumpData::taken_offset ()));
1032
- ldr (bumped_count, data);
1033
- assert (DataLayout::counter_increment == 1 ,
1034
- " flow-free idiom only works with 1" );
1035
- // Intel does this to catch overflow
1036
- // addptr(bumped_count, DataLayout::counter_increment);
1037
- // sbbptr(bumped_count, 0);
1038
- // so we do this
1039
- adds (bumped_count, bumped_count, DataLayout::counter_increment);
1040
- Label L;
1041
- br (Assembler::CS, L); // skip store if counter overflow
1042
- str (bumped_count, data);
1043
- bind (L);
1027
+ increment_mdp_data_at (mdp, in_bytes (JumpData::taken_offset ()));
1028
+
1044
1029
// The method data pointer needs to be updated to reflect the new target.
1045
1030
update_mdp_by_offset (mdp, in_bytes (JumpData::displacement_offset ()));
1046
1031
bind (profile_continue);
@@ -1055,7 +1040,7 @@ void InterpreterMacroAssembler::profile_not_taken_branch(Register mdp) {
1055
1040
// If no method data exists, go to profile_continue.
1056
1041
test_method_data_pointer (mdp, profile_continue);
1057
1042
1058
- // We are taking a branch. Increment the not taken count.
1043
+ // We are not taking a branch. Increment the not taken count.
1059
1044
increment_mdp_data_at (mdp, in_bytes (BranchData::not_taken_offset ()));
1060
1045
1061
1046
// The method data pointer needs to be updated to correspond to
0 commit comments