f5305393f0
Previously it was possible for a slot operand to be allocated a constant operand which is not valid. This CL adds support to the mid-tier register allocator to keep track of whether spilled operands can support constant operands, and if not to instead move the constant to a spill slot at it's definition point, and use that spill slot instead. In the process of doing this, we can cleanup the hack that required constants to always be allocated to a register for REGISTER_OR_SLOT operator policies. BUG=chromium:10772,v8:10772,v8:9684 Change-Id: I975ea2c481b45fc0855e175bc6dc2bd0a83f509a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692569 Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#72722} |
||
---|---|---|
.. | ||
live-range-unittest.cc | ||
mid-tier-register-allocator-unittest.cc | ||
move-optimizer-unittest.cc | ||
register-allocator-unittest.cc |