Home / Function/ postDominatorFrontier() — react Function Reference

postDominatorFrontier() — react Function Reference

Architecture documentation for the postDominatorFrontier() function in ControlDominators.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  2ab5bf9c_e206_7c2b_7310_4c254855325b["postDominatorFrontier()"]
  5d62162e_5fa5_1488_29bf_5150b4be53a0["ControlDominators.ts"]
  2ab5bf9c_e206_7c2b_7310_4c254855325b -->|defined in| 5d62162e_5fa5_1488_29bf_5150b4be53a0
  1c6dc7ec_72e1_b907_d23f_94b6a80c2a2d["createControlDominators()"]
  1c6dc7ec_72e1_b907_d23f_94b6a80c2a2d -->|calls| 2ab5bf9c_e206_7c2b_7310_4c254855325b
  8017034f_f43c_cd01_077d_41294bd5f874["postDominatorsOf()"]
  2ab5bf9c_e206_7c2b_7310_4c254855325b -->|calls| 8017034f_f43c_cd01_077d_41294bd5f874
  a90edee2_35a1_577c_a329_5f6319fef1d4["get()"]
  2ab5bf9c_e206_7c2b_7310_4c254855325b -->|calls| a90edee2_35a1_577c_a329_5f6319fef1d4
  style 2ab5bf9c_e206_7c2b_7310_4c254855325b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/Inference/ControlDominators.ts lines 66–88

function postDominatorFrontier(
  fn: HIRFunction,
  postDominators: PostDominator<BlockId>,
  targetId: BlockId,
): Set<BlockId> {
  const visited = new Set<BlockId>();
  const frontier = new Set<BlockId>();
  const targetPostDominators = postDominatorsOf(fn, postDominators, targetId);
  for (const blockId of [...targetPostDominators, targetId]) {
    if (visited.has(blockId)) {
      continue;
    }
    visited.add(blockId);
    const block = fn.body.blocks.get(blockId)!;
    for (const pred of block.preds) {
      if (!targetPostDominators.has(pred)) {
        // The predecessor does not always reach this block, we found an item on the frontier!
        frontier.add(pred);
      }
    }
  }
  return frontier;
}

Domain

Subdomains

Frequently Asked Questions

What does postDominatorFrontier() do?
postDominatorFrontier() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Inference/ControlDominators.ts.
Where is postDominatorFrontier() defined?
postDominatorFrontier() is defined in compiler/packages/babel-plugin-react-compiler/src/Inference/ControlDominators.ts at line 66.
What does postDominatorFrontier() call?
postDominatorFrontier() calls 2 function(s): get, postDominatorsOf.
What calls postDominatorFrontier()?
postDominatorFrontier() is called by 1 function(s): createControlDominators.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free