208 |
208 |
209 // Support for short branches |
209 // Support for short branches |
210 bool may_be_short_branch() const { return (flags() & Flag_may_be_short_branch) != 0; } |
210 bool may_be_short_branch() const { return (flags() & Flag_may_be_short_branch) != 0; } |
211 |
211 |
212 // Avoid back to back some instructions on some CPUs. |
212 // Avoid back to back some instructions on some CPUs. |
213 bool avoid_back_to_back() const { return (flags() & Flag_avoid_back_to_back) != 0; } |
213 enum AvoidBackToBackFlag { AVOID_NONE = 0, |
|
214 AVOID_BEFORE = Flag_avoid_back_to_back_before, |
|
215 AVOID_AFTER = Flag_avoid_back_to_back_after, |
|
216 AVOID_BEFORE_AND_AFTER = AVOID_BEFORE | AVOID_AFTER }; |
|
217 |
|
218 bool avoid_back_to_back(AvoidBackToBackFlag flag_value) const { |
|
219 return (flags() & flag_value) == flag_value; |
|
220 } |
214 |
221 |
215 // instruction implemented with a call |
222 // instruction implemented with a call |
216 bool has_call() const { return (flags() & Flag_has_call) != 0; } |
223 bool has_call() const { return (flags() & Flag_has_call) != 0; } |
217 |
224 |
218 // First index in _in[] corresponding to operand, or -1 if there is none |
225 // First index in _in[] corresponding to operand, or -1 if there is none |