• jacob.bramley's avatar
    Reland r21101: "ARM64: use jssp for stack slots" · 48d726cd
    jacob.bramley authored
    The original implementation assumed that LPushArguments and
    LInvoke/Call* could be assumed to be exclusively sequential. However,
    this isn't always the case. For example, GenerateCallFunction pushes
    some arguments and then selects between HInvokeFunction and
    HCallFunction.
    
    This fixed implementation resets a pushed_arguments_ counter based on
    the argument_count() of the preceeding basic block, then tracks it
    per-instruction as before (except that now we maintain a count rather
    than a boolean flag).
    
    At the same time, since we now track exactly how many arguments have
    been pushed onto the stack, I was able to adjust the offset accordingly
    and use jssp for stack slots even when arguments have been pushed.
    
    BUG=
    
    Review URL: https://codereview.chromium.org/1038363002
    
    Cr-Commit-Position: refs/heads/master@{#29249}
    48d726cd
Name
Last commit
Last update
..
OWNERS Loading commit data...
assembler-arm64-inl.h Loading commit data...
assembler-arm64.cc Loading commit data...
assembler-arm64.h Loading commit data...
builtins-arm64.cc Loading commit data...
code-stubs-arm64.cc Loading commit data...
code-stubs-arm64.h Loading commit data...
codegen-arm64.cc Loading commit data...
codegen-arm64.h Loading commit data...
constants-arm64.h Loading commit data...
cpu-arm64.cc Loading commit data...
debug-arm64.cc Loading commit data...
decoder-arm64-inl.h Loading commit data...
decoder-arm64.cc Loading commit data...
decoder-arm64.h Loading commit data...
delayed-masm-arm64-inl.h Loading commit data...
delayed-masm-arm64.cc Loading commit data...
delayed-masm-arm64.h Loading commit data...
deoptimizer-arm64.cc Loading commit data...
disasm-arm64.cc Loading commit data...
disasm-arm64.h Loading commit data...
frames-arm64.cc Loading commit data...
frames-arm64.h Loading commit data...
full-codegen-arm64.cc Loading commit data...
instructions-arm64.cc Loading commit data...
instructions-arm64.h Loading commit data...
instrument-arm64.cc Loading commit data...
instrument-arm64.h Loading commit data...
interface-descriptors-arm64.cc Loading commit data...
interface-descriptors-arm64.h Loading commit data...
lithium-arm64.cc Loading commit data...
lithium-arm64.h Loading commit data...
lithium-codegen-arm64.cc Loading commit data...
lithium-codegen-arm64.h Loading commit data...
lithium-gap-resolver-arm64.cc Loading commit data...
lithium-gap-resolver-arm64.h Loading commit data...
macro-assembler-arm64-inl.h Loading commit data...
macro-assembler-arm64.cc Loading commit data...
macro-assembler-arm64.h Loading commit data...
regexp-macro-assembler-arm64.cc Loading commit data...
regexp-macro-assembler-arm64.h Loading commit data...
simulator-arm64.cc Loading commit data...
simulator-arm64.h Loading commit data...
utils-arm64.cc Loading commit data...
utils-arm64.h Loading commit data...