Bob Weinand
f66905dad7
Fix weird asm instruction order with gcc by marking as volatile in phpdbg
2015-07-13 14:11:39 +02:00
Bob Weinand
3ccc17cee5
Working fix for ctrl+d on readline/libedit
2015-07-08 16:54:41 +02:00
Bob Weinand
7a8ea0f60d
Properly exit on EOF on stdin in readline mode
2015-07-07 22:45:34 +02:00
Dmitry Stogov
404dc93d35
Tuned off dubugging of live ranges
2015-07-07 15:43:14 +03:00
Dmitry Stogov
5ee8413259
Fixed bug #62210 (Exceptions can leak temporary variables. As a part of the fix serious refactoring was done. op_array->brk_cont_array was removed, and replaced with more general and speed efficient op_array->T_liveliness. ZEND_GOTO opcode is always replaced by ZEND_JMP at compile time). (Bob, Dmitry, Laruence)
...
Squashed commit of the following:
commit 38e22106d4bdcc829dd2b64be1d3c6cdc089f3ed
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 15:12:19 2015 +0300
Added NEWS entry
commit 0a355935bfb10b5a4c893f4db9496ea8abbcf71b
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 15:06:32 2015 +0300
Inline function, to eliminate repeatable checks
commit d937584f3aef0baae6001377b61fd700b6f36e14
Merge: 0341626 32677f5
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 14:35:49 2015 +0300
Merge branch 'master' into temporary_cleaning
* master:
Fixed bug #70006 (cli - function with default arg = STDOUT crash output).
Fix x86 build
Fixed use after free on closure_call_leak_with_exception.phpt
Fixed test
commit 0341626ea94a5e474c660732d33884460847d5e7
Merge: 74869fa dec35de
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 12:00:53 2015 +0300
Merge branch 'temporary_cleaning' of https://github.com/laruence/php-src into temporary_cleaning
* 'temporary_cleaning' of https://github.com/laruence/php-src :
Fixed checkpoint get
Fixed crash of invalid pointer derefer
cleanup
commit 74869fa67375b8daf772ac30b6b936fd2a2132c6
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 11:45:34 2015 +0300
Fixed wrong GOTO resolution
commit dec35ded3294e3022e88a623188c3d1d71381675
Author: Xinchen Hui <laruence@gmail.com >
Date: Tue Jul 7 15:58:49 2015 +0800
Fixed checkpoint get
commit b0f419540ad24c44810c9b05da046965618ffc65
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 10:47:11 2015 +0300
Fixed crash of invalid pointer derefer (laruence)
commit 7a428d98ca2899c5933914caa0cd17b4126e952c
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 10:35:47 2015 +0300
Fixed identation
commit 9c3a4dce9ce02034d19d28182aa9c1298d528daf
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 10:33:52 2015 +0300
Fixed invalid size
commit 653abc670b2a1f453b0fc3fc4a9eca919ee870cc
Author: Xinchen Hui <laruence@gmail.com >
Date: Tue Jul 7 11:29:14 2015 +0800
Fixed crash of invalid pointer derefer
commit e04500ceda606ac4f364d03bcd562327bdc74eee
Author: Xinchen Hui <laruence@gmail.com >
Date: Tue Jul 7 11:28:26 2015 +0800
cleanup
commit 34183e1687681038e77b650078927b35ee84e933
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 04:49:46 2015 +0300
op_array->T_liveliness compression
commit 2f6ad845795a08c3d7ac219e9c42950565b20394
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 04:44:44 2015 +0300
White spaces
commit be83f115a3f82a548c8d377c66574de5e5187410
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 04:42:26 2015 +0300
Identation
commit 1f5084b99038c374ac012b017c4d1652bb5d4222
Merge: 91b620d 1adf3df
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 04:41:54 2015 +0300
Merge branch 'master' into temporary_cleaning
* master:
Throw TypeError for invalid callback
Fix crash when exception occurs during nested rope
Fix crash when exception is thrown during ROPE_END
Small cleanup in ternary compilation
move the define to the right place
fix ext/ldap build
Rectify information about invalid shift warning being now ArithmeticError
commit 91b620d684c5a2296774432d5d0ff8f5d14397d6
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 04:32:04 2015 +0300
Replace GOTO by FREE/FE_FREE and JMP at compile time
commit 7052e5697918fab83d2975977c3392f7188fbc87
Author: Dmitry Stogov <dmitry@zend.com >
Date: Tue Jul 7 02:25:08 2015 +0300
Use zend_regenerate_var_liveliness_info() to regenerate information after pass two.
commit ae72b0dc6797815a846b8f95abccb36367422d27
Merge: a81c4bb a919fe8
Author: Dmitry Stogov <dmitry@zend.com >
Date: Mon Jul 6 21:02:34 2015 +0300
Merge branch 'master' into temporary_cleaning
* master:
Do not display EXT_TYPE_UNUSED in phpdbg opcodes
Run debug build with opcache on travis
commit a81c4bb8c6f1ba8124a5a7636694480ff0f1328c
Author: Dmitry Stogov <dmitry@zend.com >
Date: Mon Jul 6 20:59:34 2015 +0300
Improved algorithm. It's actually the same algorithm with second loop removed and simpler temporary data structures. The only difference may be in "re-defined" vatriable handling. Now live-range in that case started from the seconnd definition (this must be more safe).
commit 9a16810f7a7c10373603c5250d985616acf45e97
Merge: bbfbe47 001ecd3
Author: Dmitry Stogov <dmitry@zend.com >
Date: Mon Jul 6 17:57:45 2015 +0300
Merge branch 'master' into temporary_cleaning
* master:
Simplify TMP var number decoding (without HashTable)
commit bbfbe470c865cb8b3cae8bf6518e6d06af525522
Merge: 0bda4ab 436b01e
Author: Dmitry Stogov <dmitry@zend.com >
Date: Mon Jul 6 17:02:01 2015 +0300
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
commit 0bda4abea7ba0a51c2ec125edb547645d0329792
Author: Dmitry Stogov <dmitry@zend.com >
Date: Mon Jul 6 16:05:33 2015 +0300
Fixed live-range construction for OP_DATA opcode
Added comments about algorithm assumtions
commit 521ad9df98fdf1dd8b7c212799ddeb1a84483e6f
Merge: 4398dab a09dcb0
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Mon Jul 6 14:54:15 2015 +0200
Merge branch 'master' of https://github.com/php/php-src into temporary_cleaning
commit 4398dab82f9a5ce64df55b24988ce7d31e24074f
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Mon Jul 6 13:51:27 2015 +0200
Add a few phpt tests related to temporary cleaning
commit 739656f83ff5b570bb311d2c7cb2d72380a3c759
Author: Dmitry Stogov <dmitry@zend.com >
Date: Mon Jul 6 14:28:49 2015 +0300
Fixed Zend/tests/foreach_004.phpt failure (FE_FETCH shouldn't be included into TMP vatriablr live range)
commit 3df462a2bcf5fa8f9244ea299178152a5d436277
Author: Dmitry Stogov <dmitry@zend.com >
Date: Mon Jul 6 13:41:02 2015 +0300
Improve data layout (reduce the op_array structure size on 64-bit systems)
commit 883b73c56e6dab6489ae4cda2c1331b53a995586
Author: Dmitry Stogov <dmitry@zend.com >
Date: Mon Jul 6 13:28:45 2015 +0300
Removed op_array->brk_cont_array
commit ae5e58b59843513505e84e396c1446ac35cb1b94
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Mon Jul 6 04:22:58 2015 +0200
Fix bug with brk_cont variable free / free loop vars via temporary liveliness info
commit b4223ca62771e1003c9ab778a09a177ad71e6d57
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Mon Jul 6 04:07:07 2015 +0200
Fix bugs / cleanup fixes
commit ea33189d220c7fc0884848571635abe3cddd2f4d
Author: Xinchen Hui <laruence@gmail.com >
Date: Sun Jul 5 20:58:38 2015 +0800
Removed useless TsTop
commit 1dbb007e4addba9ac3bfc227db27a651cbcf5ede
Merge: 550bbf8 3a8af24
Author: Xinchen Hui <laruence@gmail.com >
Date: Sat Jul 4 15:06:44 2015 +0800
Merge branch 'temporary_cleaning' of https://github.com/dstogov/php-src into temporary_cleaning
commit 3a8af245290ceb507108340831254672f24022fa
Author: Dmitry Stogov <dmitry@zend.com >
Date: Fri Jul 3 16:15:36 2015 +0300
More exceptions from regular liveliness analyses (with explanation in comments).
Mark old "unexplained" exceptions with ???.
commit ba721efa2cbd2136668fec956ef3b034ac1a29d6
Author: Dmitry Stogov <dmitry@zend.com >
Date: Fri Jul 3 14:16:09 2015 +0300
Print list of live temp variables (at least for internal debugging)
commit 8d1f88fe91e62b4333703c58b871d85b66fb7b70
Author: Dmitry Stogov <dmitry@zend.com >
Date: Fri Jul 3 13:31:56 2015 +0300
Use op_array->T_liveliness to free incomplete ropes and restore error_reporting level on exception
commit 80c1d0d779e6e9609a211907838f3727aa7b301a
Author: Dmitry Stogov <dmitry@zend.com >
Date: Fri Jul 3 11:05:39 2015 +0300
Don't keep empty T_liveliness
commit 501ae8aaac0a92368b50e9f342b04d7334d263f6
Author: Dmitry Stogov <dmitry@zend.com >
Date: Thu Jul 2 22:31:48 2015 +0300
Reverted changes to Zend/zend_arena.h.
Reuse CG(arena) instead of creating a new one.
commit a4fce36907147df5ac1af78b44135e3f07c1844c
Merge: 6ff7246 fd0fcce
Author: Dmitry Stogov <dmitry@zend.com >
Date: Thu Jul 2 22:01:42 2015 +0300
Merge branch 'temporary_cleaning' of github.com:bwoebi/php-src into temporary_cleaning
* 'temporary_cleaning' of github.com:bwoebi/php-src:
Fix remaining issues with compacted temporaries
Fix regression from last commit (+1 ?!)
Fix off-by-one (opcache may remove last ZEND_RETURN)
Speed algorithm up, more fail safety when reusing temporaries
Dumb bug in opcode.c (forgot to update Ts[i])
Fix opcache support
Exempt ROPE temporaries from freeing
Hmm, we need temporary info for all the opcodes
Add opcache support for cleaning in optimization step (Opcache seems to have a few unrelated issues which blow up together with that patch)
Add proper temporary cleaning upon frame abortion
Fix arena on small sizes (size < sizeof(zend_arena))
commit fd0fcce81177717f3a05ac87192b5ed05eead0a1
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Thu Jul 2 20:00:33 2015 +0200
Fix remaining issues with compacted temporaries
commit 427dc58bbb93022d1c2077f874afcdb9dd82d5c5
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Wed Jul 1 22:49:12 2015 +0200
Fix regression from last commit (+1 ?!)
commit 1adcf56a6e9f09e7ad06331d4d6280035b17a7d1
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Wed Jul 1 22:17:07 2015 +0200
Fix off-by-one (opcache may remove last ZEND_RETURN)
commit 25b231b7841fa4078c65976cabdd843845a6cbe6
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Wed Jul 1 20:59:24 2015 +0200
Speed algorithm up, more fail safety when reusing temporaries
commit 22d9d05350e35d180018d0bccbad6f173cb4797d
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Wed Jul 1 16:48:46 2015 +0200
Dumb bug in opcode.c (forgot to update Ts[i])
commit 6538269bfa5bcbad34fc2f051b0fd5e4ebf2ff00
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Wed Jul 1 13:05:52 2015 +0200
Fix opcache support
commit 333a7c4a8813a45dc79ce55b8e9c0a0b98671e13
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Sat Jun 27 22:40:21 2015 +0200
Exempt ROPE temporaries from freeing
commit 02585f77085427baea48448c134a96c542af3337
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Fri Jun 26 16:20:55 2015 +0200
Hmm, we need temporary info for all the opcodes
commit cbcaedbd78199897e5cacffd700b706f21590abf
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Fri Jun 26 01:04:09 2015 +0200
Add opcache support for cleaning in optimization step
(Opcache seems to have a few unrelated issues which blow up together with that patch)
commit fef649f4067823a1f96f85340cf715e5877310bc
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Fri Jun 26 01:02:27 2015 +0200
Add proper temporary cleaning upon frame abortion
commit 1cec2e7271b789b84601f8acf385950af1bb0c7c
Author: Bob Weinand <bobwei9@hotmail.com >
Date: Thu Jun 25 23:33:21 2015 +0200
Fix arena on small sizes (size < sizeof(zend_arena))
2015-07-07 15:41:12 +03:00
Bob Weinand
a919fe8606
Do not display EXT_TYPE_UNUSED in phpdbg opcodes
2015-07-06 18:05:03 +02:00
Dmitry Stogov
001ecd3198
Simplify TMP var number decoding (without HashTable)
2015-07-06 17:56:48 +03:00
Dmitry Stogov
1a9f4f90da
Fixed JMPZNZ instruction printing
2015-07-06 16:30:50 +03:00
Anatol Belski
3d7343f609
integrate the applink shim in the other bins
2015-07-03 07:11:14 +02: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
b34f9bc2e9
Fix assertion failure with Z_REFCOUNT() in info constants
2015-06-29 03:43:51 +02:00
Bob Weinand
088f589f7d
Make backtraces *much* more readable
2015-06-29 02:51:10 +02:00
Bob Weinand
f500471e8c
Add yield from to frame leaving instructions
2015-06-29 02:05:33 +02:00
Bob Weinand
5e16722309
Show exception source in phpdbg
2015-06-29 01:41:04 +02:00
Bob Weinand
9f77c44d47
Remove now unneeded step option (-s)
2015-06-29 01:00:12 +02:00
Bob Weinand
f42cdf83b0
Fix paths issue when fetching .phpdbginit under Windows
2015-06-25 00:36:01 +02:00
Bob Weinand
ab90e55b9e
Passing a zend_string * to %s is a bad idea
2015-06-24 15:29:26 +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
28756e99be
Fix issue with zend_execute_ex replaced by execute_ex upon icall
2015-06-16 23:37:39 +02:00
Bob Weinand
8c4807fe7a
Fix infinite loop when running phpdbg via -r(r)
2015-06-16 23:37:39 +02:00
Bob Weinand
b97944c6d1
Add ZEND_ASSERT_CHECK to phpdbg opcode jump list
2015-06-14 04:45:56 +02:00
Xinchen Hui
d2649af6b9
Fixed Bug #69733 (PHP fails to build with --enable-phpdbg-debug)
2015-05-31 13:35:01 +08:00
Xinchen Hui
151e52f6eb
Fixed the fix in f68dc94aa7
2015-05-27 16:47:15 +08:00
Reeze Xia
f68dc94aa7
Remove useless cast
2015-05-27 10:45:19 +08:00
Bob Weinand
5bec1490f9
Fix phpdbg class fetch / method opcodes
2015-05-27 00:55:26 +02:00
Reeze Xia
ca31711625
Fixed phpdbg exit unexpected after signal SIGCONT on OS X
2015-05-26 22:04:50 +08: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
Stanislav Malyshev
2660fb96aa
Merge branch 'pull-request/1277'
...
* pull-request/1277:
fix typos
2015-05-16 14:20:41 -07:00
Dmitry Stogov
0604df8a82
Fixed phpdbg build
2015-05-14 16:47:22 +03:00
olshevskiy87
8bdec7a248
fix typos
...
Signed-off-by: olshevskiy87 <olshevskiy87@bk.ru >
2015-05-13 22:28:35 +04:00
Bob Weinand
49bd5eaabf
Print should be in *current* context (stack)
2015-04-25 19:15:08 +02:00
Bob Weinand
a9a6799964
Add line_start/end info to main op_array
2015-04-25 19:10:58 +02:00
Xinchen Hui
af3c72bc80
fixed warning & test pushing
2015-04-22 10:53:49 +08:00
Bob Weinand
0ec3a6ff33
FAST_RET opcode also returns
2015-04-22 01:11:59 +02:00
Bob Weinand
e09a0bfc9e
Also consider specific catches when checking for uncaught
2015-04-22 01:08:08 +02:00
Bob Weinand
73d31d44e8
Break on uncaught exceptions in current frame in phpdbg
2015-04-22 01:08:07 +02:00
Bob Weinand
76b1d755fc
Fix first frame in backtrace
2015-04-21 22:20:11 +02:00
Bob Weinand
05f896eefd
Add next command docs
2015-04-21 19:42:23 +02:00
Xinchen Hui
e121ccaaad
Fixed warnings and folder marks mess
2015-04-21 21:53:12 +08:00
Bob Weinand
f83ee6a05d
Add next command / Fix recursion/exceptions with u/F/L
2015-04-21 12:31:57 +02:00
Bob Weinand
54018ada7d
Adapt test for new format
2015-04-20 21:05:10 +02:00
Bob Weinand
5f10e84208
Shrink phpdbg opcode dump output a bit more
2015-04-20 20:59:13 +02:00
Bob Weinand
61ba269f4c
Show full stacktraces for exceptions in phpdbg
2015-04-20 14:12:47 +02:00
Bob Weinand
890212866d
Fix uncaught exception in phpdbg
2015-04-20 13:55:09 +02:00
Bob Weinand
5f35e571fa
show opcode count
2015-04-20 13:04:56 +02:00
Bob Weinand
1a249bd674
Shorten opline dump lines and show literals
2015-04-20 12:23:11 +02:00
Bob Weinand
31e98386db
Provide method to access opcodes via command line argument
2015-04-19 21:54:09 +02:00
Bob Weinand
740c86bcbd
Stabilize watchpoints
2015-04-19 12:53:29 +02:00
Bob Weinand
278adf99de
Fix parent command offsets
2015-03-21 23:19:12 +01:00
Bob Weinand
ea643307db
Put info to info and made print always output opcodes
2015-03-21 23:16:53 +01:00