SIGN IN SIGN UP

Deep_tainting: marshal taint configs to disk between phases (semgrep/semgrep-proprietary#5897)

ENGINE-2557 pulled compute_taint_configs into its own phase (phase 7),
separating it from taint signature inference (phase 8). This increased
peak memory because all SCCs' taint configs now live in memory
simultaneously between phases. Previously, configs were computed and
consumed per-SCC within a single phase.

Wire Disk_cache through compute_taint_configs and run_taint_analysis so
that per-SCC taint config tables are serialized to disk after phase 7
and deserialized on demand in phase 8, reducing peak memory back down.

Uses the serializable representation from Taint_configs_cache (closure-free
raw_spec_matches instead of closure-bearing Taint_spec_preds.t) to avoid
marshaling closures and abstract types (Effects_tbl).

Co-Authored-By: Claude Opus 4.6 (1M context) [noreply@anthropic.com](mailto:noreply@anthropic.com)

synced from Pro 744b7abe2f46a4e83ab7df5f7c737b0c132b848d
N
Nathan Taylor committed
a2feab3fec0ec893254fc753afaf9ca7bc76cc6f
Parent: 81f49a3
Committed by Nat Mote <nat@natmote.net> on 3/31/2026, 8:03:23 PM