mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-11-20 10:56:40 +03:00
Rose: use program for all literal matches
Unifies all literal match paths so that the Rose program is used for all of them. This removes the previous specialised "direct report" and "multi direct report" paths. Some additional REPORT instruction work was necessary for this. Reworked literal construction path at compile time in prep for using program offsets as literal IDs. Completely removed the anchored log runtime, which is no longer worth the extra complexity.
This commit is contained in:
committed by
Matthew Barr
parent
b58d05dfec
commit
67b9784dae
@@ -415,7 +415,6 @@ public:
|
||||
|
||||
// Is the Rose anchored?
|
||||
bool hasNoFloatingRoots() const;
|
||||
bool hasDirectReports() const;
|
||||
|
||||
RoseVertex cloneVertex(RoseVertex v);
|
||||
|
||||
@@ -441,17 +440,6 @@ public:
|
||||
bool isDirectReport(u32 id) const;
|
||||
bool isDelayed(u32 id) const;
|
||||
|
||||
/**
|
||||
* \brief True if the given literal ID is a direct or multi-direct report.
|
||||
*/
|
||||
bool hasDirectFinalId(u32 id) const;
|
||||
|
||||
/**
|
||||
* \brief True if all the literals associated with the given vertex are
|
||||
* direct or multi-direct reports.
|
||||
*/
|
||||
bool allDirectFinalIds(RoseVertex v) const;
|
||||
|
||||
bool hasFinalId(u32 id) const;
|
||||
|
||||
bool isAnchored(RoseVertex v) const; /* true iff has literal in anchored
|
||||
@@ -526,16 +514,10 @@ public:
|
||||
* null again). */
|
||||
std::unique_ptr<OutfixInfo> mpv_outfix = nullptr;
|
||||
|
||||
bool floating_direct_report;
|
||||
|
||||
u32 eod_event_literal_id; // ID of EOD event literal, or MO_INVALID_IDX.
|
||||
|
||||
u32 max_rose_anchored_floating_overlap;
|
||||
|
||||
/** \brief Flattened list of report IDs for multi-direct reports, indexed
|
||||
* by MDR final_id. */
|
||||
std::vector<ReportID> mdr_reports;
|
||||
|
||||
QueueIndexFactory qif;
|
||||
ReportManager &rm;
|
||||
SomSlotManager &ssm;
|
||||
|
||||
Reference in New Issue
Block a user