| Index: test/cctest/test-debug.cc
 | 
| diff --git a/test/cctest/test-debug.cc b/test/cctest/test-debug.cc
 | 
| index 8935d8da70ef9a747bd75f6da5a7f3f189150713..925eaf4c27e39ecb3a4a6caa2cece4f9369db728 100644
 | 
| --- a/test/cctest/test-debug.cc
 | 
| +++ b/test/cctest/test-debug.cc
 | 
| @@ -7978,19 +7978,12 @@ static void NoInterruptsOnDebugEvent(
 | 
|    --after_compile_handler_depth;
 | 
|  }
 | 
|  
 | 
| -
 | 
|  TEST(NoInterruptsInDebugListener) {
 | 
|    DebugLocalContext env;
 | 
|    v8::Debug::SetDebugEventListener(env->GetIsolate(), NoInterruptsOnDebugEvent);
 | 
|    CompileRun("void(0);");
 | 
|  }
 | 
|  
 | 
| -class TestBreakLocation : public i::BreakLocation {
 | 
| - public:
 | 
| -  using i::BreakLocation::GetIterator;
 | 
| -  using i::BreakLocation::Iterator;
 | 
| -};
 | 
| -
 | 
|  TEST(BreakLocationIterator) {
 | 
|    DebugLocalContext env;
 | 
|    v8::Isolate* isolate = env->GetIsolate();
 | 
| @@ -8012,53 +8005,40 @@ TEST(BreakLocationIterator) {
 | 
|    CHECK(i_isolate->debug()->EnsureDebugInfo(shared, function));
 | 
|  
 | 
|    Handle<i::DebugInfo> debug_info(shared->GetDebugInfo());
 | 
| -  int code_size = debug_info->abstract_code()->Size();
 | 
| -
 | 
| -  bool found_return = false;
 | 
| -  bool found_call = false;
 | 
| -  bool found_debugger = false;
 | 
| -
 | 
| -  // Test public interface.
 | 
| -  for (int i = 0; i < code_size; i++) {
 | 
| -    i::BreakLocation location = i::BreakLocation::FromCodeOffset(debug_info, i);
 | 
| -    if (location.IsCall()) found_call = true;
 | 
| -    if (location.IsReturn()) found_return = true;
 | 
| -    if (location.IsDebuggerStatement()) found_debugger = true;
 | 
| +  Handle<i::AbstractCode> abstract_code(shared->abstract_code());
 | 
| +
 | 
| +  {
 | 
| +    auto iterator = i::BreakIterator::GetIterator(debug_info, abstract_code,
 | 
| +                                                  i::ALL_BREAK_LOCATIONS);
 | 
| +    CHECK(iterator->GetBreakLocation().IsDebuggerStatement());
 | 
| +    CHECK_EQ(17, iterator->GetBreakLocation().position());
 | 
| +    iterator->Next();
 | 
| +    CHECK(iterator->GetBreakLocation().IsDebugBreakSlot());
 | 
| +    CHECK_EQ(32, iterator->GetBreakLocation().position());
 | 
| +    iterator->Next();
 | 
| +    CHECK(iterator->GetBreakLocation().IsCall());
 | 
| +    CHECK_EQ(32, iterator->GetBreakLocation().position());
 | 
| +    iterator->Next();
 | 
| +    CHECK(iterator->GetBreakLocation().IsDebuggerStatement());
 | 
| +    CHECK_EQ(47, iterator->GetBreakLocation().position());
 | 
| +    iterator->Next();
 | 
| +    CHECK(iterator->GetBreakLocation().IsReturn());
 | 
| +    CHECK_EQ(60, iterator->GetBreakLocation().position());
 | 
| +    iterator->Next();
 | 
| +    CHECK(iterator->Done());
 | 
| +  }
 | 
| +
 | 
| +  {
 | 
| +    auto iterator = i::BreakIterator::GetIterator(debug_info, abstract_code,
 | 
| +                                                  i::CALLS_AND_RETURNS);
 | 
| +    CHECK(iterator->GetBreakLocation().IsCall());
 | 
| +    CHECK_EQ(32, iterator->GetBreakLocation().position());
 | 
| +    iterator->Next();
 | 
| +    CHECK(iterator->GetBreakLocation().IsReturn());
 | 
| +    CHECK_EQ(60, iterator->GetBreakLocation().position());
 | 
| +    iterator->Next();
 | 
| +    CHECK(iterator->Done());
 | 
|    }
 | 
| -  CHECK(found_call);
 | 
| -  CHECK(found_return);
 | 
| -  CHECK(found_debugger);
 | 
| -
 | 
| -  // Test underlying implementation.
 | 
| -  TestBreakLocation::Iterator* iterator =
 | 
| -      TestBreakLocation::GetIterator(debug_info, i::ALL_BREAK_LOCATIONS);
 | 
| -  CHECK(iterator->GetBreakLocation().IsDebuggerStatement());
 | 
| -  CHECK_EQ(17, iterator->GetBreakLocation().position());
 | 
| -  iterator->Next();
 | 
| -  CHECK(iterator->GetBreakLocation().IsDebugBreakSlot());
 | 
| -  CHECK_EQ(32, iterator->GetBreakLocation().position());
 | 
| -  iterator->Next();
 | 
| -  CHECK(iterator->GetBreakLocation().IsCall());
 | 
| -  CHECK_EQ(32, iterator->GetBreakLocation().position());
 | 
| -  iterator->Next();
 | 
| -  CHECK(iterator->GetBreakLocation().IsDebuggerStatement());
 | 
| -  CHECK_EQ(47, iterator->GetBreakLocation().position());
 | 
| -  iterator->Next();
 | 
| -  CHECK(iterator->GetBreakLocation().IsReturn());
 | 
| -  CHECK_EQ(60, iterator->GetBreakLocation().position());
 | 
| -  iterator->Next();
 | 
| -  CHECK(iterator->Done());
 | 
| -  delete iterator;
 | 
| -
 | 
| -  iterator = TestBreakLocation::GetIterator(debug_info, i::CALLS_AND_RETURNS);
 | 
| -  CHECK(iterator->GetBreakLocation().IsCall());
 | 
| -  CHECK_EQ(32, iterator->GetBreakLocation().position());
 | 
| -  iterator->Next();
 | 
| -  CHECK(iterator->GetBreakLocation().IsReturn());
 | 
| -  CHECK_EQ(60, iterator->GetBreakLocation().position());
 | 
| -  iterator->Next();
 | 
| -  CHECK(iterator->Done());
 | 
| -  delete iterator;
 | 
|  
 | 
|    DisableDebugger(isolate);
 | 
|  }
 | 
| 
 |