DescriptionReland r21101: "ARM64: use jssp for stack slots"
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=
Committed: https://crrev.com/48d726cd6f6ad176d54b546b7d1ca717e5478b46
Cr-Commit-Position: refs/heads/master@{#29249}
Patch Set 1 #Patch Set 2 : Rebase. #
Messages
Total messages: 11 (3 generated)
|