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

Unified Diff: vm/stack_frame.h

Issue 9791048: - Wire the stack frame iterator to use stack maps for traversing objects if there are stack maps in… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
Patch Set: Created 8 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 | « vm/runtime_entry_test.cc ('k') | vm/stack_frame.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: vm/stack_frame.h
===================================================================
--- vm/stack_frame.h (revision 6294)
+++ vm/stack_frame.h (working copy)
@@ -54,6 +54,10 @@
virtual bool IsEntryFrame() const { return false; }
virtual bool IsExitFrame() const { return false; }
+ // Find code object corresponding to pc (valid only for DartFrame and
+ // StubFrame.
+ static RawCode* LookupCode(Isolate* isolate, uword pc);
+
protected:
StackFrame() : fp_(0), sp_(0) { }
@@ -61,6 +65,21 @@
virtual const char* GetName() const = 0;
private:
+ // An object finder visitor interface.
+ class FindRawCodeVisitor : public FindObjectVisitor {
+ public:
+ explicit FindRawCodeVisitor(uword pc) : pc_(pc) { }
+ virtual ~FindRawCodeVisitor() { }
+
+ // Check if object matches find condition.
+ virtual bool FindObject(RawObject* obj);
+
+ private:
+ uword pc_;
+
+ DISALLOW_COPY_AND_ASSIGN(FindRawCodeVisitor);
+ };
+
// Target specific implementations for locating pc and caller fp/sp values.
static intptr_t PcAddressOffsetFromSp();
uword GetCallerSp() const;
« no previous file with comments | « vm/runtime_entry_test.cc ('k') | vm/stack_frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698