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

base / allocator / partition_allocator / src / partition_alloc / dot / address-space.dot [blame]

digraph {
  node[shape=box]
  edge[dir=both]
  compound = true
  dpi = 192
  nodesep = 0.91
  // Allows aligning nodes in different subgraphs.
  newrank = true

  subgraph cluster_0 {
    label = "Address Space"
    reg[label="Regular Pool"]
    brp[label="BRP Pool"]
    add[label="Additional Pools"]
    reg->brp->add[style=invis]
  }

  manager[label="AddressPoolManager"]
  manager->reg[constraint=false]
  manager->brp
  manager->add[constraint=false]

  subgraph cluster_1 {
    label = "PartitionRoots"
    pae[label="PA-E Root"]
    blink[label="Blink Roots"]
    etc[style=dotted, label="Other Roots"]
    pae->blink->etc[style=invis]
  }

  manager->blink[lhead=cluster_1]
  {rank=same manager brp blink}
}