fdr: use bytecode_ptr internally

This commit is contained in:
Justin Viiret
2017-03-20 13:53:40 +11:00
committed by Matthew Barr
parent 6499d306ec
commit 97516eccb6
5 changed files with 36 additions and 35 deletions

View File

@@ -31,7 +31,7 @@
#include "ue2common.h"
#include "hwlm/hwlm_literal.h"
#include "util/alloc.h"
#include "util/bytecode_ptr.h"
#include <map>
#include <utility>
@@ -57,20 +57,20 @@ class FDREngineDescription;
struct hwlmStreamingControl;
struct Grey;
std::pair<aligned_unique_ptr<u8>, size_t> setupFullConfs(
const std::vector<hwlmLiteral> &lits, const EngineDescription &eng,
std::map<BucketIndex, std::vector<LiteralIndex>> &bucketToLits,
bool make_small);
bytecode_ptr<u8> setupFullConfs(const std::vector<hwlmLiteral> &lits,
const EngineDescription &eng,
std::map<BucketIndex, std::vector<LiteralIndex>> &bucketToLits,
bool make_small);
// all suffixes include an implicit max_bucket_width suffix to ensure that
// we always read a full-scale flood "behind" us in terms of what's in our
// state; if we don't have a flood that's long enough we won't be in the
// right state yet to allow blindly advancing
std::pair<aligned_unique_ptr<u8>, size_t>
setupFDRFloodControl(const std::vector<hwlmLiteral> &lits,
const EngineDescription &eng, const Grey &grey);
bytecode_ptr<u8> setupFDRFloodControl(const std::vector<hwlmLiteral> &lits,
const EngineDescription &eng,
const Grey &grey);
std::pair<aligned_unique_ptr<u8>, size_t>
bytecode_ptr<u8>
fdrBuildTableStreaming(const std::vector<hwlmLiteral> &lits,
hwlmStreamingControl &stream_control);