Account for the constant pool pointer slot during register allocation
data initialization.
R=danno@chromium.org, titzer@chromium.org, bmeurer@chromium.org, mcilroy@chromium.org,
TEST=cctest/test-run-machops/RunSpillConstantsAndParameters
BUG=
Review URL: https://codereview.chromium.org/
1317123003
Cr-Commit-Position: refs/heads/master@{#30430}
int fixed_frame_size = 0;
if (descriptor != nullptr) {
fixed_frame_size = (descriptor->kind() == CallDescriptor::kCallAddress)
- ? StandardFrameConstants::kFixedSlotCountAboveFp
+ ? StandardFrameConstants::kFixedSlotCountAboveFp +
+ StandardFrameConstants::kCPSlotCount
: StandardFrameConstants::kFixedSlotCount;
}
frame_ = new (instruction_zone()) Frame(fixed_frame_size);
static const int kFixedSlotCountAboveFp =
kFixedFrameSizeAboveFp / kPointerSize;
static const int kFixedSlotCount = kFixedFrameSize / kPointerSize;
+ static const int kCPSlotCount = kCPSlotSize / kPointerSize;
static const int kExpressionsOffset = -3 * kPointerSize - kCPSlotSize;
static const int kMarkerOffset = -2 * kPointerSize - kCPSlotSize;
static const int kContextOffset = -1 * kPointerSize - kCPSlotSize;