noodle_build: use bytecode_ptr

This commit is contained in:
Justin Viiret 2017-03-20 17:18:41 +11:00 committed by Matthew Barr
parent e90ad34f67
commit 9996283112
3 changed files with 10 additions and 11 deletions

View File

@ -143,7 +143,7 @@ aligned_unique_ptr<HWLM> hwlmBuild(const vector<hwlmLiteral> &lits,
const hwlmLiteral &lit = lits.front(); const hwlmLiteral &lit = lits.front();
auto noodle = noodBuildTable(lit); auto noodle = noodBuildTable(lit);
if (noodle) { if (noodle) {
engSize = noodSize(noodle.get()); engSize = noodle.size();
} }
eng = move(noodle); eng = move(noodle);
} else { } else {

View File

@ -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 * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
@ -35,7 +35,6 @@
#include "hwlm_literal.h" #include "hwlm_literal.h"
#include "noodle_internal.h" #include "noodle_internal.h"
#include "util/alloc.h"
#include "util/compare.h" #include "util/compare.h"
#include "util/verify_types.h" #include "util/verify_types.h"
#include "ue2common.h" #include "ue2common.h"
@ -67,7 +66,7 @@ size_t findNoodFragOffset(const hwlmLiteral &lit) {
return offset; return offset;
} }
aligned_unique_ptr<noodTable> noodBuildTable(const hwlmLiteral &lit) { bytecode_ptr<noodTable> noodBuildTable(const hwlmLiteral &lit) {
if (!lit.msk.empty()) { if (!lit.msk.empty()) {
DEBUG_PRINTF("noodle can't handle supplementary masks\n"); DEBUG_PRINTF("noodle can't handle supplementary masks\n");
return nullptr; return nullptr;
@ -75,7 +74,7 @@ aligned_unique_ptr<noodTable> noodBuildTable(const hwlmLiteral &lit) {
const auto &s = lit.s; const auto &s = lit.s;
size_t noodle_len = sizeof(noodTable) + s.length(); 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); assert(n);
size_t key_offset = findNoodFragOffset(lit); size_t key_offset = findNoodFragOffset(lit);

View File

@ -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 * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
@ -30,11 +30,11 @@
* \brief Noodle literal matcher: build code. * \brief Noodle literal matcher: build code.
*/ */
#ifndef NOODLE_BUILD_H_048A1A6D585A9A #ifndef NOODLE_BUILD_H
#define NOODLE_BUILD_H_048A1A6D585A9A #define NOODLE_BUILD_H
#include "ue2common.h" #include "ue2common.h"
#include "util/alloc.h" #include "util/bytecode_ptr.h"
struct noodTable; struct noodTable;
@ -43,7 +43,7 @@ namespace ue2 {
struct hwlmLiteral; struct hwlmLiteral;
/** \brief Construct a Noodle matcher for the given literal. */ /** \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); size_t noodSize(const noodTable *n);
@ -61,5 +61,5 @@ void noodPrintStats(const noodTable *n, FILE *f);
#endif // DUMP_SUPPORT #endif // DUMP_SUPPORT
#endif /* NOODLE_BUILD_H_048A1A6D585A9A */ #endif /* NOODLE_BUILD_H */