| 824 | } |
| 825 | |
| 826 | pub fn into_ranges( |
| 827 | self, |
| 828 | ) -> BuiltValueLabelRanges<impl Iterator<Item = CachedValueLabelRange> + use<>> { |
| 829 | // Ranges with not-enough labels are discarded. |
| 830 | let processed_labels_len = self.processed_labels.len(); |
| 831 | let is_valid_range = |
| 832 | move |r: &CachedValueLabelRange| r.label_location.len() == processed_labels_len; |
| 833 | |
| 834 | if dbi_log_enabled!() { |
| 835 | dbi_log!("Built ranges:"); |
| 836 | for range in self.ranges.iter().filter(|r| is_valid_range(*r)) { |
| 837 | dbi_log!( |
| 838 | "{:?}", |
| 839 | BuiltRangeSummary { |
| 840 | range, |
| 841 | isa: self.isa |
| 842 | } |
| 843 | ); |
| 844 | } |
| 845 | dbi_log!(""); |
| 846 | } |
| 847 | |
| 848 | BuiltValueLabelRanges { |
| 849 | ranges: self.ranges.into_iter().filter(is_valid_range), |
| 850 | covers_entire_scope: self.covers_entire_scope, |
| 851 | } |
| 852 | } |
| 853 | } |
| 854 | |
| 855 | /// Marker for tracking incoming jumps. |