• bmeurer's avatar
    Revert of Steps towards unification of number bitset and range types.... · 76193749
    bmeurer authored
    Revert of Steps towards unification of number bitset and range types. (patchset #4 id:60001 of https://codereview.chromium.org/837723006/)
    
    Reason for revert:
    Breaks test-types/Maybe, i.e.
    
    out/Release/cctest --random-seed=-707413401 test-types/Maybe
    
    started failing afterwards
    
    Original issue's description:
    > Steps towards unification of number bitset and range types.
    >
    > - New invariant on union types: if the union has a range then the number
    >   bits in the bitset must be cleared.
    >
    > - Various tweaks in intersection and union to satisfy the invariant.
    >
    > - Exposed and used representation bits in range types (and the Limits
    >   helper class).
    >
    > - Implemented Glb for ranges so that the Is predicate handles
    >   ranges correctly.
    >
    > - Change typer weakening so that it does not rely on GetRange.
    >   However, the code still seems to be a bit fragile.
    >
    > - Removed the Smi types from the type system core, instead introduced
    >   Signed31, Unsigned30 and created constructors for Small(Un)Signed
    >   that point to the right type for the architecture.
    >
    > - Punched a hole in the config to be able to get to the isolate so
    >   that it is possible to allocate heap numbers for newly created
    >   ranges.
    >
    > Patch by jarin@chromium.prg, original review here:
    > https://codereview.chromium.org/795713003/
    >
    > TBR=jarin@chromium.org
    > BUG=
    >
    > Committed: https://crrev.com/2764fd8d1a266a9136c987c2483492113b0c8d80
    > Cr-Commit-Position: refs/heads/master@{#26197}
    
    TBR=jkummerow@chromium.org,rossberg@chromium.org
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    BUG=
    
    Review URL: https://codereview.chromium.org/868583002
    
    Cr-Commit-Position: refs/heads/master@{#26207}
    76193749
types.cc 33.9 KB