Index: test/unittests/compiler/js-create-lowering-unittest.cc |
diff --git a/test/unittests/compiler/js-create-lowering-unittest.cc b/test/unittests/compiler/js-create-lowering-unittest.cc |
index 88d5ff689d3167f07712f0842e7b134a12071eb2..4f9e1c69693e9b2234168336ff6ccaf9c124c178 100644 |
--- a/test/unittests/compiler/js-create-lowering-unittest.cc |
+++ b/test/unittests/compiler/js-create-lowering-unittest.cc |
@@ -12,6 +12,7 @@ |
#include "src/compiler/node-properties.h" |
#include "src/compiler/operator-properties.h" |
#include "src/isolate-inl.h" |
+#include "src/type-feedback-vector.h" |
#include "test/unittests/compiler/compiler-test-utils.h" |
#include "test/unittests/compiler/graph-unittest.h" |
#include "test/unittests/compiler/node-test-utils.h" |
@@ -143,9 +144,21 @@ TEST_F(JSCreateLoweringTest, JSCreateClosureViaInlinedAllocation) { |
Node* const effect = graph()->start(); |
Node* const control = graph()->start(); |
Handle<SharedFunctionInfo> shared(isolate()->number_function()->shared()); |
- Reduction r = |
- Reduce(graph()->NewNode(javascript()->CreateClosure(shared, NOT_TENURED), |
- context, effect, control)); |
+ |
+ // Create a mock feedback vector. It just has to be an array with an array |
+ // in slot 0. |
+ Handle<FixedArray> array = isolate()->factory()->NewFixedArray( |
+ TypeFeedbackVector::kReservedIndexCount + 1); |
+ array->set_map_no_write_barrier( |
+ isolate()->heap()->type_feedback_vector_map()); |
+ Handle<TypeFeedbackVector> vector = Handle<TypeFeedbackVector>::cast(array); |
+ FeedbackVectorSlot slot(0); |
+ vector->Set(slot, *vector); |
+ VectorSlotPair pair(vector, slot); |
+ |
+ Reduction r = Reduce( |
+ graph()->NewNode(javascript()->CreateClosure(shared, pair, NOT_TENURED), |
+ context, effect, control)); |
ASSERT_TRUE(r.Changed()); |
EXPECT_THAT(r.replacement(), |
IsFinishRegion(IsAllocate(IsNumberConstant(JSFunction::kSize), |