Skip to content
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

[pull] master from php:master #5

Merged
merged 3 commits into from
Jan 24, 2020
Merged

[pull] master from php:master #5

merged 3 commits into from
Jan 24, 2020

Conversation

pull[bot]
Copy link

@pull pull bot commented Jan 24, 2020

See Commits and Changes for more details.


Created by pull[bot]. Want to support this open source service? Please star it : )

* PHP-7.3:
  Yet another check for php_strip_tags_ex()
* PHP-7.4:
  Yet another check for php_strip_tags_ex()
@pull pull bot added the ⤵️ pull label Jan 24, 2020
@pull pull bot merged commit 5d65641 into kingdavid6336:master Jan 24, 2020
pull bot pushed a commit that referenced this pull request Apr 8, 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 May 18, 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.

1 participant