mirror of
https://github.com/zeek/zeek.git
synced 2025-10-04 15:48:19 +00:00
Factor static-local nil IntrusivePtrs to global locations
Minor optimization to remove any run-time impact.
This commit is contained in:
parent
a384bb8b81
commit
ea878208ba
8 changed files with 21 additions and 23 deletions
|
@ -30,6 +30,8 @@ class Scope;
|
|||
|
||||
class Func : public BroObj {
|
||||
public:
|
||||
static inline const IntrusivePtr<Func> nil;
|
||||
|
||||
enum Kind { BRO_FUNC, BUILTIN_FUNC };
|
||||
|
||||
explicit Func(Kind arg_kind);
|
||||
|
@ -99,10 +101,7 @@ public:
|
|||
|
||||
uint32_t GetUniqueFuncID() const { return unique_id; }
|
||||
static const IntrusivePtr<Func>& GetFuncPtrByID(uint32_t id)
|
||||
{
|
||||
static IntrusivePtr<Func> nil;
|
||||
return id >= unique_ids.size() ? nil : unique_ids[id];
|
||||
}
|
||||
{ return id >= unique_ids.size() ? Func::nil : unique_ids[id]; }
|
||||
|
||||
protected:
|
||||
Func();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue