Commit Graph

514 Commits

Author SHA1 Message Date
Xinchen Hui
f56b89b0af Fixed opcodes printing.
-p"function"
-p"class::"
-p"class::method"
2015-07-22 19:13:26 +08:00
Bob Weinand
262d32634b Undefined values may lead to big allocation 2015-07-22 00:02:59 +02:00
Nikita Popov
7c661bd304 Remove FAST_CALL_FROM_CATCH
This was generated for a return from a try block with both a catch
and a finally. However at this point no exception can be active,
because it either didn't exist in the first place or was explicitly
discarded using DISCARD_EXCEPTION.
2015-07-21 21:13:34 +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
7aa2be060c Fix readline/libedit build 2015-07-20 22:45:05 +02:00
Bob Weinand
f0b50963e5 Do not use readline when not having a tty
This is important for e.g. run-tests.php
2015-07-20 21:57:00 +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
Bob Weinand
75a3de0cd8 Fix misbehaviors with uncaught exceptions and finally or eval 2015-07-20 18:00:43 +02:00
Bob Weinand
4dc0546a59 Preserve argv consistency over multiple runs 2015-07-20 18:00:43 +02:00
Bob Weinand
acba295088 Fix info vars with refs/indirects 2015-07-20 18:00:43 +02:00
Bob Weinand
22c7c1189a Fix function/method breakpoint case sensitivity issues 2015-07-20 18:00:43 +02:00
Bob Weinand
50e76d951e Always only halt upon first non-recv opcode in a function 2015-07-20 18:00:42 +02:00
Bob Weinand
1f9bba68a9 Make opcode breakpoints work again 2015-07-20 18:00:42 +02:00
Bob Weinand
e3cd0709db Do never clean stdin buffer away 2015-07-20 18:00:42 +02:00
Bob Weinand
dee629c92d Fix use of already freed hashtable (wrong variable) 2015-07-20 18:00:42 +02:00
Bob Weinand
699e641e93 Do not show "Script ended normally" upon forced rerun 2015-07-20 18:00:42 +02:00
Bob Weinand
6435eb8019 Do not display compilation success / normal script end in -rr mode 2015-07-20 18:00:42 +02:00
Nikita Popov
e97cb1427f Remove dead goto label in phpdbg_cmd.c 2015-07-17 16:53:07 +02:00
Nikita Popov
20e5027293 Switch asprintf to spprintf in phpdbg opcode dump
Also use %td where appropriate, a lot of the values are ptrdiff
based.

Fix a leak in phpdbg_frame.c.
2015-07-17 16:53:07 +02:00
Bob Weinand
c13124cc0f Cleanup exception displaying code in phpdbg 2015-07-16 10:28:59 +02:00
Bob Weinand
d25f3819c7 Fix crash on non-debug for phpdbg_end_oplog() 2015-07-15 22:30:12 +02:00
Bob Weinand
50866846c4 We want to track phpdbg bugs in official bug tracker now; updated URL 2015-07-14 08:31:44 +02:00
Bob Weinand
762c6dd666 Show also runtime-bound functions/classes/methods with phpdbg -p 2015-07-14 06:28:53 +02:00
Bob Weinand
07c425cc29 Init variable to NULL before passing to zpp 2015-07-14 01:56:05 +02:00
Bob Weinand
3f10eddd1d Fix weird asm instruction order with gcc by marking as volatile in phpdbg 2015-07-13 14:12:53 +02:00
Nikita Popov
bd72fdca98 Better opcode dump for finally
* Move opcode decode into opline decode, so we can adjust it for
  extended_value.
* Show extended_value and secondary jump ops for FAST_CALL and
  FAST_RET.
2015-07-10 11:39:54 +02:00
Dmitry Stogov
ef1b588f6a Resolve GOTO at compile time and replace it with sequnce of FREE/FE_FREE and JMP. 2015-07-10 04:44:21 +03:00
Dmitry Stogov
549e8c4959 Squashed commit of the following:
commit 03cf871f1576f08b2348c141b209894a7bf17a86
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:31 2015 +0300

    Revert "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)"

    This reverts commit 5ee8413259.

commit 285a68227ce3d380e821a24fa389aa5239bd3fe1
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:26 2015 +0300

    Revert "Tuned off dubugging of live ranges"

    This reverts commit 404dc93d35.

commit 93d9d11157301ee2ec99afb6f5744b126d17f637
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:17 2015 +0300

    Revert "Remove loop_var_stack"

    This reverts commit b3a4c05071.

commit ede68ebbc284aec79e3f719f2c8dbf9da6907752
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:12 2015 +0300

    Revert "ZEND_SEPARATE reuses temporaries"

    This reverts commit 1852f538b9.

commit 96d8995dc1f517fb01b481736273767509f76c47
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:10 2015 +0300

    Revert "Add assertion in liveliness computation"

    This reverts commit ed14019e8c.

commit 0649d7bfef152e6cc8e67b922534e9946c634d9c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:07 2015 +0300

    Revert "Fixed invalid live-range detection"

    This reverts commit 54f367ee2a.

commit dfe8f3851f6b04595eb089323e3492115a59363e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:04 2015 +0300

    Revert "Add test guaranteeing that loop vars are only freed after potential return type exceptions"

    This reverts commit f5db5a558d.

commit 52a94aad6f48a199358cc07f7e4f56bb73050504
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:01 2015 +0300

    Revert "Fixed exception habdling on "return" statement."

    This reverts commit 17c5315bdf.

commit 6e90ad7331901711e89c2ceb2bcab5023e5cee60
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:44:58 2015 +0300

    Revert "Fix too early terminated temporary range with break/cont/goto"

    This reverts commit cc876c04b4.

commit 7b766e44b1970e4031f75109c302c07ead2c05cb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:44:55 2015 +0300

    Revert "Fixed exception catching on break/continue"

    This reverts commit 8c3f701eeb.
2015-07-10 03:31:52 +03: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 38e22106d4
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 15:12:19 2015 +0300

    Added NEWS entry

commit 0a355935bf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 15:06:32 2015 +0300

    Inline function, to eliminate repeatable checks

commit d937584f3a
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 0341626ea9
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 74869fa673
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 11:45:34 2015 +0300

    Fixed wrong GOTO resolution

commit dec35ded32
Author: Xinchen Hui <laruence@gmail.com>
Date:   Tue Jul 7 15:58:49 2015 +0800

    Fixed checkpoint get

commit b0f419540a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 10:47:11 2015 +0300

    Fixed crash of invalid pointer derefer (laruence)

commit 7a428d98ca
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 10:35:47 2015 +0300

    Fixed identation

commit 9c3a4dce9c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 10:33:52 2015 +0300

    Fixed invalid size

commit 653abc670b
Author: Xinchen Hui <laruence@gmail.com>
Date:   Tue Jul 7 11:29:14 2015 +0800

    Fixed crash of invalid pointer derefer

commit e04500ceda
Author: Xinchen Hui <laruence@gmail.com>
Date:   Tue Jul 7 11:28:26 2015 +0800

    cleanup

commit 34183e1687
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:49:46 2015 +0300

    op_array->T_liveliness compression

commit 2f6ad84579
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:44:44 2015 +0300

    White spaces

commit be83f115a3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:42:26 2015 +0300

    Identation

commit 1f5084b990
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 91b620d684
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 7052e56979
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 ae72b0dc67
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 a81c4bb8c6
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 9a16810f7a
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 bbfbe470c8
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 0bda4abea7
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 521ad9df98
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 4398dab82f
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 739656f83f
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 3df462a2bc
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 883b73c56e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 13:28:45 2015 +0300

    Removed op_array->brk_cont_array

commit ae5e58b598
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 b4223ca627
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Mon Jul 6 04:07:07 2015 +0200

    Fix bugs / cleanup fixes

commit ea33189d22
Author: Xinchen Hui <laruence@gmail.com>
Date:   Sun Jul 5 20:58:38 2015 +0800

    Removed useless TsTop

commit 1dbb007e4a
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 3a8af24529
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 ba721efa2c
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 8d1f88fe91
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 80c1d0d779
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 3 11:05:39 2015 +0300

    Don't keep empty T_liveliness

commit 501ae8aaac
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 a4fce36907
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 fd0fcce811
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Thu Jul 2 20:00:33 2015 +0200

    Fix remaining issues with compacted temporaries

commit 427dc58bbb
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 22:49:12 2015 +0200

    Fix regression from last commit (+1 ?!)

commit 1adcf56a6e
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 25b231b784
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 22d9d05350
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 6538269bfa
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 13:05:52 2015 +0200

    Fix opcache support

commit 333a7c4a88
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Sat Jun 27 22:40:21 2015 +0200

    Exempt ROPE temporaries from freeing

commit 02585f7708
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 cbcaedbd78
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 fef649f406
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Fri Jun 26 01:02:27 2015 +0200

    Add proper temporary cleaning upon frame abortion

commit 1cec2e7271
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
Bob Weinand
2ed0085833 Add phpdbg -h for help 2015-03-21 23:16:53 +01:00
Bob Weinand
97887e3716 Stabilize (simple) watchpoints with IS_INDIRECT/IS_REFERENCE situations 2015-03-21 23:16:53 +01:00
Anatol Belski
49fdb8a91d fix include 2015-03-19 22:33:14 +01:00
Anatol Belski
d3ab945d9c using zend_stat_t 2015-03-19 22:33:13 +01:00
Nikita Popov
e39db5773d Fix phpdbg 2015-03-17 22:59:11 +01:00
Xinchen Hui
50e4033475 Let phpdbg refused to be compiled with no CALL zend vm kind 2015-03-16 17:10:26 +08:00
Lior Kaplan
d79fe57216 Fix copyright years 2015-03-13 11:27:40 +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
Dmitry Stogov
ae26a51f0f Added API function to call VM opcode handler in a portable way 2015-03-13 11:29:43 +03:00
Wei Dai
3f3e34040a Fixed compile warnings 2015-03-09 21:25:43 +08:00
Reeze Xia
2a2c74997d Now opened_path is a zend_string 2015-03-09 16:12:53 +08:00
Xinchen Hui
96f7a33df6 Temorary fix for phpdbg segfault while use zend_mm_set_custom_handlers 2015-03-09 11:19:05 +08:00
Dmitry Stogov
c2c78dc963 Added specialized versions of DO_FCALL handler:
DO_ICALL - for internal functions
  DO_UCALL - for user functions
  DO_FCALL_BY_NAME - plain, most probably user, funcstions (not methods)
2015-02-25 10:37:21 +03:00
Dmitry Stogov
e10e151e9b Merged zend_array and HashTable into the single data structure.
Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write
zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.
2015-02-13 22:20:39 +03: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
Xinchen Hui
3224459232 Merge branch 'master' of https://git.php.net/repository/php-src 2015-02-13 14:29:27 +08:00
Reeze Xia
39203441ed Fixed phpdbg backtrace argument's name missing 2015-02-13 06:22:04 +00:00
Xinchen Hui
da7d94cd73 Merge branch 'PHP-5.6'
Conflicts:
	ext/soap/soap.c
	ext/standard/basic_functions.c
	ext/zlib/zlib.c
2015-02-13 13:28:24 +08:00
Reeze Xia
6c9d75b44d Add missing header inclusion 2015-02-10 22:30:54 +08:00
Joshua Rogers
305c03e757 Use correct deallocator in phpdbg 2015-01-27 09:28:54 +11:00
Xinchen Hui
fc33f52d8c bump year 2015-01-15 23:27:30 +08:00
Xinchen Hui
0579e8278d bump year 2015-01-15 23:26:37 +08:00
Xinchen Hui
2193de0d18 Faster sorting algo 2015-01-14 18:02:41 +08:00
Stanislav Malyshev
b7a7b1a624 trailing whitespace removal 2015-01-10 15:07:38 -08:00
Xinchen Hui
b5b617674e Micro optimaztion (yeah, I know compiler supposed to do that) 2014-12-22 00:10:46 -05:00
Anatol Belski
89f87576a1 various fixes for removing explicit tsrm_ls usage 2014-12-16 12:56:00 +01:00
Anatol Belski
9d70df24f8 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  C89 fixes
  use portable struct stat
  fixed macro va args expansion for vs
2014-12-16 12:22:27 +01:00
Anatol Belski
673003757f C89 fixes 2014-12-16 12:20:59 +01:00
Anatol Belski
bee4a28433 use portable struct stat 2014-12-16 12:20:58 +01:00
Anatol Belski
f1d1185c64 fixed macro va args expansion for vs 2014-12-16 12:20:57 +01:00
Anatol Belski
e112f6a04e second shot on removing TSRMLS_* 2014-12-14 14:07:59 +01: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
Ferenc Kovacs
82979862ba fix phpdbg, _zend_execute_data.scope was removed with 9a36cb1a07 2014-11-28 22:12:02 +01:00
Ferenc Kovacs
aef51819ce typo fix 2014-11-26 18:41:50 +01:00
Ferenc Kovacs
0afc04b913 go back with phpdbg to the state of 5.6.3, reverting the controversial commits(remote debugging/xml protocol) 2014-11-26 18:38:36 +01:00
Veres Lajos
06fdf359e3 typo fixes - https://github.com/vlajos/misspell_fixer 2014-11-23 14:52:47 -08:00
Veres Lajos
4dc994571d typo fixes - https://github.com/vlajos/misspell_fixer
Conflicts:
	ext/ftp/ftp.h
	ext/pcre/pcrelib/pcre_printint.c
	ext/pcre/pcrelib/sljit/sljitLir.c
	ext/pcre/pcrelib/sljit/sljitLir.h
	ext/pcre/pcrelib/sljit/sljitNativeARM_32.c
	ext/pcre/pcrelib/sljit/sljitNativeTILEGX_64.c
	ext/pgsql/pgsql.c
	ext/phar/func_interceptors.c
	ext/soap/soap.c
	ext/standard/image.c
2014-11-23 14:33:43 -08:00
Bob Weinand
113f1fd6d5 Temporarily disable wait/xml protocol... 2014-10-30 23:09:57 +01:00
Ferenc Kovacs
12fba83c48 Merge branch 'PHP-5.6'
* PHP-5.6:
  don't try to send in the test results until we restored qa.php.net
  Fix uninitialized value...
  Don't treat warnings as failures in the junit output
2014-10-30 18:19:48 +01:00
Bob Weinand
b9d1dc329f Merge phpdbg into PHP-5.6 2014-10-30 13:17:58 +01:00
Anatol Belski
d77ce31763 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix output globals importing
  export output globals
  use portable strndup implementation
  unix sockets aren't available on windows
  dll export APIs needed by phpdbg
  fix sapi/phpdbg/config.w32
  Don't treat warnings as failures in the junit output
2014-10-29 20:04:56 +01:00
Anatol Belski
fc904569ea fix output globals importing 2014-10-29 20:03:28 +01:00
Anatol Belski
4b8f411d31 use portable strndup implementation 2014-10-29 19:49:20 +01:00
Anatol Belski
f842b8f4be unix sockets aren't available on windows 2014-10-29 19:39:46 +01:00
Anatol Belski
79a4339f1b fix sapi/phpdbg/config.w32 2014-10-29 19:28:21 +01:00
Bob Weinand
3e9138e6b5 Merge remote-tracking branch 'origin/PHP-5.6' 2014-10-29 11:44:46 +01:00
Bob Weinand
68b5dd2ba9 Merge phpdbg into PHP-5.6 2014-10-29 11:43:01 +01:00
Remi Collet
770473a648 Merge branch 'PHP-5.6'
* PHP-5.6:
  cleanup uneeded json
2014-10-29 07:26:58 +01:00
Remi Collet
7dd871438f cleanup uneeded json 2014-10-29 07:26:41 +01:00
Bob Weinand
4fec48d1b0 Merge remote-tracking branch 'origin/PHP-5.6' 2014-10-28 23:07:46 +01:00
Bob Weinand
47fd168fed Move missing zend_hash_* macros from phpdbg.h to zend_hash.h 2014-10-28 23:07:36 +01:00
Bob Weinand
a5415456d4 Merge phpdbg into PHP-5.6 2014-10-28 23:06:50 +01:00
Bob Weinand
66aead4b5f Merge remote-tracking branch 'origin/PHP-5.6'
Conflicts:
	sapi/phpdbg/phpdbg_wait.c
	sapi/phpdbg/phpdbg_webdata_transfer.c
2014-10-28 23:00:10 +01:00
Bob Weinand
be5d389768 Merge phpdbg into PHP-5.6 2014-10-28 22:44:29 +01:00
Bob Weinand
6150d9342c Merge ../phpdbg into PHP-5.6
Conflicts:
	sapi/phpdbg/config.m4
2014-10-28 22:15:05 +01:00
Remi Collet
9afb17868c Merge branch 'PHP-5.6'
* PHP-5.6:
  fix phpdbg build when src tree != build tree
2014-10-28 19:13:27 +01:00
Remi Collet
9028846c63 fix phpdbg build when src tree != build tree 2014-10-28 19:12:41 +01:00
Bob Weinand
ec53351447 Merge remote-tracking branch 'origin/PHP-5.6'
Conflicts:
	configure.in
	main/php_version.h
	sapi/phpdbg/phpdbg.c
	sapi/phpdbg/phpdbg_bp.c
	sapi/phpdbg/phpdbg_prompt.c
2014-10-28 17:40:27 +01:00
Bob Weinand
297baa0c18 Remove the ugly hack via a temp file to store breakpoints 2014-10-28 17:25:48 +01:00
Bob Weinand
fd8a70b1ee Typo (notfoundc => notfound) 2014-10-28 17:25:46 +01:00
Bob Weinand
76bd799eb7 Fix quitting on a second run 2014-10-28 17:25:46 +01:00
Bob Weinand
c34fd92466 Fix wrong exec length on relative paths 2014-10-28 17:25:45 +01:00
Bob Weinand
cc3587f4a3 Fix possibly unclosed <stream> tags 2014-10-28 17:25:45 +01:00
Bob Weinand
79c66e7cd2 Fix potential segfaults and unresolved breaks 2014-10-28 17:25:43 +01:00
Bob Weinand
fe5f5d40f2 *Always* clean up and run destructors 2014-10-28 17:25:43 +01:00
Bob Weinand
baba4254ce Merge remote-tracking branch 'origin/PHP-5.6'
Conflicts:
	sapi/phpdbg/phpdbg_bp.c
2014-10-27 14:32:58 +01:00
Bob Weinand
0ede82d466 Merge phpdbg into PHP-5.6 2014-10-27 14:07:26 +01:00
Bob Weinand
a3ae401524 Merge remote-tracking branch 'origin/PHP-5.6' 2014-10-27 13:19:33 +01:00
Bob Weinand
6eab2b9101 Merge phpdbg into PHP-5.6
Conflicts:
	sapi/phpdbg/phpdbg.c
	sapi/phpdbg/phpdbg_prompt.c
2014-10-27 13:11:13 +01: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
50756b515c Do not execute anything after quit or clean command 2014-10-27 00:00:19 +01:00
Bob Weinand
190f4f9f18 Fix last commit, and do not output unnecessary information 2014-10-27 00:00:18 +01:00
Bob Weinand
3ab7734b88 Stabilize execution, always run destructors and extended file breakpoints 2014-10-27 00:00:16 +01:00
Bob Weinand
69bc61de41 Fix nullptr dereference in clean without exec context 2014-10-27 00:00:15 +01:00
krakjoe
41537cdddc remove dodgy param parser, bring userland breakpoint api inline with PHP7 2014-10-27 00:00:14 +01:00
krakjoe
51c1cc4ff5 disable output buffering by default 2014-10-27 00:00:14 +01:00
Bob Weinand
cc70ec1e67 Add question to reset execution in run/exec/clean 2014-10-27 00:00:13 +01:00
krakjoe
8ba69820f7 actually remove this 2014-10-26 07:05:55 +00:00
krakjoe
29446f2f04 disable output buffering, better breakpoint api for userland, remove hand parsing of params 2014-10-26 07:02:15 +00:00
Bob Weinand
044f37a832 Merge remote-tracking branch 'origin/PHP-5.6'
Conflicts:
	sapi/phpdbg/phpdbg.c
	sapi/phpdbg/phpdbg_list.c
2014-10-25 19:09:19 +02:00
Bob Weinand
24babb0194 Merge phpdbg into PHP-5.6 2014-10-25 18:59:48 +02: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
Florian MARGAINE
8eb7e7bf7f Merge branch 'master' into issue-67910
Conflicts:
	README.PARAMETER_PARSING_API
	ext/gmp/tests/001.phpt
2014-09-20 10:09:21 +02:00
Florian MARGAINE
cf0303e782 Replaces php5 with php7, without whitespace changes. 2014-09-20 10:01:44 +02:00
Johannes Schlüter
d0cb715373 s/PHP 5/PHP 7/ 2014-09-19 18:33:14 +02:00
Remi Collet
06f8879017 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix NEWS - #65641 mod_proxy-fcgi is not fixed (still open) - #67606 mod_fastcgi is fixed in ee275e34c8
  Fix NEWS - #65641 mod_proxy-fcgi is not fixed (still open) - #67606 mod_fastcgi is fixed in ee275e34c8
  Fix bug #111 (compile error without ZEND_SIGNALS)
  Don't run travis against master (phpng)
  Update README.md
2014-09-15 08:28:22 +02:00
Bob Weinand
0cb365fb98 Merge phpdbg into PHP-5.6 2014-09-15 05:48:09 +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
3234480827 first show to make 's' work with size_t 2014-08-27 20:49:31 +02:00
Nikita Popov
59848e3fbb Remove ZEND_ACC_INTERACTIVE and CG(interactive)
As far as I can discern these are leftovers of the interactive
shell implementation that was used before PHP 5.4. Now the readline
ext makes use of normal eval calls for this.

So, dropping these until there is evidence to the contrary, as they
currently wouldn't work anyway.
2014-08-25 23:46:43 +02:00
Anatol Belski
6f9f0bf205 master renames phase 2 2014-08-25 19:28:33 +02:00
Anatol Belski
c3e3c98ec6 master renames phase 1 2014-08-25 19:24:55 +02:00
Anatol Belski
63d3f0b844 basic macro replacements, all at once 2014-08-19 08:07:31 +02:00
Veres Lajos
1e3452992f typofixes 2014-08-17 16:00:39 +03:00
Bob Weinand
17658fa7b8 Merge sapi/phpdbg into PHP-5.6 2014-07-06 01:17:50 +02:00
Bob Weinand
1dd3bab1df Merge sapi/phpdbg into PHP-5.6 2014-06-29 12:49:10 +02:00
Bob Weinand
09b2510df6 Merge sapi/phpdbg into PHP-5.6 2014-06-25 13:56:45 +02:00
Remi Collet
0da5d94a6c Better fix for phpdbg + libedit
- fix include
- disable coloured prompt only with libedit
2014-06-23 10:21:19 +02:00
Remi Collet
0febafcfbe Fix https://github.com/krakjoe/phpdbg/issues/91
Enable edit feature when build with libedit.

Notice: coloured prompt only enable with READLINE
2014-06-23 10:21:19 +02:00
Lior Kaplan
b538816b0b Update copyright year to 2014 2014-06-16 23:34:50 +03:00
Bob Weinand
f677889a9a Merge sapi/phpdbg into PHP-5.6 2014-06-15 15:47:14 +02:00
Bob Weinand
6adc30028c Merge sapi/phpdbg into PHP-5.6 2014-06-09 10:06:29 +02:00
Bob Weinand
848df6fcbe Merge sapi/phpdbg into PHP-5.6 2014-06-04 02:18:39 +02:00
Bob Weinand
466cd2aa7d Merge sapi/phpdbg into PHP-5.6 2014-06-03 21:15:02 +00:00
Bob Weinand
003ba74d99 Merge sapi/phpdbg into PHP-5.6 2014-05-03 11:40:25 +02:00
Bob Weinand
3ad8616aff Added stdion/stdout/stderr constsnts and their php:// wrappers
Fixes issue #85
2014-05-01 11:43:46 +02:00
Anatol Belski
3b6bf6eec8 Merge remote-tracking branch 'phpdbg/master' into PHP-5.6
* phpdbg/master:
  C89 compat
2014-04-27 18:01:26 +02:00
Anatol Belski
a10dc3aa4f Merge remote-tracking branch 'phpdbg/master' into PHP-5.6
* phpdbg/master:
  removed /EHa as __try/__catch syntax is used anyway
  fix ZEND_DEBUG usage
  fix CFLAGS_PHPDBGS and some formatting
2014-04-26 00:15:32 +02:00
Anatol Belski
cd2641973c Merge remote-tracking branch 'phpdbg/master' into PHP-5.6 2014-04-24 11:05:52 +02:00
Bob Weinand
708af5fd8e Merge sapi/phpdbg into PHP-5.6 2014-04-21 23:30:08 +02:00
Mateusz Kocielski
6c259625c4 Fixed wrong indentation 2014-03-18 10:49:28 +01:00
Mateusz Kocielski
ccae70b765 Fix phpdbg build on FreeBSD
Added missing netinet/in.h header.
2014-03-18 09:51:39 +01:00
Veres Lajos
a7ec000f35 a few typofixes 2014-02-14 17:16:17 +02:00
krakjoe
148d7cc103 windows 2014-02-02 15:14:25 +00:00
krakjoe
407d761d09 clean symbols 2014-02-02 15:10:17 +00:00
krakjoe
e8519bc207 another patch from upstream 2014-02-02 14:58:39 +00:00
krakjoe
6a6bec44ad woops 2014-02-02 14:50:32 +00:00
krakjoe
9e84124e2d better use of tmpnam/mkstemp 2014-02-02 14:42:31 +00:00
krakjoe
4a96a75c7d update version 2014-02-02 14:04:47 +00:00
krakjoe
a58c74f1c7 remove use of zend directly, avoid leaks/bugs in modules etc 2014-02-02 13:43:43 +00:00
Anatol Belski
12c1cfbf8f fix C89 compat 2014-01-19 02:05:10 +01: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
krakjoe
c8dedaf2dc update version output 2013-12-27 18:03:11 +00:00
Anatol Belski
1e411ebdf5 fix c89 compat 2013-12-25 23:43:20 +01:00
Anatol Belski
00c7b973bb fixed incompatible pointer in phpdbg on win64 2013-12-24 21:08:33 +01:00
Bob Weinand
ddf733fa69 Fixed #18
Errors not displaying in some configurations
2013-12-24 13:19:18 +01:00
Bob Weinand
ca882858f4 Fixed credits in phpdbg.* files 2013-12-24 00:34:23 +01:00
Bob Weinand
0577ccad28 Added breaking upon fatal-ish error 2013-12-24 00:30:37 +01:00
Joe Watkins
617aefbcda credits file for phpdbg 2013-12-24 00:16:47 +01:00
Bob Weinand
cee72c13d7 Merge branch 'master' of sapi/phpdbg into PHP-5.6
Including phpdbg.
2013-12-20 14:27:51 +01:00