28 #ifndef V8_V8_PROFILER_H_
29 #define V8_V8_PROFILER_H_
36 #if defined(BUILDING_V8_SHARED) && defined(USING_V8_SHARED)
37 #error both BUILDING_V8_SHARED and USING_V8_SHARED are set - please check the\
38 build configuration to ensure that at most one of these is set
41 #ifdef BUILDING_V8_SHARED
42 #define V8EXPORT __declspec(dllexport)
44 #define V8EXPORT __declspec(dllimport)
53 #if defined(__GNUC__) && (__GNUC__ >= 4) && defined(V8_SHARED)
54 #define V8EXPORT __attribute__ ((visibility("default")))
55 #else // defined(__GNUC__) && (__GNUC__ >= 4)
57 #endif // defined(__GNUC__) && (__GNUC__ >= 4)
84 int GetLineNumber()
const;
90 double GetTotalTime()
const;
96 double GetSelfTime()
const;
99 double GetTotalSamplesCount()
const;
102 double GetSelfSamplesCount()
const;
105 unsigned GetCallUid()
const;
108 int GetChildrenCount()
const;
125 unsigned GetUid()
const;
166 static int GetProfilesCount();
201 static void DeleteAllProfiles();
215 kContextVariable = 0,
229 Type GetType()
const;
265 Type GetType()
const;
281 int GetSelfSize()
const;
289 int GetRetainedSize()
const;
292 int GetChildrenCount()
const;
298 int GetRetainersCount()
const;
330 Type GetType()
const;
333 unsigned GetUid()
const;
345 int GetNodesCount()
const;
386 void Serialize(
OutputStream* stream, SerializationFormat format)
const;
390 class RetainedObjectInfo;
407 static int GetSnapshotsCount();
442 static void StartHeapObjectsTracking();
463 static void StopHeapObjectsTracking();
469 static void DeleteAllSnapshots();
472 static void DefineWrapperClass(
474 WrapperInfoCallback callback);
481 static const uint16_t kPersistentHandleNoClassId = 0;
484 static int GetPersistentHandleCount();
487 static size_t GetMemorySizeUsedByProfiler();
518 virtual void Dispose() = 0;
527 virtual intptr_t GetHash() = 0;
533 virtual const char* GetLabel() = 0;
571 : index(index), count(count), size(size) { }
584 #endif // V8_V8_PROFILER_H_
static const int kNoLineNumberInfo
activate correct semantics for inheriting readonliness enable harmony semantics for typeof enable harmony enable harmony proxies enable all harmony harmony_scoping harmony_proxies harmony_scoping tracks arrays with only smi values automatically unbox arrays of doubles use crankshaft use hydrogen range analysis use hydrogen global value numbering use function inlining maximum number of AST nodes considered for a single inlining loop invariant code motion print statistics for hydrogen trace generated IR for specified phases trace register allocator trace range analysis trace representation types environment for every instruction put a break point before deoptimizing polymorphic inlining perform array bounds checks elimination trace on stack replacement optimize closures functions with arguments object optimize functions containing for in loops profiler considers IC stability primitive functions trigger their own optimization re try self optimization if it failed insert an interrupt check at function exit execution budget before interrupt is triggered call count before self optimization self_optimization count_based_interrupts weighted_back_edges trace_opt emit comments in code disassembly enable use of SSE3 instructions if available enable use of CMOV instruction if available enable use of SAHF instruction if enable use of VFP3 instructions if available this implies enabling ARMv7 enable use of ARMv7 instructions if enable use of MIPS FPU instructions if NULL
HeapStatsUpdate(uint32_t index, uint32_t count, uint32_t size)
virtual ~RetainedObjectInfo()
uint32_t SnapshotObjectId
virtual intptr_t GetElementCount()
virtual intptr_t GetSizeInBytes()
virtual const char * GetGroupLabel()