Register layout

oracq.infrastructure.layout

Sequential-reuse layout of module-private workspaces.

oracq.infrastructure.layout.workspace_table(program)[source]

Compute the private workspace bit count needed by each entry-reachable module.

The count is the sum of the module’s own locals widths plus the maximum workspace bit count of its callees; sequential calls reuse the same stretch of physical workspace.

Parameters:

program – Program whose call graph is acyclic.

Returns:

mapping from module names to bit counts; modules unreachable from the entry do not appear.

Return type:

dict