Skip to content

update fork #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10,000 commits into from
Mar 25, 2020
Merged

update fork #3

merged 10,000 commits into from
Mar 25, 2020

Conversation

wkhudgins92
Copy link
Owner

No description provided.

nikic and others added 30 commits March 3, 2020 12:10
This is another bug fixed by the precending commit.
* PHP-7.4:
  this test needs json
Make sure all trait method references are converted to absolute
method references in advance. This regresses one error message
that I don't think is particularly valuable.
I found what the modifier code does with XOR pretty confusing.
It's just removing the PPP bits...

Also remove an outdated reference to OVERLOADED_FUNCTION.
The place where interface implementation handlers is called is
currently ill-defined: If the class implements interfaces itself,
the handlers for both the parent interfaces and the new interfaces
will be called after all methods are registered (post trait use).
If the class does not implement interfaces, then the parent
interface handlers are called early during inheritance (before
methods are inherited).

This commit moves the calls to always occur after all methods are
available. For userland classes this will be post trait import,
at the time where interfaces get implemented (whether the class
itself defines additional interfaces or not). For internal classes
it will be at the end of inheritance, as internal class declarations
do not have proper finalization.

This allows us to simplify the logic for implementing the magic
Iterator / IteratorAggregate interfaces. In particularly we can
now also automatically detect whether an extension of
IteratorAggregate can safely reuse a custom get_iterator handler,
or whether it needs to switch to the userland mechanism. The
Iterator case continues to rely on ZEND_ACC_REUSE_GET_ITERATOR
for this purpose, as a wholesale replacement is not possible there.
Some of these tests create, use and later remove the same folder, so if
these are run in parallel, they may fail due to race conditions[1].  As
quick fix we add appropriate CONFLICTS clauses to prevent parallel
execution of the respective test groups.

[1] <https://ci.appveyor.com/project/php/php-src/builds/31213037/job/48rp13i0frf5t9hl#L5480>
* PHP-7.4:
  Fix intermittent test failures of windows_mb_path tests
Avoid performing the same casting dance inside each sort compare
function.
  ZipArchive::getStatusString() method   available after archive is closed
As discussed with Derick and Remi.
Even though `SplStack::unserialize()` is not supposed to be called on
an already constructed instance, it is probably better if the method
clears the stack before actually unserializing.
* PHP-7.3:
  Fix #75673: SplStack::unserialize() behavior
* PHP-7.4:
  Fix #75673: SplStack::unserialize() behavior
Master only, as this depends on fixes to calling order of
interface implementation handlers.
This has been fixed in PHP 7.4, add a test for it.
* PHP-7.4:
  Add test for bug #63816
cmb69 and others added 10 commits March 23, 2020 16:32
* PHP-7.4:
  Fix leak on Windows as well
This can happen if there is an EXIT in the call arguments, in which
case the DO_CALL opcode may be eliminated as unreachable.
* PHP-7.3:
  Handle NULL caller_call_opline
* PHP-7.4:
  Handle NULL caller_call_opline
Forgot the git add again...
* PHP-7.3:
  Add test file
* PHP-7.4:
  Add test file
kocsismate and others added 18 commits March 24, 2020 08:02
…lways print opcode number).

This doesn't affect dumps controlled by opcache.opt_debug_level.
* PHP-7.3:
  Fix bug #79410 (system() swallows last chunk if it is exactly 4095 bytes without newline)
* PHP-7.4:
  Fix bug #79410 (system() swallows last chunk if it is exactly 4095 bytes without newline)
* PHP-7.3:
  Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).
* PHP-7.4:
  Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).
@wkhudgins92 wkhudgins92 merged commit ab7b464 into wkhudgins92:master Mar 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.