• Jakob Gruber's avatar
    [regexp] Simplify UnicodeRangeSplitter · 83da1c2d
    Jakob Gruber authored
    This class used to be based on DispatchTable, which itself uses an
    interval tree to both categorize and canonicalize ranges
    (i.e. such that no overlap and all immediately adjacent ranges are
    merged). The produced ranges were then entered into lists for
    {bmp,lead_surrogate,trail_surrogate,non_bmp} splits.
    
    With this CL, we simplify to a plain loop over all character range
    kinds instead. The dispatch table (and ZoneSplayList, perhaps
    SplayList) can be removed in follow-ups.
    
    Bug: v8:9359
    Change-Id: I9c6b72f3bc44d1557af7c74419709ae5662611f1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664053
    Auto-Submit: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62260}
    83da1c2d
regexp-compiler.h 26.2 KB