Commit graph

51 commits

Author SHA1 Message Date
Bob Weinand
601ab6e9d0 Fix searching for catch blocks
Since PHP-7.1 catch blocks are addressed with relative byte difference between two catch blocks as opposed to absolute opcode number
2016-10-16 12:34:10 +02:00
Bob Weinand
f40c03168e Merge remote-tracking branch 'origin/PHP-7.0' into PHP-7.1
(cherry picked from commit 457e686262)
2016-10-14 01:54:18 +02:00
Nikita Popov
6baaccc9b6 Merge branch 'PHP-7.0' into PHP-7.1
(cherry picked from commit 9669ec707a)
2016-10-14 01:53:25 +02:00
Bob Weinand
11e7447e04 Merge branch 'PHP-7.0' into PHP-7.1
(cherry picked from commit 37ae5f3931)
2016-10-14 01:48:03 +02:00
Bob Weinand
f58cf8b24d Merge branch 'PHP-7.0' into PHP-7.1 2016-10-02 12:46:22 +01:00
Bob Weinand
417a8ef6b4 Fix run command args passing when inmidst execution 2016-10-02 12:45:20 +01:00
Anatol Belski
8f256bebef Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  update NEWS
  phpdbg next command must stop when leaving function
2016-09-23 11:25:33 +02:00
Bob Weinand
cf35dae6e2 phpdbg next command must stop when leaving function 2016-09-23 03:29:37 +02:00
Bob Weinand
517bbb14fd Disable optimizer when it conflicts with phpdbg tests 2016-07-13 10:22:00 +02:00
Bob Weinand
b00376884e Rewrite watchpoints to be much more stable
This mainly involves a separate abstraction layer for elements (e.g. $a->b) and watchpoints (on pointer of the Bucket for example).
Also better comparison handling (value backup vs. page dumps).

It is not yet finished (there are sometimes false positives announced and names not yet perfect), but the functionality is working and not crashing as far as I have tested.
Future scope is also relative watchpoints, e.g. "w $this->val expression()" which does not have the symbol tables as basis, but the value (in this example: return value of expression()) as basis.
2016-07-11 23:58:20 +02:00
Dmitry Stogov
d898344663 Inline simple constant functions 2016-06-30 17:04:25 +03:00
Dmitry Stogov
2ae21abdf7 Fixed bug #72213 (Finally leaks on nested exceptions).
Squashed commit of the following:

commit 8461b0407f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed May 25 00:34:42 2016 +0300

    Rmoved zend_try_catch_element.parent and walk through op_array.try_catch_array backward from the current try_cacth_offset.

commit 0c71e24964
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed May 25 00:04:53 2016 +0300

    Move SAVE_OPLINE() to its original place

commit 111432a4df
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed May 25 00:01:10 2016 +0300

    Separate the common part of ZEND_HANDLE_EXCEPTION and FAST_RET into zend_dispatch_try_catch_finally_helper.

commit 4f21c06c2e
Author: Nikita Popov <nikic@php.net>
Date:   Tue May 24 14:55:27 2016 +0200

    Improve finally fix

commit da5c727499
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue May 24 10:36:08 2016 +0300

    Fixed Zend/tests/try/bug70228_3.phpt and Zend/tests/try/bug70228_4.phpt

commit cfcedf2fb4
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue May 24 02:59:27 2016 +0300

    Added test

commit 4c6aa93d43
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue May 24 00:38:20 2016 +0300

    Added tests

commit 8a8f4704b0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon May 23 23:27:34 2016 +0300

    Fixed bug #72213 (Finally leaks on nested exceptions)
2016-05-25 01:25:12 +03:00
Dmitry Stogov
be071702b3 Fixed bug #72188 (Nested try/finally blocks losing return value) 2016-05-13 14:38:43 +03:00
Nikita Popov
8e5b139732 Evaluate arguments of new for classes without ctor
ML: http://markmail.org/message/4b3mk7jid64zvz34
2016-03-25 19:11:37 +01:00
Nikita Popov
af255c67eb Make op1/op2 decoding in phpdbg more complete 2016-01-21 21:58:23 +01:00
Xinchen Hui
41dcdb1d73 Merge branch 'PHP-7.0' 2016-01-01 13:46:44 +08:00
Xinchen Hui
05defb4f56 Fixed test after fix lineno of finally 2016-01-01 13:46:19 +08:00
Xinchen Hui
f43baba1f9 Fixed test by disable opcache 2015-12-10 21:46:37 +08:00
Xinchen Hui
e80791e161 Fixed test (opcache denpends) 2015-12-09 07:52:03 -08:00
Dmitry Stogov
404e003cf1 Delete empty live-ranges 2015-12-09 05:16:30 +03:00
Xinchen Hui
58168b48e2 Fixed tests (new opcache will optimize serias echo IS_CONST into one) 2015-11-22 06:49:28 -08:00
Dmitry Stogov
86a96f2cf1 Changed meaning of "op2" for ZEND_FREE, ZEND_FE_FREE, ZEND_FAST_CALL, ZEND_FAST_RET.
Previously it was an instruction number.
Now it's an index in op_array->try_cacth_array[].
2015-11-10 19:13:54 +03:00
Bob Weinand
6efbfc4caf phpdbg test info_001.phpt was dependent on auto_globals_jit 2015-10-13 14:40:42 +02:00
Bob Weinand
0c03ba0ad0 Fixed bug #70614 (incorrect exit code in -rr mode with Exceptions) 2015-10-02 12:37:40 +02:00
Bob Weinand
8eadde40cd Fix leave and finish 2015-09-19 14:57:36 +02:00
Bob Weinand
adcabcc125 Add # delimiter to phpdbg commands 2015-09-17 22:53:10 +02:00
Bob Weinand
c1e9bd27fe Fix zend_vm_call_opcode_handler (e.g. Generators throwing exceptions) with IP/FP registers 2015-08-26 00:25:25 +01:00
Bob Weinand
e9f21a3388 Fix phpdbg_break_next() and add test 2015-08-23 11:58:45 +01:00
Bob Weinand
af0d6256d5 Fix [valid] valgrind warnings, add first watchpoints test 2015-07-15 14:22:51 +00:00
Bob Weinand
34596a3ddd Fix breaking on HANDLE_EXCEPTION (opline_before_exception) 2015-08-03 17:15:40 +02:00
Dmitry Stogov
d28070870c Fixed tests (system dependent numbers are replaced with %d) 2015-08-03 09:53:13 +03:00
Bob Weinand
624bedcadc Fix tests 2015-07-31 18:22:04 +02:00
Bob Weinand
9a312687f0 Fix test execution result with opcache 2015-07-28 02:14:49 +02:00
Bob Weinand
c0e0f1414e Fix phpdbg stepping on CATCH with exception 2015-07-28 00:10:42 +02:00
Bob Weinand
9e8fec1ef7 Fix leaks from bug #70138 2015-07-26 21:49:18 +02:00
Bob Weinand
686b9039a6 Fix phpdbg test failure and crash with opcache 2015-07-23 01:03:03 +02:00
Bob Weinand
264bed40a7 Fix opcode tests which may generate FCALL instead of ICALL 2015-07-22 13:49:28 +02:00
Bob Weinand
b8534daa31 Exclude opcache from a few opcode related tests 2015-07-21 00:06:34 +02:00
Bob Weinand
80bb4fd45a Fix various Windows issues (e.g. dir separators) 2015-07-20 23:26:45 +02:00
Bob Weinand
6aadeba213 Add show_unexecuted option to phpdbg_end_oplog() 2015-07-20 20:41:07 +02:00
Bob Weinand
378a05f0de Move phpdbg tests to .phpt mechanism
Also add a few more in-depth tests related to $argv, breakpoints and uncaught exceptions
2015-07-20 18:00:43 +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
Bob Weinand
54018ada7d Adapt test for new format 2015-04-20 21:05:10 +02:00
Reeze Xia
46d9572945 Fixed phpdbg zend_bailout error when compiling syntax error code
@krakjoe if there is something wrong, tell me plz
2015-02-13 17:47:47 +08:00
Bob Weinand
09da8952d0 Merge remote-tracking branch 'origin/PHP-5.6'
Conflicts:
	sapi/phpdbg/phpdbg.c
	sapi/phpdbg/phpdbg_bp.c
	sapi/phpdbg/phpdbg_list.c
	sapi/phpdbg/phpdbg_parser.c
	sapi/phpdbg/phpdbg_parser.h
	sapi/phpdbg/phpdbg_prompt.c
2014-10-27 00:34:56 +01:00
Bob Weinand
190f4f9f18 Fix last commit, and do not output unnecessary information 2014-10-27 00:00:18 +01: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
Bob Weinand
f677889a9a Merge sapi/phpdbg into PHP-5.6 2014-06-15 15:47:14 +02:00
Bob Weinand
848df6fcbe Merge sapi/phpdbg into PHP-5.6 2014-06-04 02:18:39 +02:00