Commit e567e5ca authored by jgruber's avatar jgruber Committed by Commit Bot

[coverage] Handle repeated CoverageInfo deletions

Debug::ClearCoverageInfo may be called multiple times, for example
whenever coverage mode is switched to BestEffort. When encountering a
DebugInfo that does not have a CoverageInfo attached, simply do nothing
instead of failing a DCHECK.

TBR=yangguo@chromium.org

Bug: v8:6000
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I3910b21ab40e7db02af5f3b6add3ec3f86e5bd91
Reviewed-on: https://chromium-review.googlesource.com/588788
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46925}
parent bb840f4f
......@@ -171,15 +171,15 @@ bool DebugInfo::HasCoverageInfo() const {
bool DebugInfo::ClearCoverageInfo() {
DCHECK(FLAG_block_coverage);
DCHECK(HasCoverageInfo());
Isolate* isolate = GetIsolate();
set_coverage_info(isolate->heap()->undefined_value());
if (HasCoverageInfo()) {
Isolate* isolate = GetIsolate();
int new_flags = flags() & ~kHasCoverageInfo;
set_flags(new_flags);
set_coverage_info(isolate->heap()->undefined_value());
return new_flags == kNone;
int new_flags = flags() & ~kHasCoverageInfo;
set_flags(new_flags);
}
return flags() == kNone;
}
// Remove the specified break point object.
......
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