Index: test/cctest/test-debug.cc |
diff --git a/test/cctest/test-debug.cc b/test/cctest/test-debug.cc |
index a4a993ad30c1cd8ea5b75c0e2b062fb0cb651eb1..2bbadc3ec5e27db2864b4be5f0888ac386233a50 100644 |
--- a/test/cctest/test-debug.cc |
+++ b/test/cctest/test-debug.cc |
@@ -416,7 +416,7 @@ void CheckDebuggerUnloaded(bool check_functions) { |
if (RelocInfo::IsCodeTarget(rmode)) { |
CHECK(!Debug::IsDebugBreak(it.rinfo()->target_address())); |
} else if (RelocInfo::IsJSReturn(rmode)) { |
- CHECK(!Debug::IsDebugBreakAtReturn(it.rinfo())); |
+ CHECK(!it.rinfo()->IsPatchedReturnSequence()); |
} |
} |
} |
@@ -437,47 +437,36 @@ static void CheckDebuggerUnloaded(bool check_functions = false) { |
} |
-// Inherit from BreakLocationIterator to get access to protected parts for |
-// testing. |
-class TestBreakLocationIterator: public v8::internal::BreakLocationIterator { |
- public: |
- explicit TestBreakLocationIterator(Handle<v8::internal::DebugInfo> debug_info) |
- : BreakLocationIterator(debug_info, v8::internal::SOURCE_BREAK_LOCATIONS) {} |
- v8::internal::RelocIterator* it() { return reloc_iterator_; } |
- v8::internal::RelocIterator* it_original() { |
- return reloc_iterator_original_; |
- } |
-}; |
- |
- |
// Compile a function, set a break point and check that the call at the break |
// location in the code is the expected debug_break function. |
void CheckDebugBreakFunction(DebugLocalContext* env, |
const char* source, const char* name, |
int position, v8::internal::RelocInfo::Mode mode, |
Code* debug_break) { |
- v8::internal::Debug* debug = CcTest::i_isolate()->debug(); |
+ i::Debug* debug = CcTest::i_isolate()->debug(); |
// Create function and set the break point. |
- Handle<v8::internal::JSFunction> fun = v8::Utils::OpenHandle( |
- *CompileFunction(env, source, name)); |
+ Handle<i::JSFunction> fun = |
+ v8::Utils::OpenHandle(*CompileFunction(env, source, name)); |
int bp = SetBreakPoint(fun, position); |
// Check that the debug break function is as expected. |
- Handle<v8::internal::SharedFunctionInfo> shared(fun->shared()); |
+ Handle<i::SharedFunctionInfo> shared(fun->shared()); |
CHECK(Debug::HasDebugInfo(shared)); |
- TestBreakLocationIterator it1(Debug::GetDebugInfo(shared)); |
- it1.FindBreakLocationFromPosition(position, v8::internal::STATEMENT_ALIGNED); |
- v8::internal::RelocInfo::Mode actual_mode = it1.it()->rinfo()->rmode(); |
- if (actual_mode == v8::internal::RelocInfo::CODE_TARGET_WITH_ID) { |
- actual_mode = v8::internal::RelocInfo::CODE_TARGET; |
+ i::BreakLocation location = i::BreakLocation::FromPosition( |
+ Debug::GetDebugInfo(shared), i::SOURCE_BREAK_LOCATIONS, position, |
+ i::STATEMENT_ALIGNED); |
+ i::RelocInfo::Mode actual_mode = location.rmode(); |
+ if (actual_mode == i::RelocInfo::CODE_TARGET_WITH_ID) { |
+ actual_mode = i::RelocInfo::CODE_TARGET; |
} |
CHECK_EQ(mode, actual_mode); |
- if (mode != v8::internal::RelocInfo::JS_RETURN) { |
- CHECK_EQ(debug_break, |
- Code::GetCodeFromTargetAddress(it1.it()->rinfo()->target_address())); |
+ if (mode != i::RelocInfo::JS_RETURN) { |
+ CHECK_EQ(debug_break, *location.CodeTarget()); |
} else { |
- CHECK(Debug::IsDebugBreakAtReturn(it1.it()->rinfo())); |
+ i::RelocInfo rinfo = location.rinfo(); |
+ CHECK(i::RelocInfo::IsJSReturn(rinfo.rmode())); |
+ CHECK(rinfo.IsPatchedReturnSequence()); |
} |
// Clear the break point and check that the debug break function is no longer |
@@ -485,15 +474,17 @@ void CheckDebugBreakFunction(DebugLocalContext* env, |
ClearBreakPoint(bp); |
CHECK(!debug->HasDebugInfo(shared)); |
CHECK(debug->EnsureDebugInfo(shared, fun)); |
- TestBreakLocationIterator it2(Debug::GetDebugInfo(shared)); |
- it2.FindBreakLocationFromPosition(position, v8::internal::STATEMENT_ALIGNED); |
- actual_mode = it2.it()->rinfo()->rmode(); |
- if (actual_mode == v8::internal::RelocInfo::CODE_TARGET_WITH_ID) { |
- actual_mode = v8::internal::RelocInfo::CODE_TARGET; |
+ location = i::BreakLocation::FromPosition(Debug::GetDebugInfo(shared), |
+ i::SOURCE_BREAK_LOCATIONS, position, |
+ i::STATEMENT_ALIGNED); |
+ actual_mode = location.rmode(); |
+ if (actual_mode == i::RelocInfo::CODE_TARGET_WITH_ID) { |
+ actual_mode = i::RelocInfo::CODE_TARGET; |
} |
CHECK_EQ(mode, actual_mode); |
- if (mode == v8::internal::RelocInfo::JS_RETURN) { |
- CHECK(!Debug::IsDebugBreakAtReturn(it2.it()->rinfo())); |
+ if (mode == i::RelocInfo::JS_RETURN) { |
+ i::RelocInfo rinfo = location.rinfo(); |
+ CHECK(!rinfo.IsPatchedReturnSequence()); |
} |
} |