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 { ...@@ -266,7 +266,8 @@ class PipelineData {
int fixed_frame_size = 0; int fixed_frame_size = 0;
if (descriptor != nullptr) { if (descriptor != nullptr) {
fixed_frame_size = (descriptor->kind() == CallDescriptor::kCallAddress) fixed_frame_size = (descriptor->kind() == CallDescriptor::kCallAddress)
? StandardFrameConstants::kFixedSlotCountAboveFp ? StandardFrameConstants::kFixedSlotCountAboveFp +
StandardFrameConstants::kCPSlotCount
: StandardFrameConstants::kFixedSlotCount; : StandardFrameConstants::kFixedSlotCount;
} }
frame_ = new (instruction_zone()) Frame(fixed_frame_size); frame_ = new (instruction_zone()) Frame(fixed_frame_size);
......
...@@ -126,6 +126,7 @@ class StandardFrameConstants : public AllStatic { ...@@ -126,6 +126,7 @@ class StandardFrameConstants : public AllStatic {
static const int kFixedSlotCountAboveFp = static const int kFixedSlotCountAboveFp =
kFixedFrameSizeAboveFp / kPointerSize; kFixedFrameSizeAboveFp / kPointerSize;
static const int kFixedSlotCount = kFixedFrameSize / kPointerSize; static const int kFixedSlotCount = kFixedFrameSize / kPointerSize;
static const int kCPSlotCount = kCPSlotSize / kPointerSize;
static const int kExpressionsOffset = -3 * kPointerSize - kCPSlotSize; static const int kExpressionsOffset = -3 * kPointerSize - kCPSlotSize;
static const int kMarkerOffset = -2 * kPointerSize - kCPSlotSize; static const int kMarkerOffset = -2 * kPointerSize - kCPSlotSize;
static const int kContextOffset = -1 * 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