History log of /PHP-7.4/Zend/zend_compile.h (Results 226 – 250 of 837)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1a28ad03 06-Jan-2015 Andrea Faulds

Forbid scalar type hint names for use, class_alias


# 9e70d767 04-Feb-2015 Dmitry Stogov

Move zend_object->guards into additional slot of zend_object->properties_table[]. As result size of objects without __get/__set/__unset/__isset magic methods is reduced.


# c8576c5a 08-Jan-2015 Levi Morrison

Implement return types

RFC is documented here: https://wiki.php.net/rfc/return_types


Revision tags: POST_NATIVE_TLS_MERGE, PRE_NATIVE_TLS_MERGE, php-5.5.20, php-5.4.36, php-5.6.4, php-5.6.4RC1, php-5.5.20RC1, php-5.6.3, php-5.5.19, php-5.4.35, php-5.6.3RC1, php-5.5.19RC1, php-5.5.18, php-5.4.34, php-5.5.18RC1, php-5.6.1, php-5.6.2, php-5.4.33, php-5.5.17, php-5.6.1RC1
# 4d3e4d3b 10-Sep-2014 Nikita Popov

Remove assignment of new by reference


# fc33f52d 15-Jan-2015 Xinchen Hui

bump year


# 0579e827 15-Jan-2015 Xinchen Hui

bump year


# 73c1be26 15-Jan-2015 Xinchen Hui

Bump year


# b7a7b1a6 03-Jan-2015 Stanislav Malyshev

trailing whitespace removal


# f48c2327 01-Dec-2014 Guilherme Blanco

Decoupled class declaration statement into more granular pieces.


# ab0b15b8 26-Dec-2014 Dmitry Stogov

Optimized destruction of extra arguments passed to user functions.
If no refcounted arguments are passed, then destruction code is not triggered at all.
(Full rebuild required)


# fd4844e0 22-Dec-2014 Dmitry Stogov

Removed useless checks


# 2646f7bc 22-Dec-2014 Dmitry Stogov

Don't count variadic argument in zend_func.common.num_args. This allows faster CALL/RETURN code.


# 79354ba6 17-Dec-2014 Anatol Belski

fix integral constant overflow warning

as it's promoted to size_t when passed to ZEND_CALL_ARG


# e112f6a0 14-Dec-2014 Anatol Belski

second shot on removing TSRMLS_*


# bdeb220f 13-Dec-2014 Anatol Belski

first shot remove TSRMLS_* things


# 094d409b 22-Nov-2014 Guilherme Blanco

Removed ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some currently defined classes as final which were just not being considered as such before.


# 14e29f51 12-Dec-2014 Dmitry Stogov

Reduced size of zend_op on 64-bit systems.

the main idea - the smaller the zend_op structure, the lees memory traffic is required to load VM instructions during execution. The patch reduces

Reduced size of zend_op on 64-bit systems.

the main idea - the smaller the zend_op structure, the lees memory traffic is required to load VM instructions during execution. The patch reduces the size of each opcode from 48 to 32 bytes (saves 16 bytes for each opcode, and applications use thousands of opoceds). This reduced the number of CPU cache misses by 12% and improved performance of real-life apps by 1-2%.

The patch affects how constants and jump targets are represented in VM during execution. Previously they were implemented as absolute 64-bit pointers. Now they are relative 32-bit offsets.

In run-time constant now should be accessed as:
RT_CONSTANT(op_array, opine->op1) instead of opline->op1.zv
EX_CONSTANT(opline->op1) instead of opline->op1.zv

Jump targets:
OP_JMP_ADDR(opline, opline->op2) instead of opline->op2.jmp_addr

The patch doesn't change zend_op representation for 32-bit systems. They still use absolute addresses. The compile-time representation is also kept the same.

show more ...


# 5dd427ea 03-Dec-2014 Dmitry Stogov

Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*.


# dcfe5877 28-Nov-2014 Dmitry Stogov

Rename EX_VAR_2() into ZEND_CALL_VAR() and EX_VAR_NUM_2() into ZEND_CALL_VAR_NUM().


# 1da14c9f 28-Nov-2014 Dmitry Stogov

Pack EX(frame_info) into EX(This).u1.v.reserved. Rename "frame"kind" into "call_kind" and VM_FRAME_... into ZEND_CALL_...


# 11384ba7 28-Nov-2014 Dmitry Stogov

Pack EX(num_args) into EX(This).u2.num_args


# 9a36cb1a 28-Nov-2014 Dmitry Stogov

Get rid of EX(scope). In most cases we use EG(scope) anyway. EX(scope) was used to switch EG(scope) back after call, but it's possibleto use EX(func)->common.scope instead.


# 216ef321 27-Nov-2014 Dmitry Stogov

Changed "finally" handling. Removed EX(fast_ret) and EX(delayed_exception). Allocate and use additional IS_TMP_VAR slot on VM stack instead.


# 303d73ec 26-Nov-2014 Dmitry Stogov

Reimplemented silence operator (@) handling on exceptions. Now each silence region is stored in op_array->brk_cont_array. On exception ZEND_HANDLE_EXCEPTION handler traverse this array and restore or

Reimplemented silence operator (@) handling on exceptions. Now each silence region is stored in op_array->brk_cont_array. On exception ZEND_HANDLE_EXCEPTION handler traverse this array and restore original EG(error_reporting) if exception occured inside a "silence" region.

show more ...


# 75041379 06-Nov-2014 Dmitry Stogov

Improved object property access.


12345678910>>...34