UID, ..: un-inline methods to reduce header dependencies

Only 1% build time speedup, but still, it declutters the headers a bit.

Before this patch:

 2565.17user 141.83system 2:25.46elapsed 1860%CPU (0avgtext+0avgdata 1489076maxresident)k
 72576inputs+9130920outputs (1667major+49400430minor)pagefaults 0swaps

After this patch:

 2537.19user 142.94system 2:26.90elapsed 1824%CPU (0avgtext+0avgdata 1434268maxresident)k
 16240inputs+8887152outputs (1931major+48728888minor)pagefaults 0swaps
This commit is contained in:
Max Kellermann 2020-02-02 16:29:27 +01:00
parent 0db61f3094
commit 6a815b4b06
38 changed files with 348 additions and 211 deletions

View file

@ -13,11 +13,13 @@
#include <stdio.h>
#include <stdlib.h>
#include "Attr.h"
#include "Net.h"
#include "File.h"
#include "Func.h"
#include "Desc.h"
#include "IntrusivePtr.h"
#include "ID.h"
#include "RE.h"
#include "Scope.h"
#include "NetVar.h"
@ -360,6 +362,14 @@ void Val::ValDescribeReST(ODesc* d) const
}
#ifdef DEBUG
void Val::SetID(ID* id)
{
delete [] bound_id;
bound_id = id ? copy_string(id->Name()) : 0;
}
#endif
bool Val::WouldOverflow(const BroType* from_type, const BroType* to_type, const Val* val)
{
if ( !to_type || !from_type )
@ -1993,6 +2003,11 @@ ListVal* TableVal::ConvertToPureList() const
return ConvertToList((*tl)[0]->Tag());
}
Attr* TableVal::FindAttr(attr_tag t) const
{
return attrs ? attrs->FindAttr(t) : 0;
}
void TableVal::Describe(ODesc* d) const
{
const PDict<TableEntryVal>* tbl = AsTable();