diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2020-06-03 13:23:42 +0100 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2020-07-22 17:57:48 +0100 |
commit | 9850ce4d7bb89d4f9216dd5eebc88156bf31b70b (patch) | |
tree | 76da014bb6484adce339dc3d24fa3fee4b971907 /libctf/ctf-inlines.h | |
parent | 2c9ca36be17839467dc88dd8c857bb3226f782e6 (diff) | |
download | gdb-9850ce4d7bb89d4f9216dd5eebc88156bf31b70b.zip gdb-9850ce4d7bb89d4f9216dd5eebc88156bf31b70b.tar.gz gdb-9850ce4d7bb89d4f9216dd5eebc88156bf31b70b.tar.bz2 |
libctf: add ctf_forwardable_kind
The internals of the deduplicator want to know if something is a type
that can have a forward to it fairly often, often enough that inlining
it brings a noticeable performance gain. Convert the one place in
libctf that can already benefit, even though it doesn't bring any sort
of performance gain there.
libctf/
* ctf-inlines.h (ctf_forwardable_kind): New.
* ctf-create.c (ctf_add_forward): Use it.
Diffstat (limited to 'libctf/ctf-inlines.h')
-rw-r--r-- | libctf/ctf-inlines.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libctf/ctf-inlines.h b/libctf/ctf-inlines.h index 4bec97b..3b912bd 100644 --- a/libctf/ctf-inlines.h +++ b/libctf/ctf-inlines.h @@ -40,6 +40,12 @@ ctf_get_ctt_size (const ctf_file_t *fp, return (fp->ctf_fileops->ctfo_get_ctt_size (fp, tp, sizep, incrementp)); } +static inline int +ctf_forwardable_kind (int kind) +{ + return (kind == CTF_K_STRUCT || kind == CTF_K_UNION || kind == CTF_K_ENUM); +} + static inline int ctf_dynhash_cinsert (ctf_dynhash_t *h, const void *k, const void *v) |