Commit graph

101 commits

Author SHA1 Message Date
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
Veres Lajos
06fdf359e3 typo fixes - https://github.com/vlajos/misspell_fixer 2014-11-23 14:52:47 -08: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