Index: include/v8-profiler.h |
diff --git a/include/v8-profiler.h b/include/v8-profiler.h |
index 1d7b70d3c4e7988a2f8090ed2c1ef84da1bd195b..cf2834130053656f5ecd7d30d08d1f0627544d40 100644 |
--- a/include/v8-profiler.h |
+++ b/include/v8-profiler.h |
@@ -30,6 +30,36 @@ |
#include "v8.h" |
+#ifdef _WIN32 |
+// Setup for Windows DLL export/import. See v8.h in this directory for |
+// information on how to build/use V8 as a DLL. |
+#if defined(BUILDING_V8_SHARED) && defined(USING_V8_SHARED) |
+#error both BUILDING_V8_SHARED and USING_V8_SHARED are set - please check the\ |
+ build configuration to ensure that at most one of these is set |
+#endif |
+ |
+#ifdef BUILDING_V8_SHARED |
+#define V8EXPORT __declspec(dllexport) |
+#elif USING_V8_SHARED |
+#define V8EXPORT __declspec(dllimport) |
+#else |
+#define V8EXPORT |
+#endif |
+ |
+#else // _WIN32 |
+ |
+// Setup for Linux shared library export. See v8.h in this directory for |
+// information on how to build/use V8 as shared library. |
+#if defined(__GNUC__) && ((__GNUC__ >= 4) || \ |
+ (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(V8_SHARED) |
+#define V8EXPORT __attribute__ ((visibility("default"))) |
+#else |
+#define V8EXPORT |
+#endif |
+ |
+#endif // _WIN32 |
+ |
+ |
/** |
* Profiler support for the V8 JavaScript engine. |
*/ |
@@ -40,7 +70,7 @@ typedef uint32_t SnapshotObjectId; |
/** |
* CpuProfileNode represents a node in a call graph. |
*/ |
-class V8_EXPORT CpuProfileNode { |
+class V8EXPORT CpuProfileNode { |
public: |
/** Returns function name (empty string for anonymous functions.) */ |
Handle<String> GetFunctionName() const; |
@@ -95,7 +125,7 @@ class V8_EXPORT CpuProfileNode { |
* CpuProfile contains a CPU profile in a form of top-down call tree |
* (from main() down to functions that do all the work). |
*/ |
-class V8_EXPORT CpuProfile { |
+class V8EXPORT CpuProfile { |
public: |
/** Returns CPU profile UID (assigned by the profiler.) */ |
unsigned GetUid() const; |
@@ -119,18 +149,6 @@ class V8_EXPORT CpuProfile { |
const CpuProfileNode* GetSample(int index) const; |
/** |
- * Returns time when the profile recording started (in microseconds |
- * since the Epoch). |
- */ |
- int64_t GetStartTime() const; |
- |
- /** |
- * Returns time when the profile recording was stopped (in microseconds |
- * since the Epoch). |
- */ |
- int64_t GetEndTime() const; |
- |
- /** |
* Deletes the profile and removes it from CpuProfiler's list. |
* All pointers to nodes previously returned become invalid. |
* Profiles with the same uid but obtained using different |
@@ -146,7 +164,7 @@ class V8_EXPORT CpuProfile { |
* Interface for controlling CPU profiling. Instance of the |
* profiler can be retrieved using v8::Isolate::GetCpuProfiler. |
*/ |
-class V8_EXPORT CpuProfiler { |
+class V8EXPORT CpuProfiler { |
public: |
/** |
* A note on security tokens usage. As scripts from different |
@@ -207,7 +225,7 @@ class HeapGraphNode; |
* HeapSnapshotEdge represents a directed connection between heap |
* graph nodes: from retainers to retained nodes. |
*/ |
-class V8_EXPORT HeapGraphEdge { |
+class V8EXPORT HeapGraphEdge { |
public: |
enum Type { |
kContextVariable = 0, // A variable from a function context. |
@@ -243,7 +261,7 @@ class V8_EXPORT HeapGraphEdge { |
/** |
* HeapGraphNode represents a node in a heap graph. |
*/ |
-class V8_EXPORT HeapGraphNode { |
+class V8EXPORT HeapGraphNode { |
public: |
enum Type { |
kHidden = 0, // Hidden node, may be filtered when shown to user. |
@@ -295,7 +313,7 @@ class V8_EXPORT HeapGraphNode { |
/** |
* HeapSnapshots record the state of the JS heap at some moment. |
*/ |
-class V8_EXPORT HeapSnapshot { |
+class V8EXPORT HeapSnapshot { |
public: |
enum SerializationFormat { |
kJSON = 0 // See format description near 'Serialize' method. |
@@ -365,7 +383,7 @@ class RetainedObjectInfo; |
* Interface for controlling heap profiling. Instance of the |
* profiler can be retrieved using v8::Isolate::GetHeapProfiler. |
*/ |
-class V8_EXPORT HeapProfiler { |
+class V8EXPORT HeapProfiler { |
public: |
/** |
* Callback function invoked for obtaining RetainedObjectInfo for |
@@ -503,7 +521,7 @@ class V8_EXPORT HeapProfiler { |
* keeps them alive only during snapshot collection. Afterwards, they |
* are freed by calling the Dispose class function. |
*/ |
-class V8_EXPORT RetainedObjectInfo { // NOLINT |
+class V8EXPORT RetainedObjectInfo { // NOLINT |
public: |
/** Called by V8 when it no longer needs an instance. */ |
virtual void Dispose() = 0; |
@@ -569,4 +587,7 @@ struct HeapStatsUpdate { |
} // namespace v8 |
+#undef V8EXPORT |
+ |
+ |
#endif // V8_V8_PROFILER_H_ |