diff options
author | Tom Tromey <tom@tromey.com> | 2023-01-31 14:25:29 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2023-02-13 15:22:16 -0700 |
commit | cdf3de175d41acec85d6c3cc8b599f79658edb06 (patch) | |
tree | 7f88b2ac4f2fb3ca547575063bae003ade56abab /gdb/value.c | |
parent | d3824ae14ac64c10733537969a0bd58a9385cbf2 (diff) | |
download | gdb-cdf3de175d41acec85d6c3cc8b599f79658edb06.zip gdb-cdf3de175d41acec85d6c3cc8b599f79658edb06.tar.gz gdb-cdf3de175d41acec85d6c3cc8b599f79658edb06.tar.bz2 |
Turn value_incref and value_decref into methods
This changes value_incref and value_decref to be methods of value.
Much of this patch was written by script.
Approved-By: Simon Marchi <simon.marchi@efficios.com>
Diffstat (limited to 'gdb/value.c')
-rw-r--r-- | gdb/value.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/gdb/value.c b/gdb/value.c index 75f8dc4..eb047ed 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -1447,28 +1447,17 @@ value_mark (void) return all_values.back ().get (); } -/* See value.h. */ - -void -value_incref (struct value *val) -{ - val->m_reference_count++; -} - /* Release a reference to VAL, which was acquired with value_incref. This function is also called to deallocate values from the value chain. */ void -value_decref (struct value *val) +value::decref () { - if (val != nullptr) - { - gdb_assert (val->m_reference_count > 0); - val->m_reference_count--; - if (val->m_reference_count == 0) - delete val; - } + gdb_assert (m_reference_count > 0); + m_reference_count--; + if (m_reference_count == 0) + delete this; } /* Free all values allocated since MARK was obtained by value_mark @@ -2309,7 +2298,7 @@ clear_internalvar (struct internalvar *var) switch (var->kind) { case INTERNALVAR_VALUE: - value_decref (var->u.value); + var->u.value->decref (); break; case INTERNALVAR_STRING: |