Don't start with duplicate states in ts_query__analyze_patterns
This change exposes a new `primary_state_ids` field on the `TSLanguage` struct, and populates it by tracking the first encountered state with a given `core_id`. (For posterity: the initial change just exposed `core_id` and deduplicated within `ts_analyze_query`). With this `primary_state_ids` field in place, the `ts_query__analyze_patterns` function only needs to populate its subgraphs with starting states that are _primary_, since non-primary states behave identically to primary ones. This leads to large savings across the board, since most states are not primary.
This commit is contained in:
parent
bf210f0c9e
commit
eaf9b170f1
6 changed files with 64 additions and 23 deletions
|
|
@ -855,5 +855,5 @@ extern "C" {
|
|||
);
|
||||
}
|
||||
|
||||
pub const TREE_SITTER_LANGUAGE_VERSION: usize = 13;
|
||||
pub const TREE_SITTER_LANGUAGE_VERSION: usize = 14;
|
||||
pub const TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION: usize = 13;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue