OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_PROFILER_H_ | 5 #ifndef VM_PROFILER_H_ |
6 #define VM_PROFILER_H_ | 6 #define VM_PROFILER_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/bitfield.h" | 9 #include "vm/bitfield.h" |
10 #include "vm/code_observers.h" | 10 #include "vm/code_observers.h" |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
349 static intptr_t pcs_length_; | 349 static intptr_t pcs_length_; |
350 enum StateBits { | 350 enum StateBits { |
351 kHeadSampleBit = 0, | 351 kHeadSampleBit = 0, |
352 kLeafFrameIsDartBit = 1, | 352 kLeafFrameIsDartBit = 1, |
353 kIgnoreBit = 2, | 353 kIgnoreBit = 2, |
354 kExitFrameBit = 3, | 354 kExitFrameBit = 3, |
355 kMissingFrameInsertedBit = 4, | 355 kMissingFrameInsertedBit = 4, |
356 kTruncatedTraceBit = 5, | 356 kTruncatedTraceBit = 5, |
357 kClassAllocationSampleBit = 6, | 357 kClassAllocationSampleBit = 6, |
358 kContinuationSampleBit = 7, | 358 kContinuationSampleBit = 7, |
359 kThreadTaskBit = 8, // 5 bits. | 359 kThreadTaskBit = 8, // 4 bits. |
360 kNextFreeBit = 13, | 360 kNextFreeBit = 12, |
361 }; | 361 }; |
362 class HeadSampleBit : public BitField<uword, bool, kHeadSampleBit, 1> {}; | 362 class HeadSampleBit : public BitField<uword, bool, kHeadSampleBit, 1> {}; |
363 class LeafFrameIsDart : | 363 class LeafFrameIsDart : |
364 public BitField<uword, bool, kLeafFrameIsDartBit, 1> {}; | 364 public BitField<uword, bool, kLeafFrameIsDartBit, 1> {}; |
365 class IgnoreBit : public BitField<uword, bool, kIgnoreBit, 1> {}; | 365 class IgnoreBit : public BitField<uword, bool, kIgnoreBit, 1> {}; |
366 class ExitFrameBit : public BitField<uword, bool, kExitFrameBit, 1> {}; | 366 class ExitFrameBit : public BitField<uword, bool, kExitFrameBit, 1> {}; |
367 class MissingFrameInsertedBit | 367 class MissingFrameInsertedBit |
368 : public BitField<uword, bool, kMissingFrameInsertedBit, 1> {}; | 368 : public BitField<uword, bool, kMissingFrameInsertedBit, 1> {}; |
369 class TruncatedTraceBit : | 369 class TruncatedTraceBit : |
370 public BitField<uword, bool, kTruncatedTraceBit, 1> {}; | 370 public BitField<uword, bool, kTruncatedTraceBit, 1> {}; |
371 class ClassAllocationSampleBit | 371 class ClassAllocationSampleBit |
372 : public BitField<uword, bool, kClassAllocationSampleBit, 1> {}; | 372 : public BitField<uword, bool, kClassAllocationSampleBit, 1> {}; |
373 class ContinuationSampleBit | 373 class ContinuationSampleBit |
374 : public BitField<uword, bool, kContinuationSampleBit, 1> {}; | 374 : public BitField<uword, bool, kContinuationSampleBit, 1> {}; |
375 class ThreadTaskBit | 375 class ThreadTaskBit |
376 : public BitField<uword, Thread::TaskKind, kThreadTaskBit, 5> {}; | 376 : public BitField<uword, Thread::TaskKind, kThreadTaskBit, 4> {}; |
377 | 377 |
378 int64_t timestamp_; | 378 int64_t timestamp_; |
379 ThreadId tid_; | 379 ThreadId tid_; |
380 Isolate* isolate_; | 380 Isolate* isolate_; |
381 uword pc_marker_; | 381 uword pc_marker_; |
382 uword stack_buffer_[kStackBufferSizeInWords]; | 382 uword stack_buffer_[kStackBufferSizeInWords]; |
383 uword vm_tag_; | 383 uword vm_tag_; |
384 uword user_tag_; | 384 uword user_tag_; |
385 uword metadata_; | 385 uword metadata_; |
386 uword lr_; | 386 uword lr_; |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
655 private: | 655 private: |
656 ZoneGrowableArray<ProcessedSample*> samples_; | 656 ZoneGrowableArray<ProcessedSample*> samples_; |
657 CodeLookupTable* code_lookup_table_; | 657 CodeLookupTable* code_lookup_table_; |
658 | 658 |
659 DISALLOW_COPY_AND_ASSIGN(ProcessedSampleBuffer); | 659 DISALLOW_COPY_AND_ASSIGN(ProcessedSampleBuffer); |
660 }; | 660 }; |
661 | 661 |
662 } // namespace dart | 662 } // namespace dart |
663 | 663 |
664 #endif // VM_PROFILER_H_ | 664 #endif // VM_PROFILER_H_ |
OLD | NEW |