Skip to content

[pull] master from php:master #5

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 957 commits into from
Apr 27, 2021
Merged

[pull] master from php:master #5

merged 957 commits into from
Apr 27, 2021

Conversation

pull[bot]
Copy link

@pull pull bot commented Jan 25, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jan 25, 2021
dstogov and others added 29 commits April 9, 2021 14:52
* PHP-7.4:
  Fixed type inference for OP_DATA
* PHP-8.0:
  Fixed type inference for OP_DATA
Nowadays op_arrays always hold a ref to the function_name, even
if they are fully shared. As such, I don't believe that this code
is necessary anymore, and it interferes with the code that
releases function_names the appropriate number of times while
persisting.
We always create interned strings for all autoglobals anyway, so
we might as well add known strings to make them more widely usable.
These tests cannot be run with interned_strings_buffer=0.
This leak ends up getting suppressed, but is rather annoying when
not using ZEND_TRACKED_ALLOC.
compile-time. Keep at to run-time and use Fast Class Cache during
run-time evaluation.
We should only access xlat if this is called from persist, not
when it is called from file cache.
During unserialization, static_variables and runtime_cache may be
allocated on the arena, and then later freed when the checkpoint
is released.

As we're only doing a single large allocation here, simply move
this to the normal allocator, so there is no interference with
other arena allocations.
This is tested on the previous file_cache job as part of nightly
builds.
Use RETURN_* macros instead of RETVAL_* + return;
Use proper boolean types
Use zend_string instead of char* to prevent unnecessary strlen calculation

Closes GH-6846
This one had objid_query->array_output = ( (st & SNMP_CMD_SET) ? false : true ); initially
which means that if it was equal to 0 it would be equal to true.
In particular if an invalid ini option is specified.
This reverts commit 4440ac3.

This fix wasn't correct, as we do retain the arena-allocation
for the file cache only case. This will need some other way to
reconcile both modes.
* can_ret_as_str_in_uni and is_possibly_blob is no longer used anywhere
* Removed mysqlnd_stmt_fetch_row_buffered header
* Removed unicode constants leftovers
* PHP-7.4:
  Fix gidlist allocation leak on error
* PHP-8.0:
  Fix gidlist allocation leak on error
Unfortunately CG(unclean_shutdown) may not be initialized at this
point in ZTS builds.
…cros

this change alone speeds up top-k computation significantly
The test expects no masked signals at the beginning, but when run as part
of a Bamboo build, SIGQUIT is already masked and the test fails.
* PHP-7.4:
  Increased test compatibility
* PHP-8.0:
  Increased test compatibility
cmb69 and others added 27 commits April 26, 2021 15:05
* PHP-8.0:
  Fix typo in NEWS
We ensure that inbuf is NUL terminated on `ftp_readline()` failure.

Closes GH-6894.
* PHP-7.4:
  Fix #80901: Info leak in ftp extension
* PHP-8.0:
  Fix #80901: Info leak in ftp extension
Store these in hash tables indexed by oid. This is simpler and
more efficient, as we don't need to create resources or hash keys.
* Fix pg_get_notify() parameter name
We ignore `XML_ENTITY_DECL` nodes when getting the hash of the
properties of a `SimpleXMLElement`.
* PHP-7.3:
  Fix #80852: Stack-overflow when json_encode()'ing SimpleXMLElement
* PHP-7.4:
  Fix #80852: Stack-overflow when json_encode()'ing SimpleXMLElement
* PHP-8.0:
  Fix #80852: Stack-overflow when json_encode()'ing SimpleXMLElement
…ement"

Sorry, this solution seems to have BC breaks, will need to look
for better one.

This reverts commit 9f7e8b7.
* PHP-7.3:
  Revert "Fix #80852: Stack-overflow when json_encode()'ing SimpleXMLElement"
* PHP-7.4:
  Revert "Fix #80852: Stack-overflow when json_encode()'ing SimpleXMLElement"
* PHP-8.0:
  Revert "Fix #80852: Stack-overflow when json_encode()'ing SimpleXMLElement"
Like `mail()` and `mb_send_mail()`, `imap_mail_compose()` must prevent
header injection.  For maximum backward compatibility, we still allow
header folding for general headers, and still accept trailing line
breaks for address lists.
* PHP-7.3:
  Fix #80710: imap_mail_compose() header injection
* PHP-7.4:
  Fix #80710: imap_mail_compose() header injection
* PHP-8.0:
  Fix #80710: imap_mail_compose() header injection
This causes the build to fail on PHP-8.0 and higher.
* PHP-7.4:
  Fix build warning
* PHP-8.0:
  Fix build warning
This now longer does anything -- registering a variable for a NULL
array is a no-op.
@pull pull bot merged commit 61ba79d into ConnectionMaster:master Apr 27, 2021
pull bot pushed a commit that referenced this pull request Apr 27, 2021
When encountering the following SSA graph:

    BB1:
    #2.T1 [string] = COALESCE #1.CV0($str) [null, string] BB2

    BB2:
    #5.T1 [string] = QM_ASSIGN string("")

    BB3:
    #7.X1 [string] = Phi(#2.X1 [string], #5.X1 [string])
    FREE #7.T1 [string]

We would currently determine that #7, #5 are dead, and eliminate
the FREE and QM_ASSIGN. However, we cannot eliminate #2, as
COALESCE is also responsible for control flow.

Fix this my marking all non-CV phis as live to start with. This
can be relaxed to check the kind of the source instruction, but
I couldn't immediately come up with a case where it would be
useful.
pull bot pushed a commit that referenced this pull request Jul 3, 2021
Part of generated opcodes for $foo are:

  ...
  BB1:
  0002 INIT_FCALL 1 96 string("foo")
  0003 #5.V1 [rcn, object (instanceof A)] = FETCH_THIS
  0004 SEND_REF #5.V1 [rcn, object (instanceof A)] 1
  0005 DO_UCALL

Updates in functions zend_jit_fetch_this() and zend_jit_load_this() are
made to support FETCH_THIS opcode.

One new path is covered in function zend_jit_send_ref()  by SEND_REF
opcode.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.