Commit c42b0e82 authored by yangguo's avatar yangguo Committed by Commit bot

Fix bogus assertion in Debug::PrepareStep.

R=svenpanne@chromium.org
BUG=chromium:461042
LOG=N

Review URL: https://codereview.chromium.org/948313002

Cr-Commit-Position: refs/heads/master@{#26818}
parent dcf193f1
...@@ -1355,6 +1355,7 @@ void Debug::PrepareStep(StepAction step_action, ...@@ -1355,6 +1355,7 @@ void Debug::PrepareStep(StepAction step_action,
it.FindBreakLocationFromAddress(frame->pc() - 1); it.FindBreakLocationFromAddress(frame->pc() - 1);
is_exit = it.IsExit(); is_exit = it.IsExit();
is_construct_call = RelocInfo::IsConstructCall(it.rmode());
if (thread_local_.restarter_frame_function_pointer_ == NULL) { if (thread_local_.restarter_frame_function_pointer_ == NULL) {
if (RelocInfo::IsCodeTarget(it.rinfo()->rmode())) { if (RelocInfo::IsCodeTarget(it.rinfo()->rmode())) {
...@@ -1363,7 +1364,6 @@ void Debug::PrepareStep(StepAction step_action, ...@@ -1363,7 +1364,6 @@ void Debug::PrepareStep(StepAction step_action,
Code* code = Code::GetCodeFromTargetAddress(target); Code* code = Code::GetCodeFromTargetAddress(target);
is_call_target = code->is_call_stub(); is_call_target = code->is_call_stub();
is_construct_call = RelocInfo::IsConstructCall(it.rmode());
is_inline_cache_stub = code->is_inline_cache_stub(); is_inline_cache_stub = code->is_inline_cache_stub();
is_load_or_store = is_inline_cache_stub && !is_call_target; is_load_or_store = is_inline_cache_stub && !is_call_target;
...@@ -1512,7 +1512,7 @@ void Debug::PrepareStep(StepAction step_action, ...@@ -1512,7 +1512,7 @@ void Debug::PrepareStep(StepAction step_action,
// this function (Debug::PrepareStep) which should flood target function // this function (Debug::PrepareStep) which should flood target function
// with breakpoints. // with breakpoints.
DCHECK(is_construct_call || is_inline_cache_stub || DCHECK(is_construct_call || is_inline_cache_stub ||
!call_function_stub.is_null()); !call_function_stub.is_null() || is_at_restarted_function);
ActivateStepIn(frame); ActivateStepIn(frame);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment