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

Named params #1

Open
wants to merge 3 commits into
base: PHP-5.6
Choose a base branch
from
Open

Named params #1

wants to merge 3 commits into from

Conversation

smalyshev
Copy link
Owner

No description provided.

nikic and others added 3 commits February 27, 2014 15:23
Minus whitespace changes, minus some things not relevant here. Not
carefully reviewed. Might contain some changes that do not apply
to my branch and need to be removed
* nikic/namedParams:
  Cherry pick 7682dfc by stas
  Initial named args implementation

Conflicts:
	ext/standard/array.c
	ext/standard/streamsfuncs.c
smalyshev pushed a commit that referenced this pull request Feb 18, 2015
Porting implementation of RFC json_preserve_fractional_part
smalyshev pushed a commit that referenced this pull request Jun 22, 2015
Missing symbols to get it worky on Windows
@smalyshev smalyshev force-pushed the PHP-5.6 branch 2 times, most recently from 9d5bbea to eb7ba73 Compare August 4, 2015 23:38
@smalyshev smalyshev force-pushed the PHP-5.6 branch 2 times, most recently from bcfb102 to 1fd1882 Compare November 4, 2016 04:35
smalyshev pushed a commit that referenced this pull request Jul 5, 2017
smalyshev pushed a commit that referenced this pull request Aug 26, 2019
Apply commits from php/php-src that update tests for newer ICU versions
smalyshev pushed a commit that referenced this pull request Aug 24, 2021
When encountering the following SSA graph:

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

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

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

We would currently determine that php#7, php#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.
smalyshev pushed a commit that referenced this pull request Aug 24, 2021
* JIT/AArch64: Support shifted immediate

As pointed out by MikePall in [1], shifted immediate value is supported.
See [2]. For example, `add x0, x1, php#4096` would be encoded by DynASM
into `add x0, x1, #1, lsl php#12` directly.

In this patch, a helper is added to check whether an immediate value is
in the two allowed ranges: (1) 0 to 4095, and (2) LSL php#12 on all the
values from the first range.

Note that this helper works for add/adds/sub/subs/cmp/cmn instructions.

[1] LuaJIT/LuaJIT#718
[2]
https://github.com/LuaJIT/LuaJIT/blob/v2.1/dynasm/dasm_arm64.lua#L342

Change-Id: I4870048b9b8e6c429b73a4803af2a3b2d5ec0fbb

* Deprecatd CMP_IMM/ADD_SUB_IMM and add test cases

Macros CMP_IMM and ADD_SUB_IMM are deprecated and instead we use
this helper to guard the immediate encoding.

Add two 64-bit only test cases, since 64-bit integers are used
and tested inside.

Change-Id: I0b42d4617b40372e2f4ce5b6ad31a4ddb7d89e49
smalyshev pushed a commit that referenced this pull request Mar 28, 2022
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.

2 participants