• Leszek Swirski's avatar
    [ignition] Add call bytecodes for undefined receiver · 751e8935
    Leszek Swirski authored
    Adds a collection of call bytecodes which have an implicit undefined
    receiver argument, for cases such as global calls where we know that the
    receiver has to be undefined. This way we can skip an LdaUndefined,
    decrease bytecode register pressure, and set a more accurate
    ConvertReceiverMode on the interpreter and TurboFan call.
    
    As a side effect, the "normal" Call bytecode now becomes a rare case
    (only with calls and super property calls), so we get rid of its 0-2
    argument special cases and modify CallProperty[N] to use the
    NotNullOrUndefined ConvertReceiverMode.
    
    Change-Id: I9374a32fefd66fc0251b5193bae7a6b7dc31eefc
    Reviewed-on: https://chromium-review.googlesource.com/463287
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#44530}
    751e8935
builtins-interpreter-gen.cc 2.66 KB