summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_opcode.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | Reduced size of zend_op on 64-bit systems.Dmitry Stogov2014-12-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Made phpdbg compatible with new engineBob Weinand2014-10-241-196/+19
|\ \ | |/
| * Merge phpdbg into PHP-5.6Bob Weinand2014-10-241-17/+5
| |
* | Fixed list() behavior inconsistency (string handling is disabled for all ↵Dmitry Stogov2014-10-051-1/+1
| | | | | | | | 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).
* | Use zval_ptr_dtor_nogc() to free IS_TMP_VAR operands.Dmitry Stogov2014-09-231-1/+0
| | | | | | | | Removed ZEND_SWITCH_FREE opcode (ZEND_FREE used instead).
* | s/PHP 5/PHP 7/Johannes Schlüter2014-09-191-1/+1
| |
* | Removed ZEND_QM_ASSIGN_VAR and ZEND_JMP_SET_VAR opcodes (in PHPNG they did ↵Dmitry Stogov2014-09-111-9/+0
| | | | | | | | exacly the same as ZEND_QM_ASSIGN and ZEND_JMP_SET)
* | master renames phase 2Anatol Belski2014-08-251-2/+2
|/
* Merge sapi/phpdbg into PHP-5.6Bob Weinand2014-04-211-0/+5
|
* Merge branch 'phpdbg' into PHP-5.6Johannes Schlüter2014-01-181-7/+9
|
* Bump yearXinchen Hui2014-01-031-1/+1
|
* Merge branch 'master' of sapi/phpdbg into PHP-5.6Bob Weinand2013-12-201-0/+361
Including phpdbg.