History log of /PHP-7.1/Zend/zend_compile.h (Results 126 – 150 of 722)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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.


# 8dedd863 22-Oct-2014 Dmitry Stogov

Get rid of ZEND_FETCH_MAKE_REF


# 95278779 16-Oct-2014 Dmitry Stogov

Removed deprecated fields


# 75b5dc63 07-Oct-2014 Dmitry Stogov

Reorder fields for better alignment on both 32-bit and 64-bit systems


# 67be34ec 07-Oct-2014 Dmitry Stogov

Remove useless parts of EX(old_error_reporting)


# 33e137d4 07-Oct-2014 Dmitry Stogov

Merged EX(frame_kind) and EX(flags) into single word


# 7c7b9184 05-Oct-2014 Dmitry Stogov

Fixed list() behavior inconsistency (string handling is disabled for all cases, ArrayAccess objects handling is enabled for all cases, ZEND_FETCH_DIM_TMP_VAR opcode is renamed into ZEND_FETCH_LIST, Z

Fixed list() behavior inconsistency (string handling is disabled for all cases, ArrayAccess objects handling is enabled for all cases, ZEND_FETCH_DIM_TMP_VAR opcode is renamed into ZEND_FETCH_LIST, ZEND_FETCH_ADD_LOCK flag is removed).

show more ...


# bd9a2346 03-Oct-2014 Dmitry Stogov

Replaced EG(This) and EX(object) with EX(This).
Internal functions now recieves zend_execute_data as the first argument.


# 9f7564b1 01-Oct-2014 Dmitry Stogov

Removed zend_execute_data->prev_nested_call. Reuse prev_execute_data instead.


# 7cef08c5 23-Sep-2014 Dmitry Stogov

Allocate copies of internal functions inherited in user classes at CG(arena), instead of permanent heap (malloc).


# 98891ee1 20-Sep-2014 Nikita Popov

Simplify foreach flags

* FE_RESET_VARIABLE and FE_RESET_REFERENCE were always set
together.
* In some places the code checked FE_FETCH_BYREF instead of
FE_RESET_REFERENCE

Simplify foreach flags

* FE_RESET_VARIABLE and FE_RESET_REFERENCE were always set
together.
* In some places the code checked FE_FETCH_BYREF instead of
FE_RESET_REFERENCE and relied on them having the same value.
* Now the FE_RESET_* flags are dropped and everything uses
FE_FETCH_BYREF

show more ...


# c343ca4e 18-Sep-2014 Nikita Popov

Split inheritance into separate file

This moves handling of inheritance and interface implementation
from zend_compile.c into a separate zend_inheritance.c file, as
this is not reall

Split inheritance into separate file

This moves handling of inheritance and interface implementation
from zend_compile.c into a separate zend_inheritance.c file, as
this is not really related to compilation.

show more ...


# 5185baab 18-Sep-2014 Dmitry Stogov

Changed "inline" into "zend_always_inline"


# 079409bb 15-Sep-2014 Nikita Popov

Switch (un)mangle property name to size_t and zend_string

Also use the _ex variants where possible.


# f1bf5313 15-Sep-2014 Dmitry Stogov

Replaced macro with better optimized inline function


Revision tags: php-5.5.17RC1, php-5.4.33RC1
# d5b0606a 01-Sep-2014 Stanislav Malyshev

Reintroduce fix from pull #770 in a PHP 7 way


12345678910>>...29