Commit 28f07b1c authored by mbrandy's avatar mbrandy Committed by Commit bot

[turbofan] Fix unified stack slots for embedded constant pools.

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}
parent ad3a8f0c
......@@ -266,7 +266,8 @@ class PipelineData {
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);
......
......@@ -126,6 +126,7 @@ class StandardFrameConstants : public AllStatic {
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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment