xref: /aosp_15_r20/external/cronet/base/memory/raw_ptr_liveness.dot (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1digraph {
2  graph[bgcolor=white]
3  node[shape=box]
4
5  component[label="Is it a\ncomponent\nbuild?"]
6  target_fanout[label="What target?"]
7  disabled_lacking_pae[label="PA-E is not\navailable"]
8
9  component->disabled_lacking_pae[label="yes"]
10  component->target_fanout[label="no"]
11
12  is_asan[label="Is the build\nASan?"]
13  disabled_in_asan[label="disabled per\ncrbug/1413674"]
14  is_bot[label="Is this a bot?"]
15  browser_tests_enabled[label="BRP is live by default via\ntesting/variations/fieldtrial_testing_config.json"]
16  is_chrome_branded[label="is_chrome_branded?"]
17  enabled_by_feature[label="enabled on most platforms via\npartition_alloc_features.cc"]
18  enabled_by_field_trial[label="enabled by default via\nfieldtrial_testing_config.json"]
19  enabled_in_unit_tests[label="enabled by default via\nenable_backup_ref_ptr_feature_flag"]
20
21  target_fanout->is_asan[label="unit\ntest"]
22  target_fanout->browser_tests_enabled[label="browser\ntest"]
23  target_fanout->is_chrome_branded[label="Chromium\ntarget"]
24
25  is_asan->is_bot[label="no"]
26  is_asan->disabled_in_asan[label="yes"]
27  disabled_in_asan->noop
28  browser_tests_enabled->live_brp
29  is_chrome_branded->enabled_by_feature[label="yes"]
30  is_chrome_branded->enabled_by_field_trial[label="no"]
31
32  {rank=same noop, inert_brp, live_brp}
33  noop[label="raw_ptr is\nRawPtrNoOpImpl"]
34  live_brp[label="BRP is live"]
35  inert_brp[label="BRP is inert"]
36  unit_tests_inert_brp[label="BRP is inert by\ndefault; enable with\nenable_backup_ref_ptr_feature_flag"]
37
38  disabled_lacking_pae->noop
39  is_bot->enabled_in_unit_tests[label="yes"]
40  is_bot->unit_tests_inert_brp[label="no"]
41
42  enabled_in_unit_tests->live_brp
43  unit_tests_inert_brp->inert_brp
44  enabled_by_feature->live_brp
45  enabled_by_field_trial->live_brp
46}
47