chiark / gitweb /
hashmap: introduce hash_ops to make struct Hashmap smaller
authorMichal Schmidt <mschmidt@redhat.com>
Tue, 12 Aug 2014 23:00:18 +0000 (01:00 +0200)
committerMichal Schmidt <mschmidt@redhat.com>
Mon, 15 Sep 2014 14:08:50 +0000 (16:08 +0200)
commitd5099efc47d4e6ac60816b5381a5f607ab03f06e
tree661308aae8a0885e90da25874e7df3e795532356
parentf44541bc934c6e2b02155559e9eeb17a13a09558
hashmap: introduce hash_ops to make struct Hashmap smaller

It is redundant to store 'hash' and 'compare' function pointers in
struct Hashmap separately. The functions always comprise a pair.
Store a single pointer to struct hash_ops instead.

systemd keeps hundreds of hashmaps, so this saves a little bit of
memory.
82 files changed:
src/analyze/analyze.c
src/bus-proxyd/bus-policy.c
src/cgtop/cgtop.c
src/core/automount.c
src/core/bus-endpoint.c
src/core/dbus-manager.c
src/core/dbus.c
src/core/device.c
src/core/killall.c
src/core/load-fragment.c
src/core/manager.c
src/core/mount-setup.c
src/core/swap.c
src/core/transaction.c
src/core/unit.c
src/delta/delta.c
src/journal-remote/journal-remote.c
src/journal/catalog.c
src/journal/catalog.h
src/journal/coredump-vacuum.c
src/journal/coredumpctl.c
src/journal/journal-file.c
src/journal/journalctl.c
src/journal/journald-server.c
src/journal/mmap-cache.c
src/journal/sd-journal.c
src/journal/test-catalog.c
src/libsystemd-network/sd-dhcp-server.c
src/libsystemd/sd-bus/bus-match.c
src/libsystemd/sd-bus/bus-objects.c
src/libsystemd/sd-bus/bus-track.c
src/libsystemd/sd-bus/bus-util.c
src/libsystemd/sd-bus/busctl.c
src/libsystemd/sd-bus/sd-bus.c
src/libsystemd/sd-event/sd-event.c
src/libsystemd/sd-rtnl/sd-rtnl.c
src/locale/localectl.c
src/login/logind-acl.c
src/login/logind-session.c
src/login/logind.c
src/machine/machined.c
src/network/networkd-link.c
src/network/networkd-manager.c
src/network/networkd-network.c
src/network/networkd-wait-online-link.c
src/readahead/readahead-collect.c
src/remount-fs/remount-fs.c
src/resolve/resolved-dns-cache.c
src/resolve/resolved-dns-domain.c
src/resolve/resolved-dns-domain.h
src/resolve/resolved-dns-packet.c
src/resolve/resolved-dns-query.c
src/resolve/resolved-dns-rr.c
src/resolve/resolved-dns-rr.h
src/resolve/resolved-dns-scope.c
src/resolve/resolved-dns-server.c
src/resolve/resolved-dns-server.h
src/resolve/resolved-dns-transaction.c
src/resolve/resolved-dns-zone.c
src/resolve/resolved-link.c
src/resolve/resolved-manager.c
src/shared/cgroup-util.c
src/shared/conf-files.c
src/shared/fdset.c
src/shared/hashmap.c
src/shared/hashmap.h
src/shared/install.c
src/shared/locale-util.c
src/shared/logs-show.c
src/shared/set.c
src/shared/set.h
src/shared/util.c
src/socket-proxy/socket-proxyd.c
src/sysctl/sysctl.c
src/systemctl/systemctl.c
src/sysusers/sysusers.c
src/sysv-generator/sysv-generator.c
src/test/test-hashmap.c
src/test/test-install.c
src/test/test-prioq.c
src/test/test-unit-file.c
src/tmpfiles/tmpfiles.c