1 $pure_ruby_backend = false
12 when $detail; :dump_max_point
13 when $show_asm; :dump_asm
14 when $profile; :dump_profile
15 when !$debug; :dump_null
16 else; :dump_summary; end]
18 $boo << :dump_graph if $graph
23 $opt_use_predict = true
24 $opt_indirection_updates = true
25 $opt_scope_templates = true
26 $opt_static_dispatches = true
27 $opt_static_conts = true
28 $opt_flatten_param_stack = false
31 $data_inspect_every_node = false
32 $force_data_inspect = false
34 $debug_logged_cache = false
36 $ignore_streams_ALL = {
40 :dbg_build_function_inner => 1,
43 :dbg_build_function_inner_inner => 1,
44 :find_export_vars => 1,
48 :indirection_specialisation => 1,
49 :dbg_handle_call_element => 1,
50 :dbg_post_element => 1,
54 :dispatch_to_id_value => 1,
59 :dbg_handle_definitions => 1,
60 :create_new_scope => 1,
62 :dbg_eat_unneeded_return_value => 1,
63 :rt_runtime_curr_id_trace => 1,
64 :rt_runtime_data_inspect_trace => 1,
65 # :rt_primitives => 1,
67 # :rt_find_index => 1,
70 :rt_bouncer_runtime => 1,
76 :rt_back_insertion => 1,
77 :scope_templates => 1,
78 # :scope_linking => 1,
82 $ignore_streams_EMPTY = {
85 $ignore_streams = $ignore_streams_ALL
88 $debug && ($ignore_streams.has_key? sym)
91 def idbg stream, *config
94 print "\n" unless config.include? :no_newline
99 ($ignore_streams.has_key? stream and !$no_debug)
103 str.gsub(/\s{#{/\A(\s*)/.match(str).to_a[1].length}}/, '')
107 $COLOR ? "\033[0;40;#{clr.to_s}m#{str}\033[0;40;39m" : "[% #{str} %]"
110 def red str; color 31, str; end
111 def green str; color 32, str; end
112 def cyan str; color 36, str; end
113 def magenta str; color 35, str; end