This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Warn by default for constant my sub redefinition
[perl5.git] / mydtrace.h
index 8ee130f..951d177 100644 (file)
        PERL_OP_ENTRY(tmp_name, file, line, stash);     \
     }
 
+#    define LOADING_FILE_PROBE(name)                           \
+    if (PERL_LOADING_FILE_ENABLED()) {                         \
+       const char *tmp_name = name;                    \
+       PERL_LOADING_FILE(tmp_name);                            \
+    }
+
+#    define LOADED_FILE_PROBE(name)                            \
+    if (PERL_LOADED_FILE_ENABLED()) {                          \
+       const char *tmp_name = name;                    \
+       PERL_LOADED_FILE(tmp_name);                             \
+    }
+
 #  else
 
 #    define ENTRY_PROBE(func, file, line, stash)       \
        PERL_OP_ENTRY(name);                            \
     }
 
+#    define LOADING_FILE_PROBE(name)                           \
+    if (PERL_LOADING_FILE_ENABLED()) {                         \
+       PERL_LOADING_FILE(name);                                        \
+    }
+
+#    define LOADED_FILE_PROBE(name)                            \
+    if (PERL_LOADED_FILE_ENABLED()) {                          \
+       PERL_LOADED_FILE(name);                                         \
+    }
+
 #  endif
 
 #  define PHASE_CHANGE_PROBE(new_phase, old_phase)      \
@@ -69,6 +91,8 @@
 #  define RETURN_PROBE(func, file, line, stash)
 #  define PHASE_CHANGE_PROBE(new_phase, old_phase)
 #  define OP_ENTRY_PROBE(name)
+#  define LOADING_FILE_PROBE(name)
+#  define LOADED_FILE_PROBE(name)
 
 #endif