mirror of
https://github.com/zeek/zeek.git
synced 2025-10-06 00:28:21 +00:00
Minor TableVal::Assign() ref-counting optimization
This commit is contained in:
parent
3f92df51b7
commit
61b44a9c63
1 changed files with 2 additions and 2 deletions
|
@ -1532,7 +1532,7 @@ bool TableVal::Assign(IntrusivePtr<Val> index, std::unique_ptr<HashKey> k,
|
||||||
if ( (is_set && new_val) || (! is_set && ! new_val) )
|
if ( (is_set && new_val) || (! is_set && ! new_val) )
|
||||||
InternalWarning("bad set/table in TableVal::Assign");
|
InternalWarning("bad set/table in TableVal::Assign");
|
||||||
|
|
||||||
TableEntryVal* new_entry_val = new TableEntryVal(new_val);
|
TableEntryVal* new_entry_val = new TableEntryVal(std::move(new_val));
|
||||||
HashKey k_copy(k->Key(), k->Size(), k->Hash());
|
HashKey k_copy(k->Key(), k->Size(), k->Hash());
|
||||||
TableEntryVal* old_entry_val = AsNonConstTable()->Insert(k.get(), new_entry_val);
|
TableEntryVal* old_entry_val = AsNonConstTable()->Insert(k.get(), new_entry_val);
|
||||||
|
|
||||||
|
@ -1561,7 +1561,7 @@ bool TableVal::Assign(IntrusivePtr<Val> index, std::unique_ptr<HashKey> k,
|
||||||
if ( change_func )
|
if ( change_func )
|
||||||
{
|
{
|
||||||
auto change_index = index ? std::move(index) : RecreateIndex(k_copy);
|
auto change_index = index ? std::move(index) : RecreateIndex(k_copy);
|
||||||
auto v = old_entry_val ? old_entry_val->GetVal() : new_val;
|
auto v = old_entry_val ? old_entry_val->GetVal() : new_entry_val->GetVal();
|
||||||
CallChangeFunc(change_index.get(), v.get(), old_entry_val ? ELEMENT_CHANGED : ELEMENT_NEW);
|
CallChangeFunc(change_index.get(), v.get(), old_entry_val ? ELEMENT_CHANGED : ELEMENT_NEW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue