[debug] More diagnostics in GetReturnValue().

Still trying to find the culprit for https://crbug.com/893973,
which seems to be some internal inconsistency in the debug stack
trace iterator.

Bug: chromium:893973
Tbr: yangguo@chromium.org
Change-Id: Id8d62a371cb957d3e78f4919e1ed8b9f54c5738b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1918246
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64985}
This commit is contained in:
Benedikt Meurer 2019-11-15 15:39:10 +01:00 committed by Commit Bot
parent 50dcf2af54
commit c9c2471e4a

View File

@ -115,10 +115,11 @@ v8::MaybeLocal<v8::Value> DebugStackTraceIterator::GetReceiver() const {
}
v8::Local<v8::Value> DebugStackTraceIterator::GetReturnValue() const {
DCHECK(!Done());
CHECK(!Done());
if (frame_inspector_ && frame_inspector_->IsWasm()) {
return v8::Local<v8::Value>();
}
CHECK_NOT_NULL(iterator_.frame());
bool is_optimized = iterator_.frame()->is_optimized();
if (is_optimized || !is_top_frame_ ||
!isolate_->debug()->IsBreakAtReturn(iterator_.javascript_frame())) {