Re: VM kinds

From: Date: Thu, 11 Nov 2021 07:20:21 +0000
Subject: Re: VM kinds
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-116319@lists.php.net to get a copy of this message
OK, thanks for the answer. My PR is up now, with a fixme comment for the GOTO and SWITCH VMs. I'm still not sure how to make them work. https://github.com/php/php-src/pull/7642 -- Tim Starling On 10/11/21 8:10 pm, Dmitry Stogov wrote: > I prefer to keep GOTO and SWITCH VMs. It's easy to drop something, > but it's going to be much more complex to reimplement it again. > > Note that HYBRID VM (based on CALL and GOTO VMs) was introduced only > in PHP-7.2, because GOTO was already implemented a long time ago. In > the future, it's possible to extend HYBRID VM, to make it work with > GCC-incompatible compilers through SWITCH. We might also like to > move from direct-threaded to indirect-threaded dispatch. > > Thanks. Dmitry. > > On Wed, Nov 10, 2021 at 11:35 AM Nikita Popov <nikita.ppv@gmail.com > <mailto:nikita.ppv@gmail.com>> wrote: > > On Wed, Nov 10, 2021 at 8:13 AM Tim Starling > <tstarling@wikimedia.org > <mailto:tstarling@wikimedia.org>> > wrote: > > > What are VM kinds for? Are they just a prototyping tool to allow > > different implementation strategies to be benchmarked? Or are they > > permanent? Does anyone use them? > > > > I ask because I'm working on a VM bug, and non-default VM > kinds make > > already complex code even more complex and harder to edit. > > > > -- Tim Starling > > > > I don't think anyone uses them, and the GOTO/SWITCH VMs receive > little > testing in practice (we don't use them in CI), and I believe > they're not > supported by the JIT either. Personally, I would be fine with simply > dropping them, as they do add additional maintenance burden > without any > apparent benefit. Maybe Dmitry has some thoughts on this. > > Regards, > Nikita >

« previous php.internals (#116319) next »