Index: runtime/vm/stack_frame.h |
diff --git a/runtime/vm/stack_frame.h b/runtime/vm/stack_frame.h |
index 2889a1eecc63910e82d874fe153f642aaa181d29..5de8dff96e732da90cac9631e652e9518857405e 100644 |
--- a/runtime/vm/stack_frame.h |
+++ b/runtime/vm/stack_frame.h |
@@ -182,14 +182,17 @@ class StackFrameIterator : public ValueObject { |
// Iterators for iterating over all frames from the last ExitFrame to the |
// first EntryFrame. |
explicit StackFrameIterator(bool validate, |
- Isolate* isolate = Isolate::Current()); |
+ Isolate* isolate = Isolate::Current(), |
+ Thread* thread = Thread::Current()); |
siva
2015/10/20 21:06:14
The explicit should have been removed when the iso
|
StackFrameIterator(uword last_fp, bool validate, |
- Isolate* isolate = Isolate::Current()); |
+ Isolate* isolate = Isolate::Current(), |
+ Thread* thread = Thread::Current()); |
// Iterator for iterating over all frames from the current frame (given by its |
// fp, sp, and pc) to the first EntryFrame. |
StackFrameIterator(uword fp, uword sp, uword pc, bool validate, |
- Isolate* isolate = Isolate::Current()); |
+ Isolate* isolate = Isolate::Current(), |
+ Thread* thread = Thread::Current()); |
// Checks if a next frame exists. |
bool HasNextFrame() const { return frames_.fp_ != 0; } |
@@ -251,6 +254,7 @@ class StackFrameIterator : public ValueObject { |
FrameSetIterator frames_; |
StackFrame* current_frame_; // Points to the current frame in the iterator. |
Isolate* isolate_; |
+ Thread* thread_; |
DISALLOW_COPY_AND_ASSIGN(StackFrameIterator); |
}; |
@@ -265,16 +269,21 @@ class StackFrameIterator : public ValueObject { |
// isolate given is not running concurrently on another thread. |
class DartFrameIterator : public ValueObject { |
public: |
- explicit DartFrameIterator(Isolate* isolate = Isolate::Current()) |
- : frames_(StackFrameIterator::kDontValidateFrames, isolate) { } |
+ DartFrameIterator(Isolate* isolate = Isolate::Current(), |
+ Thread* thread = Thread::Current()) |
srdjan
2015/10/20 20:59:26
Pass in only thread and get isolate from thread->i
|
+ : frames_(StackFrameIterator::kDontValidateFrames, isolate, thread) { } |
DartFrameIterator(uword last_fp, |
- Isolate* isolate = Isolate::Current()) |
- : frames_(last_fp, StackFrameIterator::kDontValidateFrames, isolate) { } |
+ Isolate* isolate = Isolate::Current(), |
+ Thread* thread = Thread::Current()) |
+ : frames_(last_fp, StackFrameIterator::kDontValidateFrames, |
+ isolate, thread) { } |
DartFrameIterator(uword fp, |
uword sp, |
uword pc, |
- Isolate* isolate = Isolate::Current()) |
- : frames_(fp, sp, pc, StackFrameIterator::kDontValidateFrames, isolate) { |
+ Isolate* isolate = Isolate::Current(), |
+ Thread* thread = Thread::Current()) |
+ : frames_(fp, sp, pc, |
+ StackFrameIterator::kDontValidateFrames, isolate, thread) { |
} |
// Get next dart frame. |
StackFrame* NextFrame() { |