OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 /* Parsing timers. */ \ | 44 /* Parsing timers. */ \ |
45 HT(parse, V8.Parse) \ | 45 HT(parse, V8.Parse) \ |
46 HT(parse_lazy, V8.ParseLazy) \ | 46 HT(parse_lazy, V8.ParseLazy) \ |
47 HT(pre_parse, V8.PreParse) \ | 47 HT(pre_parse, V8.PreParse) \ |
48 /* Total compilation times. */ \ | 48 /* Total compilation times. */ \ |
49 HT(compile, V8.Compile) \ | 49 HT(compile, V8.Compile) \ |
50 HT(compile_eval, V8.CompileEval) \ | 50 HT(compile_eval, V8.CompileEval) \ |
51 HT(compile_lazy, V8.CompileLazy) | 51 HT(compile_lazy, V8.CompileLazy) |
52 | 52 |
53 #define HISTOGRAM_PERCENTAGE_LIST(HP) \ | 53 #define HISTOGRAM_PERCENTAGE_LIST(HP) \ |
| 54 /* Heap fragmentation. */ \ |
54 HP(external_fragmentation_total, \ | 55 HP(external_fragmentation_total, \ |
55 V8.MemoryExternalFragmentationTotal) \ | 56 V8.MemoryExternalFragmentationTotal) \ |
56 HP(external_fragmentation_old_pointer_space, \ | 57 HP(external_fragmentation_old_pointer_space, \ |
57 V8.MemoryExternalFragmentationOldPointerSpace) \ | 58 V8.MemoryExternalFragmentationOldPointerSpace) \ |
58 HP(external_fragmentation_old_data_space, \ | 59 HP(external_fragmentation_old_data_space, \ |
59 V8.MemoryExternalFragmentationOldDataSpace) \ | 60 V8.MemoryExternalFragmentationOldDataSpace) \ |
60 HP(external_fragmentation_code_space, \ | 61 HP(external_fragmentation_code_space, \ |
61 V8.MemoryExternalFragmentationCodeSpace) \ | 62 V8.MemoryExternalFragmentationCodeSpace) \ |
62 HP(external_fragmentation_map_space, \ | 63 HP(external_fragmentation_map_space, \ |
63 V8.MemoryExternalFragmentationMapSpace) \ | 64 V8.MemoryExternalFragmentationMapSpace) \ |
64 HP(external_fragmentation_cell_space, \ | 65 HP(external_fragmentation_cell_space, \ |
65 V8.MemoryExternalFragmentationCellSpace) \ | 66 V8.MemoryExternalFragmentationCellSpace) \ |
66 HP(external_fragmentation_property_cell_space, \ | 67 HP(external_fragmentation_property_cell_space, \ |
67 V8.MemoryExternalFragmentationPropertyCellSpace) \ | 68 V8.MemoryExternalFragmentationPropertyCellSpace) \ |
68 HP(external_fragmentation_lo_space, \ | 69 HP(external_fragmentation_lo_space, \ |
69 V8.MemoryExternalFragmentationLoSpace) \ | 70 V8.MemoryExternalFragmentationLoSpace) \ |
| 71 /* Percentages of heap committed to each space. */ \ |
| 72 HP(heap_fraction_new_space, \ |
| 73 V8.MemoryHeapFractionNewSpace) \ |
| 74 HP(heap_fraction_old_pointer_space, \ |
| 75 V8.MemoryHeapFractionOldPointerSpace) \ |
| 76 HP(heap_fraction_old_data_space, \ |
| 77 V8.MemoryHeapFractionOldDataSpace) \ |
| 78 HP(heap_fraction_code_space, \ |
| 79 V8.MemoryHeapFractionCodeSpace) \ |
70 HP(heap_fraction_map_space, \ | 80 HP(heap_fraction_map_space, \ |
71 V8.MemoryHeapFractionMapSpace) \ | 81 V8.MemoryHeapFractionMapSpace) \ |
72 HP(heap_fraction_cell_space, \ | 82 HP(heap_fraction_cell_space, \ |
73 V8.MemoryHeapFractionCellSpace) \ | 83 V8.MemoryHeapFractionCellSpace) \ |
74 HP(heap_fraction_property_cell_space, \ | 84 HP(heap_fraction_property_cell_space, \ |
75 V8.MemoryHeapFractionPropertyCellSpace) \ | 85 V8.MemoryHeapFractionPropertyCellSpace) \ |
| 86 HP(heap_fraction_lo_space, \ |
| 87 V8.MemoryHeapFractionLoSpace) \ |
| 88 /* Percentage of crankshafted codegen. */ \ |
| 89 HP(codegen_fraction_crankshaft, \ |
| 90 V8.CodegenFractionCrankshaft) \ |
76 | 91 |
77 | 92 |
78 #define HISTOGRAM_MEMORY_LIST(HM) \ | 93 #define HISTOGRAM_MEMORY_LIST(HM) \ |
79 HM(heap_sample_total_committed, V8.MemoryHeapSampleTotalCommitted) \ | 94 HM(heap_sample_total_committed, V8.MemoryHeapSampleTotalCommitted) \ |
80 HM(heap_sample_total_used, V8.MemoryHeapSampleTotalUsed) \ | 95 HM(heap_sample_total_used, V8.MemoryHeapSampleTotalUsed) \ |
81 HM(heap_sample_map_space_committed, \ | 96 HM(heap_sample_map_space_committed, \ |
82 V8.MemoryHeapSampleMapSpaceCommitted) \ | 97 V8.MemoryHeapSampleMapSpaceCommitted) \ |
83 HM(heap_sample_cell_space_committed, \ | 98 HM(heap_sample_cell_space_committed, \ |
84 V8.MemoryHeapSampleCellSpaceCommitted) \ | 99 V8.MemoryHeapSampleCellSpaceCommitted) \ |
85 HM(heap_sample_property_cell_space_committed, \ | 100 HM(heap_sample_property_cell_space_committed, \ |
86 V8.MemoryHeapSamplePropertyCellSpaceCommitted) \ | 101 V8.MemoryHeapSamplePropertyCellSpaceCommitted) \ |
| 102 HM(heap_sample_code_space_committed, \ |
| 103 V8.MemoryHeapSampleCodeSpaceCommitted) \ |
87 | 104 |
88 | 105 |
89 // WARNING: STATS_COUNTER_LIST_* is a very large macro that is causing MSVC | 106 // WARNING: STATS_COUNTER_LIST_* is a very large macro that is causing MSVC |
90 // Intellisense to crash. It was broken into two macros (each of length 40 | 107 // Intellisense to crash. It was broken into two macros (each of length 40 |
91 // lines) rather than one macro (of length about 80 lines) to work around | 108 // lines) rather than one macro (of length about 80 lines) to work around |
92 // this problem. Please avoid using recursive macros of this length when | 109 // this problem. Please avoid using recursive macros of this length when |
93 // possible. | 110 // possible. |
94 #define STATS_COUNTER_LIST_1(SC) \ | 111 #define STATS_COUNTER_LIST_1(SC) \ |
95 /* Global Handle Count*/ \ | 112 /* Global Handle Count*/ \ |
96 SC(global_handles, V8.GlobalHandles) \ | 113 SC(global_handles, V8.GlobalHandles) \ |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 SC(store_buffer_overflows, V8.StoreBufferOverflows) | 160 SC(store_buffer_overflows, V8.StoreBufferOverflows) |
144 | 161 |
145 | 162 |
146 #define STATS_COUNTER_LIST_2(SC) \ | 163 #define STATS_COUNTER_LIST_2(SC) \ |
147 /* Number of code stubs. */ \ | 164 /* Number of code stubs. */ \ |
148 SC(code_stubs, V8.CodeStubs) \ | 165 SC(code_stubs, V8.CodeStubs) \ |
149 /* Amount of stub code. */ \ | 166 /* Amount of stub code. */ \ |
150 SC(total_stubs_code_size, V8.TotalStubsCodeSize) \ | 167 SC(total_stubs_code_size, V8.TotalStubsCodeSize) \ |
151 /* Amount of (JS) compiled code. */ \ | 168 /* Amount of (JS) compiled code. */ \ |
152 SC(total_compiled_code_size, V8.TotalCompiledCodeSize) \ | 169 SC(total_compiled_code_size, V8.TotalCompiledCodeSize) \ |
| 170 SC(total_crankshaft_code_size, V8.TotalCrankshaftCodeSize) \ |
153 SC(gc_compactor_caused_by_request, V8.GCCompactorCausedByRequest) \ | 171 SC(gc_compactor_caused_by_request, V8.GCCompactorCausedByRequest) \ |
154 SC(gc_compactor_caused_by_promoted_data, \ | 172 SC(gc_compactor_caused_by_promoted_data, \ |
155 V8.GCCompactorCausedByPromotedData) \ | 173 V8.GCCompactorCausedByPromotedData) \ |
156 SC(gc_compactor_caused_by_oldspace_exhaustion, \ | 174 SC(gc_compactor_caused_by_oldspace_exhaustion, \ |
157 V8.GCCompactorCausedByOldspaceExhaustion) \ | 175 V8.GCCompactorCausedByOldspaceExhaustion) \ |
158 SC(gc_last_resort_from_js, V8.GCLastResortFromJS) \ | 176 SC(gc_last_resort_from_js, V8.GCLastResortFromJS) \ |
159 SC(gc_last_resort_from_handles, V8.GCLastResortFromHandles) \ | 177 SC(gc_last_resort_from_handles, V8.GCLastResortFromHandles) \ |
160 /* How is the generic keyed-load stub used? */ \ | 178 /* How is the generic keyed-load stub used? */ \ |
161 SC(keyed_load_generic_smi, V8.KeyedLoadGenericSmi) \ | 179 SC(keyed_load_generic_smi, V8.KeyedLoadGenericSmi) \ |
162 SC(keyed_load_generic_symbol, V8.KeyedLoadGenericSymbol) \ | 180 SC(keyed_load_generic_symbol, V8.KeyedLoadGenericSymbol) \ |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 friend class Isolate; | 410 friend class Isolate; |
393 | 411 |
394 explicit Counters(Isolate* isolate); | 412 explicit Counters(Isolate* isolate); |
395 | 413 |
396 DISALLOW_IMPLICIT_CONSTRUCTORS(Counters); | 414 DISALLOW_IMPLICIT_CONSTRUCTORS(Counters); |
397 }; | 415 }; |
398 | 416 |
399 } } // namespace v8::internal | 417 } } // namespace v8::internal |
400 | 418 |
401 #endif // V8_V8_COUNTERS_H_ | 419 #endif // V8_V8_COUNTERS_H_ |
OLD | NEW |