Index: test/cctest/test-code-stub-assembler.cc |
diff --git a/test/cctest/test-code-stub-assembler.cc b/test/cctest/test-code-stub-assembler.cc |
index aa25b7b2200c7b243cdb9434b8fbe4c2ab308648..01c99d43aa364b53ebc6693f1ea8e9ebde73093c 100644 |
--- a/test/cctest/test-code-stub-assembler.cc |
+++ b/test/cctest/test-code-stub-assembler.cc |
@@ -1065,5 +1065,30 @@ TEST(TryLookupElement) { |
} |
} |
+TEST(DeferredCodePhiHints) { |
+ typedef compiler::Node Node; |
+ typedef CodeStubAssembler::Label Label; |
+ typedef CodeStubAssembler::Variable Variable; |
+ Isolate* isolate(CcTest::InitIsolateOnce()); |
+ VoidDescriptor descriptor(isolate); |
+ CodeStubAssemblerTester m(isolate, descriptor); |
+ Label block1(&m, Label::kDeferred); |
+ m.Goto(&block1); |
+ m.Bind(&block1); |
+ { |
+ Variable var_object(&m, MachineRepresentation::kTagged); |
+ Label loop(&m, &var_object); |
+ var_object.Bind(m.IntPtrConstant(0)); |
+ m.Goto(&loop); |
+ m.Bind(&loop); |
+ { |
+ Node* map = m.LoadMap(var_object.value()); |
+ var_object.Bind(map); |
+ m.Goto(&loop); |
+ } |
+ } |
+ CHECK(!m.GenerateCode().is_null()); |
+} |
+ |
} // namespace internal |
} // namespace v8 |