From 96d00640978d78ede1f5b2b63e422cfd1e849891 Mon Sep 17 00:00:00 2001 From: Jacob Date: Fri, 6 Feb 2026 22:27:20 -0500 Subject: [PATCH] ZJIT: Fix graphviz generation (#16053) Print to a file and fix a bug. --- zjit/src/hir_effect/gen_hir_effect.rb | 21 +++++++++++++-------- 1 file 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 51cc712febe4d1..5d13ebafa2e185 100644 --- a/zjit/src/hir_effect/gen_hir_effect.rb +++ b/zjit/src/hir_effect/gen_hir_effect.rb @@ -24,20 +24,20 @@ def subeffect name 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 @@ def to_graphviz effect 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 +