History log of /PHP-8.2/Zend/zend_vm_gen.php (Results 26 – 50 of 333)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 855d8fa6 11-Nov-2020 Dmitry Stogov

[Observer] Save opline before calling begin/end handlers

# d5d31ea3 18-Sep-2020 Dmitry Stogov

Cleanup observer API and add JIT support

# 9e94bcfd 17-Sep-2020 Sammy Kaye Powers

Remove specialization of SPEC(OBSERVER) handlers

# 66c3e900 01-Sep-2020 Levi Morrison

Add zend_observer API

Closes GH-5857.

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
Co-authored-by: Sammy Powers <sammyk@datadoghq.com>

# 42eda516 11-Aug-2020 Nikita Popov

SAVE_OPLINE in NULL_HANDLER

Let's avoid crashing before the nice error message gets printed...

# d92229d8 06-Apr-2020 Nikita Popov

Implement named parameters

From an engine perspective, named parameters mainly add three
concepts:

* The SEND_* opcodes now accept a CONST op2, which is the
argument nam

Implement named parameters

From an engine perspective, named parameters mainly add three
concepts:

* The SEND_* opcodes now accept a CONST op2, which is the
argument name. For now, it is looked up by linear scan and
runtime cached.
* This may leave UNDEF arguments on the stack. To avoid having
to deal with them in other places, a CHECK_UNDEF_ARGS opcode
is used to either replace them with defaults, or error.
* For variadic functions, EX(extra_named_params) are collected
and need to be freed based on ZEND_CALL_HAS_EXTRA_NAMED_PARAMS.

RFC: https://wiki.php.net/rfc/named_params

Closes GH-5357.

show more ...

# 613a56d1 09-Jul-2020 Nikita Popov

Remove FREE_UNFETCHED concept

In master normal FREE_OPs work like FREE_UNFETCHED_OP used to, so
there is no point in keeping this distinction anymore, it's just
confusing.

# 5d0687e8 07-Jul-2020 Nikita Popov

Assert exception set in HANDLE_EXCEPTION()

Some code paths were checking this manually, but we can turn this
into a general assertion to avoid surprises (functions returning
failure

Assert exception set in HANDLE_EXCEPTION()

Some code paths were checking this manually, but we can turn this
into a general assertion to avoid surprises (functions returning
failure without throwing).

show more ...

# fb916112 07-Jul-2020 Nikita Popov

Remove #undefs from vm_gen

Possibly these were needed for VM_EXPORT, but they don't serve a
purpose now.

# 002c264d 07-Jul-2020 Nikita Popov

Remove ZEND_VM_EXPORT functionality

This hasn't been used since forever and makes things more confusing
than they already are.

# d114812f 25-Jun-2020 Ayesh Karunaratne

[ci skip] Various typo fixes in stub comments and CHANGES file

# f4b46314 22-May-2020 Dmitry Stogov

Prevent CGG reordering if hanlers order is defined by zend_vm_order.txt

# d4de3f95 06-Feb-2020 Nikita Popov

Remove spurious const qualifier from function return type

# 16980577 03-Feb-2020 Nikita Popov

Merge branch 'PHP-7.4'

* PHP-7.4:
Apply tidy formatting


# 58b17906 03-Feb-2020 Nikita Popov

Apply tidy formatting

Mostly reindent PHP scripts to spaces.

Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12
# a7580899 13-Nov-2019 Tyson Andre

Support the same handler for multiple opcodes

# e8525c2f 13-Nov-2019 Tyson Andre

Optimize int === int/double === double

Do this by reusing the implementation used for `==`
when both arguments are ints (IS_LONG) or both are floats (IS_DOUBLE)

```php
// Be

Optimize int === int/double === double

Do this by reusing the implementation used for `==`
when both arguments are ints (IS_LONG) or both are floats (IS_DOUBLE)

```php
// Before: nestedloop_ni took 0.442 seconds
// After: nestedloop_ni takes 0.401 seconds (same as nestedloop_ne)
function nestedloop_ni(int $k) {
$x = 0;
for ($i=0; $i < 50000000; $i++) {
if ($i === $k) {
$x++;
}
}
print "$x\n";
}
function nestedloop_ne(int $k) {
$x = 0;
for ($i=0; $i < 50000000; $i++) {
if ($i == $k) {
$x++;
}
}
print "$x\n";
}
```

show more ...

Revision tags: php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4
# f6f32f2c 09-Oct-2019 Dmitry Stogov

SAMRT BRANCH improvement.

Avoid need of insertion NOP opcoes between unrelated SMART BRANCH instruction and following JMPZ/JMPNZ.
Now instead of checking the opcode of following instruct

SAMRT BRANCH improvement.

Avoid need of insertion NOP opcoes between unrelated SMART BRANCH instruction and following JMPZ/JMPNZ.
Now instead of checking the opcode of following instruction, the same information is encoded into SMART BRANH result_type.

show more ...

# eec04f6b 08-Oct-2019 Dmitry Stogov

Encapsulate all SMART BRANCH related logic inside macros. Result of SMART BRANCH may be uninitialized (on exception).

Revision tags: php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3
# a66c60cc 26-Sep-2019 Nikita Popov

Throw Error when writing property of non-object

This removes object auto-vivification support.

This also means that we can remove the corresponding special
handling for typed pr

Throw Error when writing property of non-object

This removes object auto-vivification support.

This also means that we can remove the corresponding special
handling for typed properites: We no longer need to check that a
property is convertible to stdClass if such a conversion might
take place indirectly due to a nested property write.

Additionally OBJ_W style operations now no longer modify the
object operand, and as such we no longer need to treat op1 as a
def in SSA form.

The next step would be to actually compile the whole LHS of OBJ_W
operations in R rather than W mode, but that causes issues with
SimpleXML, whose object handlers depend on the current compilation
structure.

Part of https://wiki.php.net/rfc/engine_warnings.

show more ...

# 470bbb8c 25-Sep-2019 Dmitry Stogov

Avoid code dupliction

Revision tags: php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1
# 02c83b80 10-Sep-2019 Dmitry Stogov

ceanup

# 0f8bb9e3 05-Sep-2019 Dmitry Stogov

Merge branch 'PHP-7.4'

* PHP-7.4:
Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used.
Remove --with-zlib-dir option

Merge branch 'PHP-7.4'

* PHP-7.4:
Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used.
Remove --with-zlib-dir option from mysqlnd config

show more ...


# 7237da27 05-Sep-2019 Dmitry Stogov

Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used.

Revision tags: php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8
# 57d9b94d 24-Jul-2019 Dmitry Stogov

Simplify TMP/VAR operand releasing

12345678910>>...14