| Index: src/compiler/state-values-utils.h
|
| diff --git a/src/compiler/state-values-utils.h b/src/compiler/state-values-utils.h
|
| index 14b1b9e59963755c2b0e543becb3c46f3220e994..dc643137e050bed90e4188e06e36f542517443d8 100644
|
| --- a/src/compiler/state-values-utils.h
|
| +++ b/src/compiler/state-values-utils.h
|
| @@ -33,10 +33,11 @@ class V8_EXPORT_PRIVATE StateValuesCache {
|
| struct StateValuesKey : public NodeKey {
|
| // ValueArray - array of nodes ({node} has to be nullptr).
|
| size_t count;
|
| + uint32_t mask;
|
| Node** values;
|
|
|
| - StateValuesKey(size_t count, Node** values)
|
| - : NodeKey(nullptr), count(count), values(values) {}
|
| + StateValuesKey(size_t count, uint32_t mask, Node** values)
|
| + : NodeKey(nullptr), count(count), mask(mask), values(values) {}
|
| };
|
|
|
| class ValueArrayIterator;
|
| @@ -48,7 +49,7 @@ class V8_EXPORT_PRIVATE StateValuesCache {
|
| Node* BuildTree(ValueArrayIterator* it, size_t max_height);
|
| NodeVector* GetWorkingSpace(size_t level);
|
| Node* GetEmptyStateValues();
|
| - Node* GetValuesNodeFromCache(Node** nodes, size_t count);
|
| + Node* GetValuesNodeFromCache(Node** nodes, size_t count, uint32_t mask);
|
|
|
| Graph* graph() { return js_graph_->graph(); }
|
| CommonOperatorBuilder* common() { return js_graph_->common(); }
|
| @@ -86,17 +87,17 @@ class V8_EXPORT_PRIVATE StateValuesAccess {
|
| MachineType type();
|
| bool done();
|
| void Advance();
|
| + void MoveToNextSibling();
|
| + void EnsureValid();
|
|
|
| struct StatePos {
|
| Node* node;
|
| + uint32_t mask;
|
| int index;
|
| -
|
| - explicit StatePos(Node* node) : node(node), index(0) {}
|
| - StatePos() {}
|
| };
|
|
|
| StatePos* Top();
|
| - void Push(Node* node);
|
| + void Push(Node* node, uint32_t mask);
|
| void Pop();
|
|
|
| static const int kMaxInlineDepth = 8;
|
|
|