specialized ZAM operators for speeding up cat() operations

This commit is contained in:
Vern Paxson 2022-09-16 09:45:05 -07:00
parent 5fe4eb27a8
commit 048e524fbf
10 changed files with 619 additions and 2 deletions

View file

@ -4,6 +4,8 @@
#pragma once
#include "zeek/Desc.h"
#include "zeek/script_opt/ZAM/BuiltInSupport.h"
#include "zeek/script_opt/ZAM/Support.h"
#include "zeek/script_opt/ZAM/ZOp.h"
@ -319,6 +321,7 @@ public:
delete[] ints;
delete[] constants;
delete[] types;
delete[] cat_args;
}
// Returns the i'th element of the parallel arrays as a ValPtr.
@ -405,6 +408,9 @@ public:
ValPtr* constants = nullptr;
TypePtr* types = nullptr;
// A parallel array for the cat() built-in replacement.
std::unique_ptr<CatArg>* cat_args = nullptr;
// Used for accessing function names.
const ID* id_val = nullptr;