[SM91] Update to Spidermonkey 91.1.3 APIs
[0ad.git] / libraries / source / spidermonkey / include-win32-release / js / ProfilingCategoryList.h
blob11c13805d30299260efe8222a1ce60323ed9c2f1
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 * vim: set ts=8 sts=2 et sw=2 tw=99:
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef baseprofiler_ProfilingCategoryList_h
8 #define baseprofiler_ProfilingCategoryList_h
10 // Profiler sub-categories are applied to each sampled stack to describe the
11 // type of workload that the CPU is busy with. Only one sub-category can be
12 // assigned so be mindful that these are non-overlapping. The active category is
13 // set by pushing a label to the profiling stack, or by the unwinder in cases
14 // such as JITs. A profile sample in arbitrary C++/Rust will typically be
15 // categorized based on the top of the label stack.
17 // The list of available color names for categories is:
18 // transparent
19 // blue
20 // green
21 // grey
22 // lightblue
23 // magenta
24 // orange
25 // purple
26 // yellow
28 // clang-format off
30 #define MOZ_PROFILING_CATEGORY_LIST(BEGIN_CATEGORY, SUBCATEGORY, END_CATEGORY) \
31 BEGIN_CATEGORY(IDLE, "Idle", "transparent") \
32 SUBCATEGORY(IDLE, IDLE, "Other") \
33 END_CATEGORY \
34 BEGIN_CATEGORY(OTHER, "Other", "grey") \
35 SUBCATEGORY(OTHER, OTHER, "Other") \
36 SUBCATEGORY(OTHER, OTHER_PreferenceRead, "Preference Read") \
37 SUBCATEGORY(OTHER, OTHER_Profiling, "Profiling") \
38 END_CATEGORY \
39 BEGIN_CATEGORY(TEST, "Test", "darkgray") \
40 SUBCATEGORY(TEST, TEST, "Test") \
41 END_CATEGORY \
42 BEGIN_CATEGORY(LAYOUT, "Layout", "purple") \
43 SUBCATEGORY(LAYOUT, LAYOUT, "Other") \
44 SUBCATEGORY(LAYOUT, LAYOUT_FrameConstruction, "Frame construction") \
45 SUBCATEGORY(LAYOUT, LAYOUT_Reflow, "Reflow") \
46 SUBCATEGORY(LAYOUT, LAYOUT_CSSParsing, "CSS parsing") \
47 SUBCATEGORY(LAYOUT, LAYOUT_SelectorQuery, "Selector query") \
48 SUBCATEGORY(LAYOUT, LAYOUT_StyleComputation, "Style computation") \
49 END_CATEGORY \
50 BEGIN_CATEGORY(JS, "JavaScript", "yellow") \
51 SUBCATEGORY(JS, JS, "Other") \
52 SUBCATEGORY(JS, JS_Parsing, "Parsing") \
53 SUBCATEGORY(JS, JS_BaselineCompilation, "JIT Compile (baseline)") \
54 SUBCATEGORY(JS, JS_IonCompilation, "JIT Compile (ion)") \
55 SUBCATEGORY(JS, JS_Interpreter, "Interpreter") \
56 SUBCATEGORY(JS, JS_BaselineInterpret, "JIT (baseline-interpreter)") \
57 SUBCATEGORY(JS, JS_Baseline, "JIT (baseline)") \
58 SUBCATEGORY(JS, JS_IonMonkey, "JIT (ion)") \
59 END_CATEGORY \
60 BEGIN_CATEGORY(GCCC, "GC / CC", "orange") \
61 SUBCATEGORY(GCCC, GCCC, "Other") \
62 SUBCATEGORY(GCCC, GCCC_MinorGC, "Minor GC") \
63 SUBCATEGORY(GCCC, GCCC_MajorGC, "Major GC (Other)") \
64 SUBCATEGORY(GCCC, GCCC_MajorGC_Mark, "Major GC (Mark)") \
65 SUBCATEGORY(GCCC, GCCC_MajorGC_Sweep, "Major GC (Sweep)") \
66 SUBCATEGORY(GCCC, GCCC_MajorGC_Compact, "Major GC (Compact)") \
67 SUBCATEGORY(GCCC, GCCC_UnmarkGray, "Unmark Gray") \
68 SUBCATEGORY(GCCC, GCCC_Barrier, "Barrier") \
69 SUBCATEGORY(GCCC, GCCC_FreeSnowWhite, "CC (Free Snow White)") \
70 SUBCATEGORY(GCCC, GCCC_BuildGraph, "CC (Build Graph)") \
71 SUBCATEGORY(GCCC, GCCC_ScanRoots, "CC (Scan Roots)") \
72 SUBCATEGORY(GCCC, GCCC_CollectWhite, "CC (Collect White)") \
73 SUBCATEGORY(GCCC, GCCC_Finalize, "CC (Finalize)") \
74 END_CATEGORY \
75 BEGIN_CATEGORY(NETWORK, "Network", "lightblue") \
76 SUBCATEGORY(NETWORK, NETWORK, "Other") \
77 END_CATEGORY \
78 BEGIN_CATEGORY(GRAPHICS, "Graphics", "green") \
79 SUBCATEGORY(GRAPHICS, GRAPHICS, "Other") \
80 SUBCATEGORY(GRAPHICS, GRAPHICS_DisplayListBuilding, "DisplayList building") \
81 SUBCATEGORY(GRAPHICS, GRAPHICS_DisplayListMerging, "DisplayList merging") \
82 SUBCATEGORY(GRAPHICS, GRAPHICS_LayerBuilding, "Layer building") \
83 SUBCATEGORY(GRAPHICS, GRAPHICS_TileAllocation, "Tile allocation") \
84 SUBCATEGORY(GRAPHICS, GRAPHICS_WRDisplayList, "WebRender display list") \
85 SUBCATEGORY(GRAPHICS, GRAPHICS_Rasterization, "Rasterization") \
86 SUBCATEGORY(GRAPHICS, GRAPHICS_FlushingAsyncPaints, "Flushing async paints") \
87 SUBCATEGORY(GRAPHICS, GRAPHICS_ImageDecoding, "Image decoding") \
88 END_CATEGORY \
89 BEGIN_CATEGORY(DOM, "DOM", "blue") \
90 SUBCATEGORY(DOM, DOM, "Other") \
91 END_CATEGORY \
92 BEGIN_CATEGORY(JAVA_ANDROID, "Android", "yellow") \
93 SUBCATEGORY(JAVA_ANDROID, JAVA_ANDROID, "Other") \
94 END_CATEGORY \
95 BEGIN_CATEGORY(JAVA_ANDROIDX, "AndroidX", "orange") \
96 SUBCATEGORY(JAVA_ANDROIDX, JAVA_ANDROIDX, "Other") \
97 END_CATEGORY \
98 BEGIN_CATEGORY(JAVA_LANGUAGE, "Java", "blue") \
99 SUBCATEGORY(JAVA_LANGUAGE, JAVA_LANGUAGE, "Other") \
100 END_CATEGORY \
101 BEGIN_CATEGORY(JAVA_MOZILLA, "Mozilla", "green") \
102 SUBCATEGORY(JAVA_MOZILLA, JAVA_MOZILLA, "Other") \
103 END_CATEGORY \
104 BEGIN_CATEGORY(JAVA_KOTLIN, "Kotlin", "purple") \
105 SUBCATEGORY(JAVA_KOTLIN, JAVA_KOTLIN, "Other") \
106 END_CATEGORY \
107 BEGIN_CATEGORY(JAVA_BLOCKED, "Blocked", "lightblue") \
108 SUBCATEGORY(JAVA_BLOCKED, JAVA_BLOCKED, "Other") \
109 END_CATEGORY \
110 BEGIN_CATEGORY(IPC, "IPC", "lightgreen") \
111 SUBCATEGORY(IPC, IPC, "Other") \
112 END_CATEGORY \
113 BEGIN_CATEGORY(MEDIA, "Media", "orange") \
114 SUBCATEGORY(MEDIA, MEDIA, "Other") \
115 SUBCATEGORY(MEDIA, MEDIA_CUBEB, "Cubeb") \
116 SUBCATEGORY(MEDIA, MEDIA_PLAYBACK, "Playback") \
117 SUBCATEGORY(MEDIA, MEDIA_RT, "Real-time rendering") \
118 END_CATEGORY \
119 BEGIN_CATEGORY(PROFILER, "Profiler", "lightred") \
120 SUBCATEGORY(PROFILER, PROFILER, "Other") \
121 END_CATEGORY
123 // clang-format on
125 #endif // baseprofiler_ProfilingCategoryList_h