comparison gcc/ggc-common.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Simple garbage collection for the GNU compiler. 1 /* Simple garbage collection for the GNU compiler.
2 Copyright (C) 1999-2017 Free Software Foundation, Inc. 2 Copyright (C) 1999-2018 Free Software Foundation, Inc.
3 3
4 This file is part of GCC. 4 This file is part of GCC.
5 5
6 GCC is free software; you can redistribute it and/or modify it under 6 GCC is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free 7 the terms of the GNU General Public License as published by the Free
834 ggc_usage (size_t allocated, size_t times, size_t peak, 834 ggc_usage (size_t allocated, size_t times, size_t peak,
835 size_t freed, size_t collected, size_t overhead) 835 size_t freed, size_t collected, size_t overhead)
836 : mem_usage (allocated, times, peak), 836 : mem_usage (allocated, times, peak),
837 m_freed (freed), m_collected (collected), m_overhead (overhead) {} 837 m_freed (freed), m_collected (collected), m_overhead (overhead) {}
838 838
839 /* Equality operator. */
840 inline bool
841 operator== (const ggc_usage &second) const
842 {
843 return (get_balance () == second.get_balance ()
844 && m_peak == second.m_peak
845 && m_times == second.m_times);
846 }
847
839 /* Comparison operator. */ 848 /* Comparison operator. */
840 inline bool 849 inline bool
841 operator< (const ggc_usage &second) const 850 operator< (const ggc_usage &second) const
842 { 851 {
852 if (*this == second)
853 return false;
854
843 return (get_balance () == second.get_balance () ? 855 return (get_balance () == second.get_balance () ?
844 (m_peak == second.m_peak ? m_times < second.m_times 856 (m_peak == second.m_peak ? m_times < second.m_times
845 : m_peak < second.m_peak) 857 : m_peak < second.m_peak)
846 : get_balance () < second.get_balance ()); 858 : get_balance () < second.get_balance ());
847 } 859 }
924 compare (const void *first, const void *second) 936 compare (const void *first, const void *second)
925 { 937 {
926 const mem_pair_t f = *(const mem_pair_t *)first; 938 const mem_pair_t f = *(const mem_pair_t *)first;
927 const mem_pair_t s = *(const mem_pair_t *)second; 939 const mem_pair_t s = *(const mem_pair_t *)second;
928 940
929 return (*f.second) < (*s.second); 941 if (*f.second == *s.second)
942 return 0;
943
944 return *f.second < *s.second ? 1 : -1;
930 } 945 }
931 946
932 /* Compare rows in final GGC summary dump. */ 947 /* Compare rows in final GGC summary dump. */
933 static int 948 static int
934 compare_final (const void *first, const void *second) 949 compare_final (const void *first, const void *second)