Index: src/compiler/instruction.h |
diff --git a/src/compiler/instruction.h b/src/compiler/instruction.h |
index f8ad55e0e6f9eac0c582fb23ffa63036758cd2c3..4b181200de98308ab32d715acf64c169d4f0ec6b 100644 |
--- a/src/compiler/instruction.h |
+++ b/src/compiler/instruction.h |
@@ -736,32 +736,29 @@ class FrameStateDescriptor : public ZoneObject { |
FrameStateDescriptor* outer_state() const { return outer_state_; } |
MaybeHandle<JSFunction> jsfunction() const { return jsfunction_; } |
- size_t size() const { |
- return parameters_count_ + locals_count_ + stack_count_ + |
- (HasContext() ? 1 : 0); |
+ size_t GetSize(OutputFrameStateCombine combine = |
+ OutputFrameStateCombine::Ignore()) const { |
+ size_t size = parameters_count_ + locals_count_ + stack_count_ + |
+ (HasContext() ? 1 : 0); |
+ switch (combine.kind()) { |
+ case OutputFrameStateCombine::kPushOutput: |
+ size += combine.GetPushCount(); |
+ break; |
+ case OutputFrameStateCombine::kPokeAt: |
+ break; |
+ } |
+ return size; |
} |
size_t GetTotalSize() const { |
size_t total_size = 0; |
for (const FrameStateDescriptor* iter = this; iter != NULL; |
iter = iter->outer_state_) { |
- total_size += iter->size(); |
+ total_size += iter->GetSize(); |
} |
return total_size; |
} |
- size_t GetHeight(OutputFrameStateCombine override) const { |
- size_t height = size() - parameters_count(); |
- switch (override) { |
- case kPushOutput: |
- ++height; |
- break; |
- case kIgnoreOutput: |
- break; |
- } |
- return height; |
- } |
- |
size_t GetFrameCount() const { |
size_t count = 0; |
for (const FrameStateDescriptor* iter = this; iter != NULL; |