diff options
| -rw-r--r-- | Zend/zend.c | 2 | ||||
| -rw-r--r-- | Zend/zend_dtrace.c | 4 | ||||
| -rw-r--r-- | Zend/zend_dtrace.h | 29 | ||||
| -rw-r--r-- | Zend/zend_exceptions.c | 2 | ||||
| -rw-r--r-- | Zend/zend_vm_def.h | 2 | ||||
| -rw-r--r-- | Zend/zend_vm_execute.h | 2 | ||||
| -rw-r--r-- | configure.in | 3 | ||||
| -rw-r--r-- | main/main.c | 4 |
8 files changed, 18 insertions, 30 deletions
diff --git a/Zend/zend.c b/Zend/zend.c index 0032808b98..a2e5114f80 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -1590,12 +1590,14 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */ va_start(args, format); +#ifdef HAVE_DTRACE if(DTRACE_ERROR_ENABLED()) { char *dtrace_error_buffer; zend_vspprintf(&dtrace_error_buffer, 0, format, args); DTRACE_ERROR(dtrace_error_buffer, error_filename, error_lineno); efree(dtrace_error_buffer); } +#endif /* HAVE_DTRACE */ /* if we don't have a user defined error handler */ diff --git a/Zend/zend_dtrace.c b/Zend/zend_dtrace.c index 7824d8b114..5541273760 100644 --- a/Zend/zend_dtrace.c +++ b/Zend/zend_dtrace.c @@ -22,7 +22,7 @@ #include "zend_API.h"
#include "zend_dtrace.h"
-#ifdef HAVE_SYS_SDT_H
+#ifdef HAVE_DTRACE
/* PHP DTrace probes {{{ */
static inline char *dtrace_get_executed_filename(TSRMLS_D)
{
@@ -118,5 +118,5 @@ ZEND_API void dtrace_execute_internal(zend_execute_data *execute_data_ptr, int r }
/* }}} */
-#endif
+#endif /* HAVE_DTRACE */
diff --git a/Zend/zend_dtrace.h b/Zend/zend_dtrace.h index 01639fbd12..3ccd94f70f 100644 --- a/Zend/zend_dtrace.h +++ b/Zend/zend_dtrace.h @@ -29,7 +29,7 @@ extern "C" {
#endif
-#ifdef HAVE_SYS_SDT_H
+#ifdef HAVE_DTRACE
ZEND_API zend_op_array *(*zend_dtrace_compile_file)(zend_file_handle *file_handle, int type TSRMLS_DC);
ZEND_API void (*zend_dtrace_execute)(zend_op_array *op_array TSRMLS_DC);
ZEND_API void (*zend_dtrace_execute_internal)(zend_execute_data *execute_data_ptr, int return_value_used TSRMLS_DC);
@@ -39,32 +39,7 @@ ZEND_API void dtrace_execute(zend_op_array *op_array TSRMLS_DC); ZEND_API void dtrace_execute_internal(zend_execute_data *execute_data_ptr, int return_value_used TSRMLS_DC);
#include <zend_dtrace_gen.h>
-#else
-
-#define DTRACE_COMPILE_FILE_ENTRY(arg0, arg1)
-#define DTRACE_COMPILE_FILE_ENTRY_ENABLED() (0)
-#define DTRACE_COMPILE_FILE_RETURN(arg0, arg1)
-#define DTRACE_COMPILE_FILE_RETURN_ENABLED() (0)
-#define DTRACE_ERROR(arg0, arg1, arg2)
-#define DTRACE_ERROR_ENABLED() (0)
-#define DTRACE_EXCEPTION_CAUGHT(arg0)
-#define DTRACE_EXCEPTION_CAUGHT_ENABLED() (0)
-#define DTRACE_EXCEPTION_THROWN(arg0)
-#define DTRACE_EXCEPTION_THROWN_ENABLED() (0)
-#define DTRACE_EXECUTE_ENTRY(arg0, arg1)
-#define DTRACE_EXECUTE_ENTRY_ENABLED() (0)
-#define DTRACE_EXECUTE_RETURN(arg0, arg1)
-#define DTRACE_EXECUTE_RETURN_ENABLED() (0)
-#define DTRACE_FUNCTION_ENTRY(arg0, arg1, arg2, arg3, arg4)
-#define DTRACE_FUNCTION_ENTRY_ENABLED() (0)
-#define DTRACE_FUNCTION_RETURN(arg0, arg1, arg2, arg3, arg4)
-#define DTRACE_FUNCTION_RETURN_ENABLED() (0)
-#define DTRACE_REQUEST_SHUTDOWN(arg0, arg1, arg2)
-#define DTRACE_REQUEST_SHUTDOWN_ENABLED() (0)
-#define DTRACE_REQUEST_STARTUP(arg0, arg1, arg2)
-#define DTRACE_REQUEST_STARTUP_ENABLED() (0)
-
-#endif /* HAVE_SYS_SDT */
+#endif /* HAVE_DTRACE */
#ifdef __cplusplus
}
diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c index b51d9ae74d..3039746d78 100644 --- a/Zend/zend_exceptions.c +++ b/Zend/zend_exceptions.c @@ -83,6 +83,7 @@ void zend_exception_restore(TSRMLS_D) /* {{{ */ void zend_throw_exception_internal(zval *exception TSRMLS_DC) /* {{{ */ { +#ifdef HAVE_DTRACE if (DTRACE_EXCEPTION_THROWN_ENABLED()) { zstr classname; char *s_classname; @@ -97,6 +98,7 @@ void zend_throw_exception_internal(zval *exception TSRMLS_DC) /* {{{ */ efree(classname.v); efree(s_classname); } +#endif /* HAVE_DTRACE */ if (exception != NULL) { zval *previous = EG(exception); diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index a839a256a1..e8c7a94e30 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2627,6 +2627,7 @@ ZEND_VM_HANDLER(107, ZEND_CATCH, ANY, CV) } ce = Z_OBJCE_P(EG(exception)); +#ifdef HAVE_DTRACE if (DTRACE_EXCEPTION_CAUGHT_ENABLED()) { char *s_classname; int s_classname_len; @@ -2634,6 +2635,7 @@ ZEND_VM_HANDLER(107, ZEND_CATCH, ANY, CV) DTRACE_EXCEPTION_CAUGHT(s_classname); efree(s_classname); } +#endif /* HAVE_DTRACE */ if (ce != EX_T(opline->op1.u.var).class_entry) { if (!instanceof_function(ce, EX_T(opline->op1.u.var).class_entry TSRMLS_CC)) { diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 8395db4c82..18885002a2 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1191,6 +1191,7 @@ static int ZEND_FASTCALL ZEND_CATCH_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) } ce = Z_OBJCE_P(EG(exception)); +#ifdef HAVE_DTRACE if (DTRACE_EXCEPTION_CAUGHT_ENABLED()) { char *s_classname; int s_classname_len; @@ -1198,6 +1199,7 @@ static int ZEND_FASTCALL ZEND_CATCH_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) DTRACE_EXCEPTION_CAUGHT(s_classname); efree(s_classname); } +#endif /* HAVE_DTRACE */ if (ce != EX_T(opline->op1.u.var).class_entry) { if (!instanceof_function(ce, EX_T(opline->op1.u.var).class_entry TSRMLS_CC)) { diff --git a/configure.in b/configure.in index a371a0f068..45c8e5b30a 100644 --- a/configure.in +++ b/configure.in @@ -907,7 +907,8 @@ if test "$PHP_DTRACE" = "yes"; then [PHP_ADD_DTRACE([Zend/zend_dtrace.d], [main/main.c, Zend/zend_API.c \ Zend/zend_execute.c Zend/zend_exceptions.c \ Zend/zend_dtrace.c Zend/zend.c]) - PHP_INIT_DTRACE([Zend/zend_dtrace.d], [Zend/zend_dtrace_gen.h])], + PHP_INIT_DTRACE([Zend/zend_dtrace.d], [Zend/zend_dtrace_gen.h]) + AC_DEFINE(HAVE_DTRACE, 1, [Whether to enable DTrace support])], []) fi diff --git a/main/main.c b/main/main.c index d79c2c3fd5..00aed96168 100644 --- a/main/main.c +++ b/main/main.c @@ -1441,7 +1441,9 @@ int php_request_startup(TSRMLS_D) { int retval = SUCCESS; +#ifdef HAVE_DTRACE DTRACE_REQUEST_STARTUP(SAFE_FILENAME(SG(request_info).path_translated), SAFE_FILENAME(SG(request_info).request_uri), SAFE_FILENAME(SG(request_info).request_method)); +#endif /* HAVE_DTRACE */ #ifdef PHP_WIN32 PG(com_initialized) = 0; @@ -1724,7 +1726,9 @@ void php_request_shutdown(void *dummy) } #endif +#ifdef HAVE_DTRACE DTRACE_REQUEST_SHUTDOWN(SAFE_FILENAME(SG(request_info).path_translated), SAFE_FILENAME(SG(request_info).request_uri), SAFE_FILENAME(SG(request_info).request_method)); +#endif /* HAVE_DTRACE */ } /* }}} */ |
