• bmeurer's avatar
    [builtins] Pass correct number of arguments after adapting arguments. · fbad6366
    bmeurer authored
    The call protocol requires that the register dedicated to the number of
    actual arguments (i.e. rax on x64) always contains the actual arguments.
    That means after adapting arguments it should match the number of
    expected arguments.  But currently we pass some semi-random value
    (usually some stack address) after adapting arguments.
    
    It looks like this is currently not observable anywhere, because our
    builtins and functions either don't look at the number of arguments and
    just make hard coded (unchecked) assumptions, or are marked as "don't
    adapt arguments", which bypasses the broken code in the trampoline for
    arguments adaption.  Nevertheless this should be fixed.
    
    R=mstarzinger@chromium.org
    
    Review URL: https://codereview.chromium.org/1306423003
    
    Cr-Commit-Position: refs/heads/master@{#30467}
    fbad6366
builtins-x64.cc 64.2 KB