aboutsummaryrefslogtreecommitdiffstats
path: root/tool/gen_dummy_probes.sed
diff options
context:
space:
mode:
Diffstat (limited to 'tool/gen_dummy_probes.sed')
-rw-r--r--tool/gen_dummy_probes.sed24
1 files changed, 24 insertions, 0 deletions
diff --git a/tool/gen_dummy_probes.sed b/tool/gen_dummy_probes.sed
new file mode 100644
index 0000000000..476f6f633b
--- /dev/null
+++ b/tool/gen_dummy_probes.sed
@@ -0,0 +1,24 @@
+
+# upper case everything
+y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
+
+# remove the pragma declarations
+s/^#PRAGMA.*$//
+
+# replace the provider section with the start of the header file
+s/PROVIDER RUBY {/#ifndef _PROBES_H\
+#define _PROBES_H/
+
+# finish up the #ifndef sandwich
+s/};/#endif \/* _PROBES_H *\//
+
+s/__/_/g
+
+s/([^,)]\{1,\})/(arg0)/
+s/([^,)]\{1,\},[^,)]\{1,\})/(arg0, arg1)/
+s/([^,)]\{1,\},[^,)]\{1,\},[^,)]\{1,\})/(arg0, arg1, arg2)/
+s/([^,)]\{1,\},[^,)]\{1,\},[^,)]\{1,\},[^,)]\{1,\})/(arg0, arg1, arg2, arg3)/
+s/([^,)]\{1,\},[^,)]\{1,\},[^,)]\{1,\},[^,)]\{1,\},[^,)]\{1,\})/(arg0, arg1, arg2, arg3, arg4)/
+
+s/[ ]*PROBE[ ]\([^\(]*\)\(([^\)]*)\);/#define RUBY_DTRACE_\1_ENABLED() 0\
+#define RUBY_DTRACE_\1\2\ do \{ \} while\(0\)/