mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
smallwrite_build: use bytecode_ptr
This commit is contained in:
parent
7288da22bd
commit
a5ed9a9330
@ -5606,7 +5606,7 @@ aligned_unique_ptr<RoseEngine> addSmallWriteEngine(const RoseBuildImpl &build,
|
||||
}
|
||||
|
||||
const size_t mainSize = roseSize(rose.get());
|
||||
const size_t smallWriteSize = smwrSize(smwr_engine.get());
|
||||
const size_t smallWriteSize = smwr_engine.size();
|
||||
DEBUG_PRINTF("adding smwr engine, size=%zu\n", smallWriteSize);
|
||||
|
||||
const size_t smwrOffset = ROUNDUP_CL(mainSize);
|
||||
|
@ -46,6 +46,7 @@
|
||||
#include "nfagraph/ng_util.h"
|
||||
#include "smallwrite/smallwrite_internal.h"
|
||||
#include "util/alloc.h"
|
||||
#include "util/bytecode_ptr.h"
|
||||
#include "util/charreach.h"
|
||||
#include "util/compile_context.h"
|
||||
#include "util/container.h"
|
||||
@ -74,7 +75,7 @@ public:
|
||||
const CompileContext &cc);
|
||||
|
||||
// Construct a runtime implementation.
|
||||
aligned_unique_ptr<SmallWriteEngine> build(u32 roseQuality) override;
|
||||
bytecode_ptr<SmallWriteEngine> build(u32 roseQuality) override;
|
||||
|
||||
void add(const NGHolder &g, const ExpressionInfo &expr) override;
|
||||
void add(const ue2_literal &literal, ReportID r) override;
|
||||
@ -473,8 +474,7 @@ unique_ptr<SmallWriteBuild> makeSmallWriteBuilder(size_t num_patterns,
|
||||
return ue2::make_unique<SmallWriteBuildImpl>(num_patterns, rm, cc);
|
||||
}
|
||||
|
||||
aligned_unique_ptr<SmallWriteEngine>
|
||||
SmallWriteBuildImpl::build(u32 roseQuality) {
|
||||
bytecode_ptr<SmallWriteEngine> SmallWriteBuildImpl::build(u32 roseQuality) {
|
||||
if (!rdfa && cand_literals.empty()) {
|
||||
DEBUG_PRINTF("no smallwrite engine\n");
|
||||
poisoned = true;
|
||||
@ -505,7 +505,7 @@ SmallWriteBuildImpl::build(u32 roseQuality) {
|
||||
}
|
||||
|
||||
u32 size = sizeof(SmallWriteEngine) + nfa->length;
|
||||
auto smwr = aligned_zmalloc_unique<SmallWriteEngine>(size);
|
||||
auto smwr = make_bytecode_ptr<SmallWriteEngine>(size);
|
||||
|
||||
smwr->size = size;
|
||||
smwr->start_offset = start_offset;
|
||||
|
@ -37,8 +37,10 @@
|
||||
|
||||
#include "ue2common.h"
|
||||
#include "util/alloc.h"
|
||||
#include "util/bytecode_ptr.h"
|
||||
#include "util/noncopyable.h"
|
||||
|
||||
#include <memory>
|
||||
#include <set>
|
||||
|
||||
struct SmallWriteEngine;
|
||||
@ -59,7 +61,7 @@ public:
|
||||
virtual ~SmallWriteBuild();
|
||||
|
||||
// Construct a runtime implementation.
|
||||
virtual ue2::aligned_unique_ptr<SmallWriteEngine> build(u32 roseQuality) = 0;
|
||||
virtual bytecode_ptr<SmallWriteEngine> build(u32 roseQuality) = 0;
|
||||
|
||||
virtual void add(const NGHolder &g, const ExpressionInfo &expr) = 0;
|
||||
virtual void add(const ue2_literal &literal, ReportID r) = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user