Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:84279 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 43844 invoked from network); 4 Mar 2015 08:31:10 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Mar 2015 08:31:10 -0000 Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 209.85.220.173 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 209.85.220.173 mail-vc0-f173.google.com Received: from [209.85.220.173] ([209.85.220.173:54093] helo=mail-vc0-f173.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CA/E2-22753-DC2C6F45 for ; Wed, 04 Mar 2015 03:31:10 -0500 Received: by mail-vc0-f173.google.com with SMTP id hy10so5098922vcb.4 for ; Wed, 04 Mar 2015 00:31:06 -0800 (PST) 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:content-type; bh=3PsONQcfQvlnolREaj0j4Viaz8XPQzsBeIZaFUPmjf8=; b=Tw10RggO5qjpa90KBKf1srHvPiJYSwGIBItQX0xl4IHp5bcBp5fpV3cZX4khCpaTRd 89Htqac9OQo5gyWSUyYPXBoX1qqI4C4S0Sx3RyiGQhifyDU+j9ScndTfbfYHzczj5kUf 1joZm1pgTgn2pJte3fxkGKwanWCUKnl6ceM/NohVZuewmmOCBptlODxqL10dkcwD5ufx f44766kNE8PuAsCB2Byvq3wdrqZD4fZtyDyUeb5EkPAfOr4NvUtHiRr/68RlzD37LSyJ MP8Kx8CvXYjWxyoSo0GT5Fv6fo2zp2h116p3uySPxQd3Enk1feF7UujD65vOxLDmj8X7 6V7Q== X-Gm-Message-State: ALoCoQnxIN5fOQYuhRHjXF9EzVv5GQjO4+FpG+Dwiz1TlkseLxpAnzwREkgIDcF2/6Io3J+zKCLr3yyKRAFFqsE++5frlVdKj4qE283CU9/7w3sZZbtzARFg6C6dfg1zp3AOM/hzGUCfOuvYhTjIQkIP6LMTWgKYdg== MIME-Version: 1.0 X-Received: by 10.52.52.136 with SMTP id t8mr4756656vdo.49.1425457866446; Wed, 04 Mar 2015 00:31:06 -0800 (PST) Received: by 10.52.113.231 with HTTP; Wed, 4 Mar 2015 00:31:06 -0800 (PST) In-Reply-To: References: <54F08FF3.3040404@seld.be> <63262a9c0edd51bbf38df2a00c87340e@mail.gmail.com> <9977a20c9d756489f41e666d23c89e3f@mail.gmail.com> <9656140ae786d42e7b0da11dbd416a61@mail.gmail.com> Date: Wed, 4 Mar 2015 12:31:06 +0400 Message-ID: To: Joe Watkins Cc: Xinchen Hui , Anthony Ferrara , Zeev Suraski , PHP Internals Content-Type: multipart/alternative; boundary=089e0115f048c5af3a05107245da Subject: Re: [PHP-DEV] Re: Zend JIT Open Sourced From: dmitry@zend.com (Dmitry Stogov) --089e0115f048c5af3a05107245da Content-Type: text/plain; charset=UTF-8 On Wed, Mar 4, 2015 at 11:21 AM, Joe Watkins wrote: > Just-In-Time-At-Once JITAO > file at once, function at once, trace at once, basic block at once - just different JIT approaches. The bigger part we analyze at once the more information we may get for optimization, but the slower compilation. > It is a bit different to the thing we think of as JIT ... new names are > good if old names don't fit ... > :) Thanks. Dmitry. > > Cheers > Joe > > On Wed, Mar 4, 2015 at 8:03 AM, Xinchen Hui wrote: > >> On Wed, Mar 4, 2015 at 3:44 PM, Dmitry Stogov wrote: >> > On Tue, Mar 3, 2015 at 10:55 PM, Anthony Ferrara >> > wrote: >> > >> >> Dmitry, >> >> >> >> >> So, let's put that to the test, shall we. I compiled and ran the >> "JIT" >> >> >> compiler (can we please stop calling it that, it's not). >> >> > >> >> > >> >> > This is JIT! >> >> >> >> My apologies. I interpreted your reply to an earlier email that you >> >> were doing all of the code generation at compile time, not at runtime. >> >> I should have dug into the code a bit more earlier, but what I looked >> >> at briefly before supported that interpretation. >> >> >> >> However after digging through zend_jit_llvm.cpp a bit more I can see >> >> what you're doing now. You're basically AOT compiling from PHP >> >> directly to LLVM bytecode (a file at a time), then using LLVM's VM and >> >> jit compile to compile to native at runtime. Is that the correct >> >> interpretation? >> >> >> > >> > More or less right, except that term AOT is not correct. >> > We compile PHP file when it's requested (just in time). >> > We compile one PHP file at once, similar to what AOT compiler would do, >> but >> > we compile directly to memory and then execute it, >> With the type inference result we get in runtime. >> >> thanks >> > >> > Thanks. Dmitry. >> > >> > >> > >> >> >> >> Thanks, >> >> >> >> Anthony >> >> >> >> >> >> -- >> Xinchen Hui >> @Laruence >> http://www.laruence.com/ >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > --089e0115f048c5af3a05107245da--