• bmeurer's avatar
    [builtin] Refactor Invoke to deal with any kind of callable. · 634d1d86
    bmeurer authored
    Now both Execution::Call and Execution::New can deal with any
    kind of target and will raise a proper exception if the target is not
    callable (which is not yet spec compliant for New, as we would
    have to check IsConstructor instead, which we don't have yet).
    
    Now we no longer need to do any of these weird call/construct
    delegate gymnastics in C++, and we finally have a single true
    bottleneck for Call/Construct abstract operations in the code
    base, with only a few special handlings left in the compilers to
    optimize the JSFunction case.
    
    R=jarin@chromium.org
    BUG=v8:4430, v8:4413
    LOG=n
    
    Review URL: https://codereview.chromium.org/1360793002
    
    Cr-Commit-Position: refs/heads/master@{#30874}
    634d1d86
execution.cc 17.9 KB