diff options
| author | Jacob <jacob.denbeaux@shopify.com> | 2026-02-06 22:27:20 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-07 03:27:20 +0000 |
| commit | 96d00640978d78ede1f5b2b63e422cfd1e849891 (patch) | |
| tree | 93a992991092fb8672f3811b3ea7ea514ecee84c | |
| parent | ff55280320efd350432e2862cc52e4d84f893936 (diff) | |
ZJIT: Fix graphviz generation (#16053)
Print to a file and fix a bug.
| -rw-r--r-- | zjit/src/hir_effect/gen_hir_effect.rb | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/zjit/src/hir_effect/gen_hir_effect.rb b/zjit/src/hir_effect/gen_hir_effect.rb index 51cc712feb..5d13ebafa2 100644 --- a/zjit/src/hir_effect/gen_hir_effect.rb +++ b/zjit/src/hir_effect/gen_hir_effect.rb @@ -24,20 +24,20 @@ class Effect end # Helper to generate graphviz. -def to_graphviz_rec effect +def to_graphviz_rec effect, f effect.subeffects.each {|subeffect| - puts effect.name + "->" + subeffect.name + ";" + f.puts effect.name + "->" + subeffect.name + ";" } - effect.subeffect.each {|subeffect| - to_graphviz_rec subeffect + effect.subeffects.each {|subeffect| + to_graphviz_rec subeffect, f } end # Generate graphviz. -def to_graphviz effect - puts "digraph G {" - to_graphviz_rec effect - puts "}" +def to_graphviz effect, f + f.puts "digraph G {" + to_graphviz_rec effect, f + f.puts "}" end # ===== Start generating the effect DAG ===== @@ -117,3 +117,8 @@ $bits.keys.sort.map {|effect_name| puts " pub const #{effect_name}: Effect = Effect::promote(abstract_heaps::#{effect_name});" } puts "}" + +File.open("zjit_effects.dot", "w") do |f| + to_graphviz(any, f) +end + |
