Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(382)

Unified Diff: runtime/vm/debugger.cc

Issue 2845053003: Fix asserts in StackFrameIterator which were effectively disabled (Closed)
Patch Set: Add StackFrameIterator::{ValidationPolicy,CrossThreadPolicy} enums Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/benchmark_test.cc ('k') | runtime/vm/deopt_instructions.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/debugger.cc
diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc
index 1d706220b8d3bc8bdcd199c53b2a282febcd60ad..2bd07a4ba09af7f89d7ad6a6f8d5fb33a313a8b6 100644
--- a/runtime/vm/debugger.cc
+++ b/runtime/vm/debugger.cc
@@ -1165,7 +1165,9 @@ void ActivationFrame::PrintContextMismatchError(intptr_t ctx_slot,
OS::PrintErr(
"-------------------------\n"
"All frames...\n\n");
- StackFrameIterator iterator(false);
+ StackFrameIterator iterator(StackFrameIterator::kDontValidateFrames,
+ Thread::Current(),
+ StackFrameIterator::kNoCrossThreadIteration);
StackFrame* frame = iterator.NextFrame();
intptr_t num = 0;
while ((frame != NULL)) {
@@ -1848,7 +1850,9 @@ DebuggerStackTrace* Debugger::CollectStackTrace() {
Zone* zone = thread->zone();
Isolate* isolate = thread->isolate();
DebuggerStackTrace* stack_trace = new DebuggerStackTrace(8);
- StackFrameIterator iterator(false);
+ StackFrameIterator iterator(StackFrameIterator::kDontValidateFrames,
+ Thread::Current(),
+ StackFrameIterator::kNoCrossThreadIteration);
Code& code = Code::Handle(zone);
Code& inlined_code = Code::Handle(zone);
Array& deopt_frame = Array::Handle(zone);
@@ -1934,7 +1938,9 @@ DebuggerStackTrace* Debugger::CollectAsyncCausalStackTrace() {
// asynchronous function. We truncate the remainder of the synchronous
// stack trace because it contains activations that are part of the
// asynchronous dispatch mechanisms.
- StackFrameIterator iterator(false);
+ StackFrameIterator iterator(StackFrameIterator::kDontValidateFrames,
+ Thread::Current(),
+ StackFrameIterator::kNoCrossThreadIteration);
StackFrame* frame = iterator.NextFrame();
while (synchronous_stack_trace_length > 0) {
ASSERT(frame != NULL);
@@ -1997,7 +2003,9 @@ DebuggerStackTrace* Debugger::CollectAwaiterReturnStackTrace() {
Isolate* isolate = thread->isolate();
DebuggerStackTrace* stack_trace = new DebuggerStackTrace(8);
- StackFrameIterator iterator(StackFrameIterator::kDontValidateFrames);
+ StackFrameIterator iterator(StackFrameIterator::kDontValidateFrames,
+ Thread::Current(),
+ StackFrameIterator::kNoCrossThreadIteration);
Code& code = Code::Handle(zone);
Smi& offset = Smi::Handle(zone);
@@ -2131,7 +2139,9 @@ DebuggerStackTrace* Debugger::CollectAwaiterReturnStackTrace() {
ActivationFrame* Debugger::TopDartFrame() const {
- StackFrameIterator iterator(false);
+ StackFrameIterator iterator(StackFrameIterator::kDontValidateFrames,
+ Thread::Current(),
+ StackFrameIterator::kNoCrossThreadIteration);
StackFrame* frame = iterator.NextFrame();
while ((frame != NULL) && !frame->IsDartFrame()) {
frame = iterator.NextFrame();
@@ -3344,7 +3354,9 @@ void Debugger::HandleSteppingRequest(DebuggerStackTrace* stack_trace,
OS::PrintErr(
"-------------------------\n"
"All frames...\n\n");
- StackFrameIterator iterator(false);
+ StackFrameIterator iterator(StackFrameIterator::kDontValidateFrames,
+ Thread::Current(),
+ StackFrameIterator::kNoCrossThreadIteration);
StackFrame* frame = iterator.NextFrame();
intptr_t num = 0;
while ((frame != NULL)) {
@@ -3466,7 +3478,9 @@ void Debugger::RewindToFrame(intptr_t frame_index) {
Function& function = Function::Handle(zone);
// Find the requested frame.
- StackFrameIterator iterator(false);
+ StackFrameIterator iterator(StackFrameIterator::kDontValidateFrames,
+ Thread::Current(),
+ StackFrameIterator::kNoCrossThreadIteration);
intptr_t current_frame = 0;
for (StackFrame* frame = iterator.NextFrame(); frame != NULL;
frame = iterator.NextFrame()) {
@@ -3568,7 +3582,9 @@ void Debugger::RewindPostDeopt() {
OS::PrintErr(
"-------------------------\n"
"All frames...\n\n");
- StackFrameIterator iterator(false);
+ StackFrameIterator iterator(StackFrameIterator::kDontValidateFrames,
+ Thread::Current(),
+ StackFrameIterator::kNoCrossThreadIteration);
StackFrame* frame = iterator.NextFrame();
intptr_t num = 0;
while ((frame != NULL)) {
@@ -3581,7 +3597,9 @@ void Debugger::RewindPostDeopt() {
Zone* zone = thread->zone();
Code& code = Code::Handle(zone);
- StackFrameIterator iterator(false);
+ StackFrameIterator iterator(StackFrameIterator::kDontValidateFrames,
+ Thread::Current(),
+ StackFrameIterator::kNoCrossThreadIteration);
intptr_t current_frame = 0;
for (StackFrame* frame = iterator.NextFrame(); frame != NULL;
frame = iterator.NextFrame()) {
« no previous file with comments | « runtime/vm/benchmark_test.cc ('k') | runtime/vm/deopt_instructions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698