diff --git a/src/rose/rose_build_bytecode.cpp b/src/rose/rose_build_bytecode.cpp index fbefdc59..b9df1af6 100644 --- a/src/rose/rose_build_bytecode.cpp +++ b/src/rose/rose_build_bytecode.cpp @@ -5606,7 +5606,7 @@ aligned_unique_ptr 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); diff --git a/src/smallwrite/smallwrite_build.cpp b/src/smallwrite/smallwrite_build.cpp index 43a502f7..534f4011 100644 --- a/src/smallwrite/smallwrite_build.cpp +++ b/src/smallwrite/smallwrite_build.cpp @@ -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 build(u32 roseQuality) override; + bytecode_ptr 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 makeSmallWriteBuilder(size_t num_patterns, return ue2::make_unique(num_patterns, rm, cc); } -aligned_unique_ptr -SmallWriteBuildImpl::build(u32 roseQuality) { +bytecode_ptr 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(size); + auto smwr = make_bytecode_ptr(size); smwr->size = size; smwr->start_offset = start_offset; diff --git a/src/smallwrite/smallwrite_build.h b/src/smallwrite/smallwrite_build.h index 906a83c2..82a03e38 100644 --- a/src/smallwrite/smallwrite_build.h +++ b/src/smallwrite/smallwrite_build.h @@ -37,8 +37,10 @@ #include "ue2common.h" #include "util/alloc.h" +#include "util/bytecode_ptr.h" #include "util/noncopyable.h" +#include #include struct SmallWriteEngine; @@ -59,7 +61,7 @@ public: virtual ~SmallWriteBuild(); // Construct a runtime implementation. - virtual ue2::aligned_unique_ptr build(u32 roseQuality) = 0; + virtual bytecode_ptr build(u32 roseQuality) = 0; virtual void add(const NGHolder &g, const ExpressionInfo &expr) = 0; virtual void add(const ue2_literal &literal, ReportID r) = 0;