<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/php-git.git/ext/opcache, branch master</title>
<subtitle>git.php.net: repository/php-src.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/'/>
<entry>
<title>Improved JIT for TYPE_CHECK opcode</title>
<updated>2021-03-25T20:48:08+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-25T20:48:08+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=7b2b9b40797e3f071f653bd64706dfdcaf548f90'/>
<id>7b2b9b40797e3f071f653bd64706dfdcaf548f90</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve JIT for IS_IDENTICAL</title>
<updated>2021-03-25T14:27:03+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-25T14:27:03+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=22fc52248348763f0d31249ce930489c80a891bb'/>
<id>22fc52248348763f0d31249ce930489c80a891bb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace function with macro</title>
<updated>2021-03-24T07:36:47+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-24T07:36:47+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=3e996622c7846529a094bc33098b53326b97b25f'/>
<id>3e996622c7846529a094bc33098b53326b97b25f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move system independent code out from x86 specific header</title>
<updated>2021-03-23T14:12:15+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-23T14:12:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=7adaec1ce8312995f65f1c177d1a2184c2f80671'/>
<id>7adaec1ce8312995f65f1c177d1a2184c2f80671</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move x86 dependent code out from platform independed parts.</title>
<updated>2021-03-23T13:39:51+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-23T13:39:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=c290de157caa03b34f9c5ee7cb987e35cca0e468'/>
<id>c290de157caa03b34f9c5ee7cb987e35cca0e468</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use capstone disassembler, if available.</title>
<updated>2021-03-23T09:39:42+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-23T09:39:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=617276d8074e849dcbf879231aef611ca1e52506'/>
<id>617276d8074e849dcbf879231aef611ca1e52506</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<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://91.123.203.49/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>Use zend_string* instead of char*</title>
<updated>2021-03-22T11:56:16+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-22T11:56:16+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=8ed8cf86a98d1317c633189857ce4d64f105e6f7'/>
<id>8ed8cf86a98d1317c633189857ce4d64f105e6f7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use zend_hash_lookup()</title>
<updated>2021-03-19T20:34:38+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-19T20:34:38+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=6690547a58f07778e795e857e574159fe8fb3650'/>
<id>6690547a58f07778e795e857e574159fe8fb3650</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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://91.123.203.49/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>
</feed>
