Dmitry Stogov
ae72b0dc67
Merge branch 'master' into temporary_cleaning
...
* master:
Do not display EXT_TYPE_UNUSED in phpdbg opcodes
Run debug build with opcache on travis
2015-07-06 21:02:34 +03:00
Bob Weinand
a919fe8606
Do not display EXT_TYPE_UNUSED in phpdbg opcodes
2015-07-06 18:05:03 +02:00
Dmitry Stogov
9a16810f7a
Merge branch 'master' into temporary_cleaning
...
* master:
Simplify TMP var number decoding (without HashTable)
2015-07-06 17:57:45 +03:00
Dmitry Stogov
001ecd3198
Simplify TMP var number decoding (without HashTable)
2015-07-06 17:56:48 +03:00
Dmitry Stogov
bbfbe470c8
Merge branch 'master' into temporary_cleaning
...
* master:
Avoid dangerous optimization
Fixed JMPZNZ instruction printing
Attempt at falling back on ldap_find_control for Mac OS
2015-07-06 17:02:01 +03:00
Dmitry Stogov
1a9f4f90da
Fixed JMPZNZ instruction printing
2015-07-06 16:30:50 +03:00
Dmitry Stogov
ba721efa2c
Print list of live temp variables (at least for internal debugging)
2015-07-03 14:16:09 +03:00
Dmitry Stogov
7aa7627172
Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes).
2015-06-30 13:59:27 +03:00
Bob Weinand
088f589f7d
Make backtraces *much* more readable
2015-06-29 02:51:10 +02:00
Bob Weinand
29aad0ef45
Add phpdbg userland API to fetch oplog
...
We may want to add some opcode info later, so that "opcodes" mode is more helpful
2015-06-22 12:58:33 +02:00
Bob Weinand
b97944c6d1
Add ZEND_ASSERT_CHECK to phpdbg opcode jump list
2015-06-14 04:45:56 +02:00
Nikita Popov
a1ef8b418d
Improve phpdbg opcode dump
...
Don't show <unused>, just don't display anything instead.
Dump nums used in op1/op2/result, e.g. for SEND, RECV etc.
Split the switch into three parts, one for each operand.
2015-05-24 20:29:57 +02:00
Xinchen Hui
af3c72bc80
fixed warning & test pushing
2015-04-22 10:53:49 +08:00
Bob Weinand
5f10e84208
Shrink phpdbg opcode dump output a bit more
2015-04-20 20:59:13 +02:00
Bob Weinand
1a249bd674
Shorten opline dump lines and show literals
2015-04-20 12:23:11 +02:00
Lior Kaplan
a4384bd3d4
s/PHP Version 5/PHP Version 7/g
...
Follow up for d0cb7153
2015-03-13 11:09:42 +02:00
Wei Dai
3f3e34040a
Fixed compile warnings
2015-03-09 21:25:43 +08:00
Xinchen Hui
fc33f52d8c
bump year
2015-01-15 23:27:30 +08:00
Anatol Belski
bdeb220f48
first shot remove TSRMLS_* things
2014-12-13 23:06:14 +01:00
Dmitry Stogov
14e29f5146
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.
2014-12-12 10:19:41 +03:00
Bob Weinand
2bcac53bca
Made phpdbg compatible with new engine
2014-10-24 19:29:50 +02:00
Bob Weinand
9b4d9ac6c7
Merge phpdbg into PHP-5.6
2014-10-24 19:22:45 +02:00
Dmitry Stogov
7c7b9184b1
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).
2014-10-05 13:02:58 +04:00
Dmitry Stogov
06103d65b1
Use zval_ptr_dtor_nogc() to free IS_TMP_VAR operands.
...
Removed ZEND_SWITCH_FREE opcode (ZEND_FREE used instead).
2014-09-23 17:21:29 +04:00
Johannes Schlüter
d0cb715373
s/PHP 5/PHP 7/
2014-09-19 18:33:14 +02:00
Dmitry Stogov
82096dc151
Removed ZEND_QM_ASSIGN_VAR and ZEND_JMP_SET_VAR opcodes (in PHPNG they did exacly the same as ZEND_QM_ASSIGN and ZEND_JMP_SET)
2014-09-11 12:29:54 +04:00
Anatol Belski
6f9f0bf205
master renames phase 2
2014-08-25 19:28:33 +02:00
Bob Weinand
708af5fd8e
Merge sapi/phpdbg into PHP-5.6
2014-04-21 23:30:08 +02:00
Johannes Schlüter
8ff4d61f08
Merge branch 'phpdbg' into PHP-5.6
2014-01-18 13:52:27 +01:00
Xinchen Hui
c081ce628f
Bump year
2014-01-03 11:08:10 +08:00
Bob Weinand
cee72c13d7
Merge branch 'master' of sapi/phpdbg into PHP-5.6
...
Including phpdbg.
2013-12-20 14:27:51 +01:00