| Index: dart/runtime/vm/profiler.h
|
| ===================================================================
|
| --- dart/runtime/vm/profiler.h (revision 31530)
|
| +++ dart/runtime/vm/profiler.h (working copy)
|
| @@ -16,6 +16,7 @@
|
| // Forward declarations.
|
| class JSONArray;
|
| class JSONStream;
|
| +class ProfilerCodeRegionTable;
|
| struct Sample;
|
|
|
| // Profiler
|
| @@ -31,10 +32,10 @@
|
| static void BeginExecution(Isolate* isolate);
|
| static void EndExecution(Isolate* isolate);
|
|
|
| - static void PrintToJSONStream(Isolate* isolate, JSONStream* stream);
|
| + static void PrintToJSONStream(Isolate* isolate, JSONStream* stream,
|
| + bool full);
|
| + static void WriteProfile(Isolate* isolate);
|
|
|
| - static void WriteTracing(Isolate* isolate);
|
| -
|
| static SampleBuffer* sample_buffer() {
|
| return sample_buffer_;
|
| }
|
| @@ -43,9 +44,14 @@
|
| static bool initialized_;
|
| static Monitor* monitor_;
|
|
|
| - static void WriteTracingSample(Isolate* isolate, intptr_t pid,
|
| - Sample* sample, JSONArray& events);
|
| + static intptr_t ProcessSamples(Isolate* isolate,
|
| + ProfilerCodeRegionTable* code_region_table,
|
| + SampleBuffer* sample_buffer);
|
|
|
| + static intptr_t ProcessSample(Isolate* isolate,
|
| + ProfilerCodeRegionTable* code_region_table,
|
| + Sample* sample);
|
| +
|
| static void RecordTickInterruptCallback(const InterruptedThreadState& state,
|
| void* data);
|
|
|
| @@ -76,9 +82,6 @@
|
|
|
| // Profile sample.
|
| struct Sample {
|
| - static const char* kLookupSymbol;
|
| - static const char* kNoSymbol;
|
| - static const char* kNoFrame;
|
| static const intptr_t kNumStackFrames = 6;
|
| enum SampleType {
|
| kIsolateStart,
|
| @@ -109,10 +112,10 @@
|
|
|
| Sample* ReserveSample();
|
|
|
| - Sample* GetSample(intptr_t i) const {
|
| + Sample GetSample(intptr_t i) const {
|
| ASSERT(i >= 0);
|
| ASSERT(i < capacity_);
|
| - return &samples_[i];
|
| + return samples_[i];
|
| }
|
|
|
| private:
|
|
|