1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46

base / memory / raw_ptr_liveness.dot [blame]

digraph {
  graph[bgcolor=white]
  node[shape=box]

  component[label="Is it a\ncomponent\nbuild?"]
  target_fanout[label="What target?"]
  disabled_lacking_pae[label="PA-E is not\navailable"]

  component->disabled_lacking_pae[label="yes"]
  component->target_fanout[label="no"]

  is_asan[label="Is the build\nASan?"]
  disabled_in_asan[label="disabled per\ncrbug/1413674"]
  is_bot[label="Is this a bot?"]
  browser_tests_enabled[label="BRP is live by default via\ntesting/variations/fieldtrial_testing_config.json"]
  is_chrome_branded[label="is_chrome_branded?"]
  enabled_by_feature[label="enabled on most platforms via\npartition_alloc_features.cc"]
  enabled_by_field_trial[label="enabled by default via\nfieldtrial_testing_config.json"]
  enabled_in_unit_tests[label="enabled by default via\nenable_backup_ref_ptr_feature_flag"]

  target_fanout->is_asan[label="unit\ntest"]
  target_fanout->browser_tests_enabled[label="browser\ntest"]
  target_fanout->is_chrome_branded[label="Chromium\ntarget"]

  is_asan->is_bot[label="no"]
  is_asan->disabled_in_asan[label="yes"]
  disabled_in_asan->noop
  browser_tests_enabled->live_brp
  is_chrome_branded->enabled_by_feature[label="yes"]
  is_chrome_branded->enabled_by_field_trial[label="no"]

  {rank=same noop, inert_brp, live_brp}
  noop[label="raw_ptr is\nRawPtrNoOpImpl"]
  live_brp[label="BRP is live"]
  inert_brp[label="BRP is inert"]
  unit_tests_inert_brp[label="BRP is inert by\ndefault; enable with\nenable_backup_ref_ptr_feature_flag"]

  disabled_lacking_pae->noop
  is_bot->enabled_in_unit_tests[label="yes"]
  is_bot->unit_tests_inert_brp[label="no"]

  enabled_in_unit_tests->live_brp
  unit_tests_inert_brp->inert_brp
  enabled_by_feature->live_brp
  enabled_by_field_trial->live_brp
}