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