Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:93061 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 75623 invoked from network); 4 May 2016 06:28:34 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 May 2016 06:28:34 -0000 Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 207.46.100.109 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 207.46.100.109 mail-by2on0109.outbound.protection.outlook.com Received: from [207.46.100.109] ([207.46.100.109:62720] helo=na01-by2-obe.outbound.protection.outlook.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5B/00-08540-09699275 for ; Wed, 04 May 2016 02:28:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RWSoftware.onmicrosoft.com; s=selector1-zend-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AaNlW0KVTRZldn6USSEW55mVIgbgbQmx5v1UFj896r8=; b=JAiwYc7iazge3ByNOWakzKlOu8+xiDuJwXWMD2e1IjMSxDy4tjqPwb7sYF9BDITQbt3aVZ5Tu8bnwaCp8vWQ/BNsqCklnYNfDtzN4VorWbEk3UQ4KJ0RFsg1KJO8JgiNqwZ04c8PYXDB2ok7kGsVEH08UL4lEk+AzYyo4Pghv1g= Received: from CY1PR0201MB1786.namprd02.prod.outlook.com (10.163.55.19) by CY1PR0201MB1786.namprd02.prod.outlook.com (10.163.55.19) with Microsoft SMTP Server (TLS) id 15.1.485.9; Wed, 4 May 2016 06:28:29 +0000 Received: from CY1PR0201MB1786.namprd02.prod.outlook.com ([10.163.55.19]) by CY1PR0201MB1786.namprd02.prod.outlook.com ([10.163.55.19]) with mapi id 15.01.0485.011; Wed, 4 May 2016 06:28:29 +0000 To: Nikita Popov , Derick Rethans CC: PHP Developers Mailing List Thread-Topic: [PHP-DEV] zend_pass_function/zif_pass Thread-Index: AQHRowOFGkOwnOk2pUebQ+tgupdMN5+iyNwAgAWNM2A= Date: Wed, 4 May 2016 06:28:29 +0000 Message-ID: References: , In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=zend.com; x-originating-ip: [92.62.57.172] x-ms-office365-filtering-correlation-id: 51c09ac3-bca1-47c5-d5ae-08d373e54e9a x-microsoft-exchange-diagnostics: 1;CY1PR0201MB1786;5:2TwS2ezBOBvVKAnOq9lW3ZWktMKEIE1WlbvMhULdGwViEws/TOemzcJU+UrFhCuUYWE/lly/yEIv5qhHAv29IIcoC4CNLspHtCxDx4hLsYt0tAhpNwuMcgo7Kq0ejLAAM+bqaA/G5wzQQ9jrXugAFw==;24:FddqRo8KBWi/HGBejgQbwpw7RjAfZnaz61mOPCr7m6uGoqN/kSrBCf+dZBTZ+4DelzRHBxLO5OXyoDeX0RdAjYPtPsuoqAfgCXH8pknE0Ek=;7:MHAjslTCfc5bsFz/X9z2PnPupDi2iRdh4R53yihchIBbZtg7m7PsyVuL5lR23xoMj/4OXR6eee90WMvyDtNcsOYFmDd8ZsVYjb3OvRSZpUfjgsyVQQkVd8XuxWDYhsr/AMO7NKV+P8PYgGMO89h/uDW0B4A8Af6M97kBhJB7tW7/JHtgo1F9Ub13P5Sdlyz2 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0201MB1786; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(9101521098)(9101528026)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:CY1PR0201MB1786;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0201MB1786; x-forefront-prvs: 093290AD39 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(377454003)(377424004)(24454002)(66066001)(19617315012)(16236675004)(76176999)(50986999)(54356999)(2950100001)(2900100001)(14971765001)(15975445007)(6116002)(102836003)(77096005)(586003)(3846002)(1220700001)(19625215002)(122556002)(19627405001)(33656002)(5001770100001)(106116001)(189998001)(76576001)(99286002)(74316001)(10400500002)(11100500001)(92566002)(81166005)(15188155005)(16799955002)(5003600100002)(2906002)(5002640100001)(4326007)(575784001)(86362001)(5008740100001)(87936001)(8936002)(9686002)(3660700001)(19580395003)(16297215004)(3280700002)(19580405001)(5004730100002);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0201MB1786;H:CY1PR0201MB1786.namprd02.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: multipart/alternative; boundary="_000_CY1PR0201MB17869D2C997B7E65341097DABF7B0CY1PR0201MB1786_" MIME-Version: 1.0 X-OriginatorOrg: zend.com X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2016 06:28:29.0190 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 32210298-c08b-4829-8097-6b12c025a892 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0201MB1786 Subject: Re: [PHP-DEV] zend_pass_function/zif_pass From: dmitry@zend.com (Dmitry Stogov) --_000_CY1PR0201MB17869D2C997B7E65341097DABF7B0CY1PR0201MB1786_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I don't see a big problem exporting zif_pass, if this's really necessary. Thanks. Dmitry. ________________________________ From: Nikita Popov Sent: Saturday, April 30, 2016 8:40:54 PM To: Derick Rethans Cc: Dmitry Stogov; PHP Developers Mailing List Subject: Re: [PHP-DEV] zend_pass_function/zif_pass On Sat, Apr 30, 2016 at 7:12 PM, Derick Rethans > wrote: Hi! I'm trying to make Xdebug up to date with master again, and after fixing the static changes that Dmitry highlighted, I am still baffled by something else. My function traces now have an extra entry for each constructor - even for classes that have no constructor, such as stdClass. Code In PHP 7.1 (master) this generates: =3D> $tf =3D '/tmp/xdt5724dfa31b3050.51884776.xt= ' /home/derick/dev/php/derickr-xdebug/tests/assignment-trace11.php:2 0.0017 386376 -> {main}() /home/derick/dev/php/derickr-xdebug/t= ests/assignment-trace11.php:0 =3D> $a =3D class stdClass { } /home/derick/dev= /php/derickr-xdebug/tests/assignment-trace11.php:4 0.0017 386472 -> xdebug_stop_trace() /home/derick/dev/php/deric= kr-xdebug/tests/assignment-trace11.php:6 0.0018 386568 Where as in PHP 5.6 and 7.0, it generates: TRACE START [2016-04-30 17:10:19] =3D> $tf =3D '/tmp/xdt5724e6fb674b31.38510038.xt= ' /home/derick/dev/php/derickr-xdebug/tests/assignment-trace11.php:2 =3D> $a =3D class stdClass { } /home/derick/dev= /php/derickr-xdebug/tests/assignment-trace11.php:4 0.0006 274008 -> xdebug_stop_trace() /home/derick/dev/php/deric= kr-xdebug/tests/assignment-trace11.php:6 0.0006 274128 TRACE END [2016-04-30 17:10:19] The master version has the extra {main}, which comes from an additional call to zend_execute_internal. When looking into this, I see that that extra frame is a handle zend_pass_function / zif_pass. How has this changed recently, and more importantly, how can I detect this? I can't do "edata.func =3D=3D zend_pass_function" as neither zend_pass_function or zif_pass are exported symbols. Any hints on how to handle this? cheers, Derick Hey Derick! This change is due to http://www.serverphorums.com/read.php?7,1439618,14396= 18 / https://github.com/php/php-src/commit/8e5b139732893d2a5f6ba3ae0a0b2b5c= f6dba09f. I don't see a good way for you to handle this as things stand now. I think = we should export the zend_pass_function symbol. Nikita --_000_CY1PR0201MB17869D2C997B7E65341097DABF7B0CY1PR0201MB1786_--