• bmeurer's avatar
    [stubs] Unify (and optimize) implementation of ToObject. · 4fc6f547
    bmeurer authored
    This is the initial (big) step towards a more uniform implementation of
    the ToObject abstract operation (ES6 7.1.13), where we have a fallback
    implementation in JSReceiver::ToObject() and a fast (hydrogen) CodeStub
    to deal with the fast case (we should be able to do more cleanup on this
    in a followup CL).  For natives we expose the abstract operation via a
    %_ToObject intrinsic, also exposed via a macro TO_OBJECT, that unifies
    the previous confusion with TO_OBJECT_INLINE, ToObject, TO_OBJECT,
    $toObject and %$toObject.  Now the whole implementation of the abstract
    operation is context independent, meaning we don't need any magic in the
    builtins object nor the native context.
    
    R=mvstanton@chromium.org,yangguo@chromium.org
    
    Review URL: https://codereview.chromium.org/1266013006
    
    Cr-Commit-Position: refs/heads/master@{#29953}
    4fc6f547
js-intrinsic-lowering.cc 21.8 KB