• Benedikt Meurer's avatar
    [builtins] Improve CallApiCallback calling convention. · c142e0a2
    Benedikt Meurer authored
    Refactor the CallApiCallback builtin to
    
    - pass the context as with other stubs, and
    - pass holder and call data in registers.
    
    This avoids having to place holder and call data onto the stack, and
    thus makes it possible to easily call the CallApiCallback builtin from
    other builtins while just forwarding the (stack) arguments. The idea
    is to use this in the future to optimize the general case of calling
    into any API method via a FunctionTemplateInfo and doing appropriate
    security and/or interface checks upfront as necessary (eventually making
    the HandleApiCall C++ builtin obsolete at some point).
    
    Bug: v8:8820, chromium:913553
    Change-Id: I10c0065016df4d0c24bac3d46945ea597b65ed02
    Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
    Reviewed-on: https://chromium-review.googlesource.com/c/1469821
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59551}
    c142e0a2
js-call-reducer.cc 302 KB