Index: src/code-stub-assembler.h |
diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h |
index 25299b5503ca394048c02d3d3ea6f0333c854ccd..bd975faf4e3982c260be2e2be6ee949d9e1a586b 100644 |
--- a/src/code-stub-assembler.h |
+++ b/src/code-stub-assembler.h |
@@ -26,6 +26,24 @@ enum class PrimitiveType { kBoolean, kNumber, kString, kSymbol }; |
// from a compiler directory OWNER). |
class CodeStubAssembler : public compiler::CodeAssembler { |
public: |
+ class VectorSlotPair final { |
+ public: |
+ VectorSlotPair() : vector_(nullptr), index_(nullptr) {} |
+ VectorSlotPair(compiler::Node* vector, compiler::Node* index) |
+ : vector_(vector), index_(index) { |
+ DCHECK_NOT_NULL(vector); |
+ DCHECK_NOT_NULL(index); |
+ } |
+ |
+ bool IsValid() const { return vector_ != nullptr; } |
+ compiler::Node* vector() const { return vector_; } |
+ compiler::Node* index() const { return index_; } |
+ |
+ private: |
+ compiler::Node* const vector_; |
+ compiler::Node* const index_; |
+ }; |
+ |
// Create with CallStub linkage. |
// |result_size| specifies the number of results returned by the stub. |
// TODO(rmcilroy): move result_size to the CallInterfaceDescriptor. |
@@ -627,9 +645,9 @@ class CodeStubAssembler : public compiler::CodeAssembler { |
// Instanceof helpers. |
// ES6 section 7.3.19 OrdinaryHasInstance (C, O) |
- compiler::Node* OrdinaryHasInstance(compiler::Node* context, |
- compiler::Node* callable, |
- compiler::Node* object); |
+ compiler::Node* OrdinaryHasInstance( |
+ compiler::Node* context, compiler::Node* callable, compiler::Node* object, |
+ VectorSlotPair feedback = VectorSlotPair()); |
// LoadIC helpers. |
struct LoadICParameters { |