<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/php-git.git/ext/opcache/tests, branch master</title>
<subtitle>git.php.net: repository/php-src.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/'/>
<entry>
<title>Support VERIFY_RETURN_TYPE elision with unused operand</title>
<updated>2021-03-22T13:54:29+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2021-03-22T13:50:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=6a5d60085d381255da94789f69892a9c979948a2'/>
<id>6a5d60085d381255da94789f69892a9c979948a2</id>
<content type='text'>
This handles the degenerate case where SCCP replaced the value in
the RETURN opcode with a constant, but the VERIFY_RETURN is still
there. We can still apply the same optimization, just don't need
to adjust the use list in this case.

The result is still sub-optimal in that a dead QM_ASSIGN is left
behind.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This handles the degenerate case where SCCP replaced the value in
the RETURN opcode with a constant, but the VERIFY_RETURN is still
there. We can still apply the same optimization, just don't need
to adjust the use list in this case.

The result is still sub-optimal in that a dead QM_ASSIGN is left
behind.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support prototypes in call graph</title>
<updated>2021-03-19T09:49:15+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2021-03-18T14:40:48+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=2d0e2733c8a0010df9f45693d536531a7a725bdf'/>
<id>2d0e2733c8a0010df9f45693d536531a7a725bdf</id>
<content type='text'>
Even if we don't know the exact method being called, include it
in the call graph with the is_prototype flag. In particular, we
can still make use of return types from prototype methods, as
PHP 8 makes LSP violations a hard error.

Most other places are adjusted to skip calls with !is_prototype.
Maybe some of them would be fine, but ignoring them is conservative.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Even if we don't know the exact method being called, include it
in the call graph with the is_prototype flag. In particular, we
can still make use of return types from prototype methods, as
PHP 8 makes LSP violations a hard error.

Most other places are adjusted to skip calls with !is_prototype.
Maybe some of them would be fine, but ignoring them is conservative.
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow inferring narrowed return type</title>
<updated>2021-03-18T16:11:56+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2021-03-18T16:11:56+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=dcac654fd56a2cecec0c187ba061ecc82bbc9031'/>
<id>dcac654fd56a2cecec0c187ba061ecc82bbc9031</id>
<content type='text'>
Even if an explicit return type is given, we might still infer
a more narrow one based on return statements. We shouldn't
pessimize this just because a type has been declared.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Even if an explicit return type is given, we might still infer
a more narrow one based on return statements. We shouldn't
pessimize this just because a type has been declared.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update opt test</title>
<updated>2021-03-18T14:25:40+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2021-03-18T14:25:40+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=8690efd1f8593edec3d1e9c4ed9e89b3018bfd58'/>
<id>8690efd1f8593edec3d1e9c4ed9e89b3018bfd58</id>
<content type='text'>
And fix a type in the fetch class flags dumping while here.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And fix a type in the fetch class flags dumping while here.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-8.0'</title>
<updated>2021-03-17T20:00:22+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-17T20:00:22+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=eb8f5e43475e44f8746a2357ed8c3cd60b426eb0'/>
<id>eb8f5e43475e44f8746a2357ed8c3cd60b426eb0</id>
<content type='text'>
* PHP-8.0:
  Fixed bug #80861 (erronous array key overflow in 2D array with JIT)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-8.0:
  Fixed bug #80861 (erronous array key overflow in 2D array with JIT)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed bug #80861 (erronous array key overflow in 2D array with JIT)</title>
<updated>2021-03-17T19:59:59+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-17T19:59:59+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=7e494d92258b0150e228bae82021a92b64e415b8'/>
<id>7e494d92258b0150e228bae82021a92b64e415b8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-8.0'</title>
<updated>2021-03-17T13:55:42+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-17T13:55:42+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=8f0ca7c16cf13a9b3856e517d5394b801c1bdffc'/>
<id>8f0ca7c16cf13a9b3856e517d5394b801c1bdffc</id>
<content type='text'>
* PHP-8.0:
  Fixed bug #80839 (PHP problem with JIT)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-8.0:
  Fixed bug #80839 (PHP problem with JIT)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed bug #80839 (PHP problem with JIT)</title>
<updated>2021-03-17T13:55:09+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-17T13:55:09+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=faf1567212bb83e39bf113149bf31abf719ca3a5'/>
<id>faf1567212bb83e39bf113149bf31abf719ca3a5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-8.0'</title>
<updated>2021-03-01T21:01:01+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-01T21:01:01+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=c28751c69c9e2f923dd923fee5e1d4a3c970308a'/>
<id>c28751c69c9e2f923dd923fee5e1d4a3c970308a</id>
<content type='text'>
* PHP-8.0:
  Fixed bug #80802: (zend_jit_fetch_indirect_var assert failure with tracing JIT)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-8.0:
  Fixed bug #80802: (zend_jit_fetch_indirect_var assert failure with tracing JIT)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed bug #80802: (zend_jit_fetch_indirect_var assert failure with tracing JIT)</title>
<updated>2021-03-01T20:57:20+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-01T20:57:20+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=957cb13a4959ed6a802508f14317253bf06f82cd'/>
<id>957cb13a4959ed6a802508f14317253bf06f82cd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
