| Index: runtime/vm/stack_frame.h
|
| diff --git a/runtime/vm/stack_frame.h b/runtime/vm/stack_frame.h
|
| index 1d5c6100518347c0190b12e5511be46f17e43b6a..a8da1708f2bea1cf78809c82972729d1fea33997 100644
|
| --- a/runtime/vm/stack_frame.h
|
| +++ b/runtime/vm/stack_frame.h
|
| @@ -212,10 +212,12 @@ class StackFrameIterator : public ValueObject {
|
| // Iterators for iterating over all frames from the last ExitFrame to the
|
| // first EntryFrame.
|
| explicit StackFrameIterator(bool validate,
|
| - Thread* thread = Thread::Current());
|
| + Thread* thread,
|
| + bool allow_iterating_other_thread);
|
| StackFrameIterator(uword last_fp,
|
| bool validate,
|
| - Thread* thread = Thread::Current());
|
| + Thread* thread,
|
| + bool allow_iterating_other_thread);
|
|
|
| #if !defined(TARGET_ARCH_DBC)
|
| // Iterator for iterating over all frames from the current frame (given by its
|
| @@ -224,7 +226,8 @@ class StackFrameIterator : public ValueObject {
|
| uword sp,
|
| uword pc,
|
| bool validate,
|
| - Thread* thread = Thread::Current());
|
| + Thread* thread,
|
| + bool allow_iterating_other_thread);
|
| #endif
|
|
|
| // Checks if a next frame exists.
|
| @@ -302,17 +305,30 @@ class StackFrameIterator : public ValueObject {
|
| // isolate given is not running concurrently on another thread.
|
| class DartFrameIterator : public ValueObject {
|
| public:
|
| - explicit DartFrameIterator(Thread* thread = Thread::Current())
|
| - : frames_(StackFrameIterator::kDontValidateFrames, thread) {}
|
| - explicit DartFrameIterator(uword last_fp, Thread* thread = Thread::Current())
|
| - : frames_(last_fp, StackFrameIterator::kDontValidateFrames, thread) {}
|
| + explicit DartFrameIterator(Thread* thread, bool allow_iterating_other_thread)
|
| + : frames_(StackFrameIterator::kDontValidateFrames,
|
| + thread,
|
| + allow_iterating_other_thread) {}
|
| + explicit DartFrameIterator(uword last_fp,
|
| + Thread* thread,
|
| + bool allow_iterating_other_thread)
|
| + : frames_(last_fp,
|
| + StackFrameIterator::kDontValidateFrames,
|
| + thread,
|
| + allow_iterating_other_thread) {}
|
|
|
| #if !defined(TARGET_ARCH_DBC)
|
| DartFrameIterator(uword fp,
|
| uword sp,
|
| uword pc,
|
| - Thread* thread = Thread::Current())
|
| - : frames_(fp, sp, pc, StackFrameIterator::kDontValidateFrames, thread) {}
|
| + Thread* thread,
|
| + bool allow_iterating_other_thread)
|
| + : frames_(fp,
|
| + sp,
|
| + pc,
|
| + StackFrameIterator::kDontValidateFrames,
|
| + thread,
|
| + allow_iterating_other_thread) {}
|
| #endif
|
|
|
| // Get next dart frame.
|
|
|