• bmeurer's avatar
    Revert of [compiler] Properly guard the speculative optimizations for... · b9cdb630
    bmeurer authored
    Revert of [compiler] Properly guard the speculative optimizations for instanceof. (patchset #3 id:40001 of https://codereview.chromium.org/2370693002/ )
    
    Reason for revert:
    Tanks EarleyBoyer.
    
    Original issue's description:
    > [compiler] Properly guard the speculative optimizations for instanceof.
    >
    > Add a general feedback slot for instanceof similar to what we already have
    > for for-in, which basically has a fast (indicated by the uninitialized
    > sentinel) and a slow (indicated by the megamorphic sentinel) mode. Now
    > we can only take the fast path when the feedback slot says it hasn't
    > seen any funky inputs and nothing funky appeared in the prototype chain.
    > In the TurboFan code we also deoptimize whenever we see a funky object
    > (i.e. a proxy or an object that requires access checks) in the prototype
    > chain (similar to what Crankshaft already did).
    >
    > Drive-by-fix: Also make Crankshaft respect the mode and therefore
    > address the deopt loop in Crankshaft around instanceof.
    >
    > We might want to introduce an InstanceOfIC mechanism at some point and
    > track the map of the right-hand side.
    >
    > BUG=v8:5267
    > R=mvstanton@chromium.org
    >
    > Committed: https://crrev.com/a0484bc6116ebc2b855de87d862945e2ae07169b
    > Cr-Commit-Position: refs/heads/master@{#39718}
    
    TBR=mvstanton@chromium.org
    # Skipping CQ checks because original CL landed less than 1 days ago.
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    BUG=v8:5267
    
    Review-Url: https://codereview.chromium.org/2365223003
    Cr-Commit-Position: refs/heads/master@{#39736}
    b9cdb630
typer.cc 51.1 KB