Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:92192 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 96968 invoked from network); 11 Apr 2016 11:54:51 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 11 Apr 2016 11:54:51 -0000 Authentication-Results: pb1.pair.com smtp.mail=cornelius.howl@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=cornelius.howl@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.218.52 as permitted sender) X-PHP-List-Original-Sender: cornelius.howl@gmail.com X-Host-Fingerprint: 209.85.218.52 mail-oi0-f52.google.com Received: from [209.85.218.52] ([209.85.218.52:32955] helo=mail-oi0-f52.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 78/73-04135-A809B075 for ; Mon, 11 Apr 2016 07:54:51 -0400 Received: by mail-oi0-f52.google.com with SMTP id w85so204106447oiw.0 for ; Mon, 11 Apr 2016 04:54:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=PnNCowZQ4JK78gUudCo4SM4ziMZ7ZHnymOWQY7aBCjU=; b=cIeZ9TUbz6GipdR/8eLy+VJVzGit39zD5jPoJ2JeKs2AHLUMoRk0+QXvzYkF/wWQEb K9g/dScY2FUQktpb09TE6BXxoo17P/4V3HM5pryCRMOParGm3+Z69FAt+RNLpsDT0FZz Ib5ITIxih6JDhjRJ4gOVdQtYrMnkV3tKo8gbyxLv7i6tUloaqg15act+6ULUY8HjTSW+ jCHsUUUcnvg4CJd5YFeORHRnEqx5OIOdsX8hrTToOCoK+tPKgtjAwLYM31R2Qa+Bmxm8 eEzTGDBuyh3DaDUaBxLPWfBAS1fk9MuCX6f1d5tmYnqD/M02Wj8T3jus6e0SULMM9Wod hrtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=PnNCowZQ4JK78gUudCo4SM4ziMZ7ZHnymOWQY7aBCjU=; b=Lq6qUA+XjJO9TDxld6nRGoPsHzMkRYuJTIdbWMs0SEFPlR6U+Xkz1cq7YqoFDaDeiJ g0qgpJCSGJ4ArPrkiZEMleCJte54L0nYPAmngUWIYPQpNDfYDd88+H0zVMM2yqyzf31j wjBx8VDG2MMX1GtDvMNCyuxeoYj9IsZWS0PSg/X44Jo6B8glMeXk+afr+KicKETGTCST oraHU9mClkLmaAh5n2v3jVV6Qc2DuK/hW6vspIPwcrNrk1HxHssYxSKCXHSrrl96YvYa y+xI0dZUXcl4+Y+w18jVaZW3EW/DXOaRwWk5JFryaplFrMJEITmIXFc6/lkXBKPf+PUu PbHA== X-Gm-Message-State: AD7BkJIB51co4283B9jsZBK1sIachIaRrw2AbkT7ybUO1cv8xaRhDCf0VNzlW9I3slv80X3WGDBgZxF66Hi+SQ== MIME-Version: 1.0 X-Received: by 10.157.49.57 with SMTP id e54mr10173945otc.97.1460375686377; Mon, 11 Apr 2016 04:54:46 -0700 (PDT) Received: by 10.157.7.194 with HTTP; Mon, 11 Apr 2016 04:54:46 -0700 (PDT) In-Reply-To: References: Date: Mon, 11 Apr 2016 19:54:46 +0800 Message-ID: To: Dmitry Stogov Cc: Xinchen Hui , Nikita Popov , Bob Weinand , Joe Watkins , internals Content-Type: multipart/alternative; boundary=001a113e40420678da0530343607 Subject: Re: Object getter method optimization From: cornelius.howl@gmail.com (Lin Yo-An) --001a113e40420678da0530343607 Content-Type: text/plain; charset=UTF-8 Hi Dmitry, How's it going? I traversed the code of opcache extension, and just found the FUNC_INFO related macros. I guess the accessor information is more like an entry that should be put in the function info. Or... maybe we shall move the function info related functions into the core? since we might have some optimization based on the function info instead of optimizing opcode only in the future. And I think the function info we pre-processed in the compile-time would help JIT to compile the opcode a lot. By the way, would you mind to let me know the plan of implementing the JIT compilation in PHP? I saw your zend-jit branch is using LLVM as the backend. In my experience, LLVM compiles large code a lot of slower. what do you think of using DynASM as the JIT backend? V8 compiles ast nodes into native code directly without interpreting/translating the op codes, I don't know if it's a good approach to try. your thoughts? Cheers, Yo-An --001a113e40420678da0530343607--