Index: include/v8-profiler.h |
diff --git a/include/v8-profiler.h b/include/v8-profiler.h |
index f9439c2e629445c610b226438a21f82b2687b8de..4d8dc22fb2047e686a18f9d18cce1e86476198a2 100644 |
--- a/include/v8-profiler.h |
+++ b/include/v8-profiler.h |
@@ -5,6 +5,7 @@ |
#ifndef V8_V8_PROFILER_H_ |
#define V8_V8_PROFILER_H_ |
+#include <vector> |
#include "v8.h" |
/** |
@@ -17,6 +18,30 @@ struct HeapStatsUpdate; |
typedef uint32_t SnapshotObjectId; |
+ |
+struct CpuProfileDeoptFrame { |
+ int script_id; |
+ size_t position; |
+}; |
+ |
+ |
+#ifdef V8_OS_WIN |
+template class V8_EXPORT std::vector<CpuProfileDeoptFrame>; |
+#endif |
+ |
+ |
+struct V8_EXPORT CpuProfileDeoptInfo { |
+ /** A pointer to a static string owned by v8. */ |
+ const char* deopt_reason; |
+ std::vector<CpuProfileDeoptFrame> stack; |
+}; |
+ |
+ |
+#ifdef V8_OS_WIN |
+template class V8_EXPORT std::vector<CpuProfileDeoptInfo>; |
+#endif |
+ |
+ |
/** |
* CpuProfileNode represents a node in a call graph. |
*/ |
@@ -85,6 +110,9 @@ class V8_EXPORT CpuProfileNode { |
/** Retrieves a child node by index. */ |
const CpuProfileNode* GetChild(int index) const; |
+ /** Retrieves deopt infos for the node. */ |
+ const std::vector<CpuProfileDeoptInfo>& GetDeoptInfos() const; |
+ |
static const int kNoLineNumberInfo = Message::kNoLineNumberInfo; |
static const int kNoColumnNumberInfo = Message::kNoColumnInfo; |
}; |