| 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;
|
|
|