[Lldb-commits] [lldb] r128592 - in /lldb/trunk: include/lldb/Target/StackFrameList.h include/lldb/Target/Thread.h source/Target/StackFrameList.cpp source/Target/Thread.cpp

Jim Ingham jingham at apple.com
Wed Mar 30 17:15:50 PDT 2011


Author: jingham
Date: Wed Mar 30 19:15:49 2011
New Revision: 128592

URL: http://llvm.org/viewvc/llvm-project?rev=128592&view=rev
Log:
Add GetFrameWithStackID to the StackFrameList and the Thread (which routes to its StackFrameList.)

Modified:
    lldb/trunk/include/lldb/Target/StackFrameList.h
    lldb/trunk/include/lldb/Target/Thread.h
    lldb/trunk/source/Target/StackFrameList.cpp
    lldb/trunk/source/Target/Thread.cpp

Modified: lldb/trunk/include/lldb/Target/StackFrameList.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/StackFrameList.h?rev=128592&r1=128591&r2=128592&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Target/StackFrameList.h (original)
+++ lldb/trunk/include/lldb/Target/StackFrameList.h Wed Mar 30 19:15:49 2011
@@ -41,6 +41,9 @@
 
     lldb::StackFrameSP
     GetFrameWithConcreteFrameIndex (uint32_t unwind_idx);
+    
+    lldb::StackFrameSP
+    GetFrameWithStackID (StackID &stack_id);
 
     // Mark a stack frame as the current frame
     uint32_t

Modified: lldb/trunk/include/lldb/Target/Thread.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/Thread.h?rev=128592&r1=128591&r2=128592&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Target/Thread.h (original)
+++ lldb/trunk/include/lldb/Target/Thread.h Wed Mar 30 19:15:49 2011
@@ -324,6 +324,9 @@
     
     virtual lldb::StackFrameSP
     GetFrameWithConcreteFrameIndex (uint32_t unwind_idx);
+    
+    virtual lldb::StackFrameSP
+    GetFrameWithStackID(StackID &stack_id);
 
     uint32_t
     GetSelectedFrameIndex ();

Modified: lldb/trunk/source/Target/StackFrameList.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/StackFrameList.cpp?rev=128592&r1=128591&r2=128592&view=diff
==============================================================================
--- lldb/trunk/source/Target/StackFrameList.cpp (original)
+++ lldb/trunk/source/Target/StackFrameList.cpp Wed Mar 30 19:15:49 2011
@@ -356,6 +356,21 @@
     return frame_sp;
 }
 
+StackFrameSP
+StackFrameList::GetFrameWithStackID (StackID &stack_id)
+{
+    uint32_t frame_idx = 0;
+    StackFrameSP frame_sp;
+    do
+    {
+        frame_sp = GetFrameAtIndex (frame_idx);
+        if (frame_sp && frame_sp->GetStackID() == stack_id)
+            break;
+        frame_idx++;
+    }
+    while (frame_sp);
+    return frame_sp;
+}
 
 bool
 StackFrameList::SetFrameAtIndex (uint32_t idx, StackFrameSP &frame_sp)

Modified: lldb/trunk/source/Target/Thread.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Thread.cpp?rev=128592&r1=128591&r2=128592&view=diff
==============================================================================
--- lldb/trunk/source/Target/Thread.cpp (original)
+++ lldb/trunk/source/Target/Thread.cpp Wed Mar 30 19:15:49 2011
@@ -950,6 +950,11 @@
     return GetStackFrameList().GetFrameWithConcreteFrameIndex (unwind_idx);
 }
 
+lldb::StackFrameSP
+Thread::GetFrameWithStackID(StackID &stack_id)
+{
+    return GetStackFrameList().GetFrameWithStackID (stack_id);
+}
 
 
 lldb::StackFrameSP





More information about the lldb-commits mailing list