Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:32033 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 14504 invoked by uid 1010); 4 Sep 2007 14:24:42 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 14489 invoked from network); 4 Sep 2007 14:24:42 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Sep 2007 14:24:42 -0000 Authentication-Results: pb1.pair.com header.from=planetbeing@gmail.com; sender-id=pass; domainkeys=bad Authentication-Results: pb1.pair.com smtp.mail=planetbeing@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 64.233.182.186 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: planetbeing@gmail.com X-Host-Fingerprint: 64.233.182.186 nf-out-0910.google.com Received: from [64.233.182.186] ([64.233.182.186:26189] helo=nf-out-0910.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 3D/74-21414-9AA6DD64 for ; Tue, 04 Sep 2007 10:24:41 -0400 Received: by nf-out-0910.google.com with SMTP id b21so1507806nfd for ; Tue, 04 Sep 2007 07:24:38 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=f05CkukHLyHXMWQVAqfO1wuqK/TbD1k5KKSQS4tkYIJ6qTy9cB5L9zboZzIi3yZHd7zBUNIYGUHSNU42u9lWvvVTGYM7o2nQhI1CgD10jmTeR3kNBTU7Ejk6O5Kldq5vxLjASrPCUYTzFQz7UEw3ONbmyD8x7iL4JN0YRmDZzjk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=R2OC4LOt8jbqqaxN7TzCwNCjp1DlU/dU0J+R50XtbYqPi5GVpefZcwjrqT2VD7Vjcx/4Wr0LSUCx2TJie5qV/hT/7cz08tgQrLVmh7e2L3nkpMX1t64ivbgCXnr73usMt4ABDjiVjo0JjddnmKKop7/x+W3s3vcxOArS6L7vfhI= Received: by 10.78.204.20 with SMTP id b20mr4178237hug.1188915875665; Tue, 04 Sep 2007 07:24:35 -0700 (PDT) Received: by 10.78.135.16 with HTTP; Tue, 4 Sep 2007 07:24:35 -0700 (PDT) Message-ID: Date: Tue, 4 Sep 2007 22:24:35 +0800 To: internals@lists.php.net MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: Patch for macros for tracking refcount and is_ref From: planetbeing@gmail.com ("David Wang") Hi, This is another shot at a patch to manage refcount and is_ref of zvals with macros. The macros are implemented with inline functions that are forcibly inlined (so they will behave the same as macros). This will make it possible to put multiple statements in each macro later on for garbage collection purposes. One thing to note is that I removed the existing ZVAL_ADDREF and ZVAL_DELREF in favor of Z_ADDREF_P and Z_DELREF_P that do the same thing. The original duo acted on zval pointers contrary to standard form for macro names. The patch is probably too large to fit as an attachment, so here's a URL: http://zoo.cs.yale.edu/~yw226/macros.diff.txt Comments?