Skip to content

Commit ccbb3d8

Browse files
authored
Adjust JIT categories for the latest JSC (#619)
This patch adds JSC JIT categories to samply. JSC's JITDump information is updated and refactored, and they are now annotated with LinkBuffer's type with `JSC-` prefix. It seems that if they are recognized as is_js = true, profiler results are showing stack entry twice for JSC. So we make all of them non JS.
2 parents b02c23b + d667695 commit ccbb3d8

File tree

1 file changed

+80
-16
lines changed

1 file changed

+80
-16
lines changed

‎samply/src/shared/jit_category_manager.rs

Lines changed: 80 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,86 @@ pub struct JitCategoryManager {
3030
impl JitCategoryManager {
3131
/// (prefix, name, color, is_js)
3232
const CATEGORIES: &'static [(&'static str, Category<'static>, bool)] = &[
33+
// JSC categories.
34+
(
35+
"JSC-Baseline: ",
36+
Category("Baseline", CategoryColor::Blue),
37+
true,
38+
),
39+
("JSC-DFG: ", Category("DFG", CategoryColor::Magenta), true),
40+
("JSC-FTL: ", Category("FTL", CategoryColor::Green), true),
41+
(
42+
"JSC-DFGOSREntry: ",
43+
Category("DFGOSREntry", CategoryColor::DarkGray),
44+
false,
45+
),
46+
(
47+
"JSC-DFGOSRExit: ",
48+
Category("DFGOSRExit", CategoryColor::DarkGray),
49+
false,
50+
),
51+
(
52+
"JSC-FTLOSRExit: ",
53+
Category("FTLOSRExit", CategoryColor::DarkGray),
54+
false,
55+
),
56+
(
57+
"JSC-InlineCache: ",
58+
Category("IC", CategoryColor::Brown),
59+
false,
60+
),
61+
(
62+
"JSC-JumpIsland: ",
63+
Category("JumpIsland", CategoryColor::DarkGray),
64+
false,
65+
),
66+
(
67+
"JSC-Thunk: ",
68+
Category("Thunk", CategoryColor::DarkGray),
69+
false,
70+
),
71+
(
72+
"JSC-LLIntThunk: ",
73+
Category("LLIntThunk", CategoryColor::DarkGray),
74+
false,
75+
),
76+
(
77+
"JSC-DFGThunk: ",
78+
Category("DFGThunk", CategoryColor::DarkGray),
79+
false,
80+
),
81+
(
82+
"JSC-FTLThunk: ",
83+
Category("FTLThunk", CategoryColor::DarkGray),
84+
false,
85+
),
86+
(
87+
"JSC-WasmThunk: ",
88+
Category("WasmThunk", CategoryColor::DarkGray),
89+
false,
90+
),
91+
(
92+
"JSC-ExtraCTIThunk: ",
93+
Category("ExtraCTIThunk", CategoryColor::DarkGray),
94+
false,
95+
),
96+
("JSC-WasmOMG: ", Category("OMG", CategoryColor::Green), true),
97+
("JSC-WasmBBQ: ", Category("BBQ", CategoryColor::Blue), true),
98+
(
99+
"JSC-YarrJIT: ",
100+
Category("YarrJIT", CategoryColor::Red),
101+
false,
102+
),
103+
(
104+
"JSC-CSSJIT: ",
105+
Category("CSSJIT", CategoryColor::Red),
106+
false,
107+
),
108+
(
109+
"JSC-Uncategorized: ",
110+
Category("Uncategorized", CategoryColor::DarkGray),
111+
false,
112+
),
33113
// V8 prefixes: https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/code-kind.cc;l=21;drc=5fe0c7b2435bb2d92f434a81272b6752a5f34b9b
34114
(
35115
"JS:~",
@@ -110,22 +190,6 @@ impl JitCategoryManager {
110190
Category("Trampoline", CategoryColor::DarkGray),
111191
false,
112192
),
113-
(
114-
"Baseline JIT code for ",
115-
Category("Baseline", CategoryColor::Blue),
116-
true,
117-
),
118-
(
119-
"DFG JIT code for DFG: ",
120-
Category("DFG", CategoryColor::Green),
121-
true,
122-
),
123-
(
124-
"FTL B3 code for FTL: ",
125-
Category("FTL", CategoryColor::Green),
126-
true,
127-
),
128-
("LLInt: ", Category("LLInt", CategoryColor::Red), true),
129193
];
130194

131195
pub fn new() -> Self {

0 commit comments

Comments
 (0)