diff options
Diffstat (limited to 'tool/gen_dummy_probes.rb')
-rw-r--r-- | tool/gen_dummy_probes.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tool/gen_dummy_probes.rb b/tool/gen_dummy_probes.rb new file mode 100644 index 0000000000..88ad2ca5bf --- /dev/null +++ b/tool/gen_dummy_probes.rb @@ -0,0 +1,24 @@ +#!/usr/bin/ruby + +text = ARGF.read +text.upcase! + +# remove the pragma declarations +text.gsub!(/^#PRAGMA.*$/, '') + +# replace the provider section with the start of the header file +text.gsub!(/PROVIDER RUBY \{/, "#ifndef\t_PROBES_H\n#define\t_PROBES_H") + +# finish up the #ifndef sandwich +text.gsub!(/\};/, "#endif\t/* _PROBES_H */") + +text.gsub!(/__/, '_') + +text.gsub!(/\([^,)]+\)/, '(arg0)') +text.gsub!(/\([^,)]+,[^,)]+\)/, '(arg0, arg1)') +text.gsub!(/\([^,)]+,[^,)]+,[^,)]+\)/, '(arg0, arg1, arg2)') +text.gsub!(/\([^,)]+,[^,)]+,[^,)]+,[^,)]+\)/, '(arg0, arg1, arg2, arg3)') +text.gsub!(/\([^,)]+,[^,)]+,[^,)]+,[^,)]+,[^,)]+\)/, '(arg0, arg1, arg2, arg3, arg4)') + +text.gsub!(/ *PROBE ([^\(]*)(\([^\)]*\));/, "#define RUBY_DTRACE_\\1_ENABLED() 0\n#define RUBY_DTRACE_\\1\\2\ do \{ \} while\(0\)") +print text |