• bjaideep's avatar
    PPC/s390: [turbofan] Support variable size argument removal in TF-generated functions · 2c846a2a
    bjaideep authored
    Port 5319b50c
    
    Original commit message:
    
        This is preparation for using TF to create builtins that handle variable number of
        arguments and have to remove these arguments dynamically from the stack upon
        return.
    
        The gist of the changes:
        - Added a second argument to the Return node which specifies the number of stack
          slots to pop upon return in addition to those specified by the Linkage of the
          compiled function.
        - Removed Tail -> Non-Tail fallback in the instruction selector. Since TF now should
          handles all tail-call cases except where the return value type differs, this fallback
          was not really useful and in fact caused unexpected behavior with variable
          sized argument popping, since it wasn't possible to materialize a Return node
          with the right pop count from the TailCall without additional context.
        - Modified existing Return generation to pass a constant zero as the additional
          pop argument since the variable pop functionality
    
    R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
    
    BUG=
    LOG=N
    
    Review-Url: https://codereview.chromium.org/2462173002
    Cr-Commit-Position: refs/heads/master@{#40682}
    2c846a2a
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...