History log of /PHP-8.1/Zend/zend_vm_gen.php (Results 201 – 225 of 324)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
Revision tags: php-5.6.8, php-5.5.24, php-5.4.40
# 690843fa 09-Apr-2015 Dmitry Stogov

Fixed GOTO executor

Revision tags: php-5.6.8RC1, php-5.5.24RC1, php-5.6.7, php-5.5.23, php-5.4.39
# 4d4a5336 17-Mar-2015 Dmitry Stogov

Embed "fast" operator functions (add, sub, increment, etc) into executor with additional optimizations

# 8247f49f 16-Mar-2015 Xinchen Hui

Exposed ZEND_VM_KIND etc

# ae26a51f 13-Mar-2015 Dmitry Stogov

Added API function to call VM opcode handler in a portable way

# 249c2323 13-Mar-2015 Dmitry Stogov

Allow CALL executor to keep few very often used vaiables in CPU registers.
This is disabled by default yet, but may be enabled compiling zend_execute.c with -DHAVE_GCC_GLOBAL_REGS.
Only teste

Allow CALL executor to keep few very often used vaiables in CPU registers.
This is disabled by default yet, but may be enabled compiling zend_execute.c with -DHAVE_GCC_GLOBAL_REGS.
Only tested on Linux x86 and x86_64 with GCC 4.9.2.

show more ...

# 6289f7e5 12-Mar-2015 Dmitry Stogov

Executor cleanup: fix GOTO and SWITCH VMs, remove aility to build additional PHP-5.0 compatible VM, hide executor implementation details.

# 1c94ff05 09-Mar-2015 Dmitry Stogov

Implement engine exceptions

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

Pending changes regarding naming of BaseException and whether it
should be an interface.

Revision tags: php-5.6.7RC1, php-5.5.23RC1, POST_PHP7_EREG_MYSQL_REMOVALS, PRE_PHP7_EREG_MYSQL_REMOVALS
# 2bb9a591 26-Feb-2015 Dmitry Stogov

Fixed ability to build unspecialized executor

# ff862676 25-Feb-2015 Dmitry Stogov

Fixed compilation warnings

Revision tags: php-5.6.6, php-5.5.22, php-5.4.38, POST_PHP7_REMOVALS, PRE_PHP7_REMOVALS, php-5.6.6RC1, php-5.5.22RC1, php-5.5.21, php-5.6.5, php-5.4.37
# fc33f52d 15-Jan-2015 Xinchen Hui

bump year

Revision tags: php-5.5.21RC1, php-5.6.5RC1, POST_NATIVE_TLS_MERGE, PRE_NATIVE_TLS_MERGE, php-5.5.20, php-5.4.36, php-5.6.4
# e112f6a0 14-Dec-2014 Anatol Belski

second shot on removing TSRMLS_*

# 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 ...

# f7054567 09-Dec-2014 Dmitry Stogov

Pass znode_op structure by value (it fits into one word) instead of pointer to structure.

# b6c6e796 08-Dec-2014 Dmitry Stogov

Improved ASSIGN_DIM and ASSIGN_OBJ

# c7f695f3 05-Dec-2014 Dmitry Stogov

Get rid of duplicate handlers (where the code for IS_TMP_VAR and IS_VAR operands is the same)

# e04971ce 03-Dec-2014 Anatol Belski

fix TS build

# e5716d1b 03-Dec-2014 Dmitry Stogov

Get rid of duplicate handlers (ZEND_ADD_SPEC_TMP_TMP and ZEND_ADD_SPEC_VAR_VAR are absolutely the same).

Revision tags: php-5.6.4RC1, php-5.5.20RC1
# 7daa97a3 24-Nov-2014 Stanislav Malyshev

Merge branch 'PHP-5.6'

* PHP-5.6:
fix NEWS order
update NEWS
Update the VM generation script, per Bob.
Update NEWS after rebase.
Add BEGIN_EXTERN_C() and END_EX

Merge branch 'PHP-5.6'

* PHP-5.6:
fix NEWS order
update NEWS
Update the VM generation script, per Bob.
Update NEWS after rebase.
Add BEGIN_EXTERN_C() and END_EXTERN_C() to .h files missing them.

show more ...


# faee4850 24-Nov-2014 Stanislav Malyshev

Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
update NEWS
Update the VM generation script, per Bob.
Update NEWS after rebase.
Add BEGIN_EXTERN_C() and END_EXTERN_C()

Merge branch 'PHP-5.5' into PHP-5.6

* PHP-5.5:
update NEWS
Update the VM generation script, per Bob.
Update NEWS after rebase.
Add BEGIN_EXTERN_C() and END_EXTERN_C() to .h files missing them.

show more ...


# c746dcd7 18-Nov-2014 Dmitry Stogov

Get rid of zend_free_op structure (use zval* instead).
Get rid of useless TSRMLS arguments.

Revision tags: php-5.6.3, php-5.5.19, php-5.4.35
# 4bb836be 31-Oct-2014 Adam Harvey

Update the VM generation script, per Bob.

Revision tags: php-5.6.3RC1, php-5.5.19RC1, php-5.5.18, php-5.4.34
# 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.

Revision tags: php-5.5.18RC1, php-5.6.1, php-5.6.2
# 06103d65 23-Sep-2014 Dmitry Stogov

Use zval_ptr_dtor_nogc() to free IS_TMP_VAR operands.
Removed ZEND_SWITCH_FREE opcode (ZEND_FREE used instead).

# 2c8ac3a2 22-Sep-2014 Dmitry Stogov

Replace IS_OP?_TMP_FREE() with more clear (OP?_TYPE == IS_TMP_VAR)

Revision tags: php-5.4.33, php-5.5.17, php-5.6.1RC1, php-5.5.17RC1, php-5.4.33RC1
# 319ce224 28-Aug-2014 Dmitry Stogov

LOAD_REGS() is not used anymore

12345678910>>...13