Stack Trace Element with its unit test added too.

The unit test passes.

Change-Id: I6f6af771cae1387c60c3b511148a347fe3237345
diff --git a/src/thread.h b/src/thread.h
index e8ca156..8a3a49b 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -27,6 +27,8 @@
 class Thread;
 class ThreadList;
 class Throwable;
+class StackTraceElement;
+template<class T> class ObjectArray;
 
 class Mutex {
  public:
@@ -131,7 +133,7 @@
 
   void Next();
 
-  void* GetPC() const;
+  uintptr_t GetPC() const;
 
   const Method** GetSP() const {
     return sp_;
@@ -388,6 +390,16 @@
     class_loader_override_ = class_loader_override;
   }
 
+  struct InternalStackTrace {
+    const Method* method;
+    uintptr_t pc;
+  };
+
+  // Get the top length frames information
+  InternalStackTrace* GetStackTrace(uint16_t length);
+
+  ObjectArray<StackTraceElement>* GetStackTraceElement(uint16_t length, InternalStackTrace *raw_trace);
+
  private:
   Thread()
       : id_(1234),