components/php-5_3/php-sapi/patches/027_php_Zend_zend_objects.c.patch
author Craig Mohrman <craig.mohrman@oracle.com>
Thu, 31 May 2012 14:36:45 -0700
changeset 846 fe258446a1ae
permissions -rw-r--r--
6714149 integrate PHP 5.3 within OpenSolaris
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
846
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     1
--- php-5.3.10/Zend/zend_objects.c_orig	Sun Jan  1 05:15:04 2012
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     2
+++ php-5.3.10/Zend/zend_objects.c	Wed Feb  8 11:25:25 2012
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     3
@@ -25,6 +25,7 @@
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     4
 #include "zend_API.h"
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     5
 #include "zend_interfaces.h"
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     6
 #include "zend_exceptions.h"
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     7
+#include "zend_dtrace.h"
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     8
 
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     9
 ZEND_API void zend_object_std_init(zend_object *object, zend_class_entry *ce TSRMLS_DC)
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    10
 {
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    11
@@ -51,6 +52,16 @@
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    12
 {
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    13
 	zend_function *destructor = object ? object->ce->destructor : NULL;
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    14
 
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    15
+#ifdef HAVE_DTRACE
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    16
+       if (DTRACE_OBJECT_DESTROY_ENABLED()) {
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    17
+               char *filename;
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    18
+               int lineno;
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    19
+
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    20
+               filename = dtrace_get_executed_filename(TSRMLS_C);
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    21
+               lineno = zend_get_executed_lineno(TSRMLS_C);
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    22
+               DTRACE_OBJECT_DESTROY(object->ce->name, filename, lineno);
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    23
+       }
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    24
+#endif /* HAVE_DTRACE */
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    25
 	if (destructor) {
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    26
 		zval *old_exception;
fe258446a1ae 6714149 integrate PHP 5.3 within OpenSolaris
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    27
 		zval *obj;