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

Unified Diff: runtime/vm/stack_frame.h

Issue 1411703004: Pass Thread into StackFrameIterator (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 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/profiler.cc ('k') | runtime/vm/stack_frame.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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() {
« no previous file with comments | « runtime/vm/profiler.cc ('k') | runtime/vm/stack_frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698