mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
noodle_build: use bytecode_ptr
This commit is contained in:
parent
e90ad34f67
commit
9996283112
@ -143,7 +143,7 @@ aligned_unique_ptr<HWLM> hwlmBuild(const vector<hwlmLiteral> &lits,
|
||||
const hwlmLiteral &lit = lits.front();
|
||||
auto noodle = noodBuildTable(lit);
|
||||
if (noodle) {
|
||||
engSize = noodSize(noodle.get());
|
||||
engSize = noodle.size();
|
||||
}
|
||||
eng = move(noodle);
|
||||
} else {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Intel Corporation
|
||||
* Copyright (c) 2015-2017, Intel Corporation
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@ -35,7 +35,6 @@
|
||||
|
||||
#include "hwlm_literal.h"
|
||||
#include "noodle_internal.h"
|
||||
#include "util/alloc.h"
|
||||
#include "util/compare.h"
|
||||
#include "util/verify_types.h"
|
||||
#include "ue2common.h"
|
||||
@ -67,7 +66,7 @@ size_t findNoodFragOffset(const hwlmLiteral &lit) {
|
||||
return offset;
|
||||
}
|
||||
|
||||
aligned_unique_ptr<noodTable> noodBuildTable(const hwlmLiteral &lit) {
|
||||
bytecode_ptr<noodTable> noodBuildTable(const hwlmLiteral &lit) {
|
||||
if (!lit.msk.empty()) {
|
||||
DEBUG_PRINTF("noodle can't handle supplementary masks\n");
|
||||
return nullptr;
|
||||
@ -75,7 +74,7 @@ aligned_unique_ptr<noodTable> noodBuildTable(const hwlmLiteral &lit) {
|
||||
|
||||
const auto &s = lit.s;
|
||||
size_t noodle_len = sizeof(noodTable) + s.length();
|
||||
auto n = aligned_zmalloc_unique<noodTable>(noodle_len);
|
||||
auto n = make_bytecode_ptr<noodTable>(noodle_len);
|
||||
assert(n);
|
||||
|
||||
size_t key_offset = findNoodFragOffset(lit);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Intel Corporation
|
||||
* Copyright (c) 2015-2017, Intel Corporation
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@ -30,11 +30,11 @@
|
||||
* \brief Noodle literal matcher: build code.
|
||||
*/
|
||||
|
||||
#ifndef NOODLE_BUILD_H_048A1A6D585A9A
|
||||
#define NOODLE_BUILD_H_048A1A6D585A9A
|
||||
#ifndef NOODLE_BUILD_H
|
||||
#define NOODLE_BUILD_H
|
||||
|
||||
#include "ue2common.h"
|
||||
#include "util/alloc.h"
|
||||
#include "util/bytecode_ptr.h"
|
||||
|
||||
struct noodTable;
|
||||
|
||||
@ -43,7 +43,7 @@ namespace ue2 {
|
||||
struct hwlmLiteral;
|
||||
|
||||
/** \brief Construct a Noodle matcher for the given literal. */
|
||||
ue2::aligned_unique_ptr<noodTable> noodBuildTable(const hwlmLiteral &lit);
|
||||
bytecode_ptr<noodTable> noodBuildTable(const hwlmLiteral &lit);
|
||||
|
||||
size_t noodSize(const noodTable *n);
|
||||
|
||||
@ -61,5 +61,5 @@ void noodPrintStats(const noodTable *n, FILE *f);
|
||||
|
||||
#endif // DUMP_SUPPORT
|
||||
|
||||
#endif /* NOODLE_BUILD_H_048A1A6D585A9A */
|
||||
#endif /* NOODLE_BUILD_H */
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user