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