116d77b42f
Factors out the group regexes from callstats.py so the two tools can share them. When --group is specified, the stats are grouped together using the callstats.py groupings. Also adds --filter (can be supplied multiple times) to only show certain groups. Under the hood, this converts the simple arrays and dictionaries to use classes to simplify the code somewhat. Change-Id: If6b548e109212adfdf46fa04e7b21638f84a0e26 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1962864 Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#65429}
23 lines
1.0 KiB
Python
23 lines
1.0 KiB
Python
# Copyright 2019 the V8 project authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import re
|
|
|
|
RUNTIME_CALL_STATS_GROUPS = [
|
|
('Group-IC', re.compile(".*IC_.*")),
|
|
('Group-OptimizeBackground', re.compile(".*OptimizeBackground.*")),
|
|
('Group-Optimize',
|
|
re.compile("StackGuard|.*Optimize.*|.*Deoptimize.*|Recompile.*")),
|
|
('Group-CompileBackground', re.compile("(.*CompileBackground.*)")),
|
|
('Group-Compile', re.compile("(^Compile.*)|(.*_Compile.*)")),
|
|
('Group-ParseBackground', re.compile(".*ParseBackground.*")),
|
|
('Group-Parse', re.compile(".*Parse.*")),
|
|
('Group-Callback', re.compile(".*Callback.*")),
|
|
('Group-API', re.compile(".*API.*")),
|
|
('Group-GC-Custom', re.compile("GC_Custom_.*")),
|
|
('Group-GC-Background', re.compile(".*GC.*BACKGROUND.*")),
|
|
('Group-GC', re.compile("GC_.*|AllocateInTargetSpace")),
|
|
('Group-JavaScript', re.compile("JS_Execution")),
|
|
('Group-Runtime', re.compile(".*"))]
|