Commit graph

257 commits

Author SHA1 Message Date
Anatol Belski
cb25136f4e fix macros in the 5 basic extensions 2014-08-16 11:37:14 +02:00
Dmitry Stogov
b7715c7e8a Refactored parameter passing mechanism.
In PHP-5.6 and below each argument passed to user function was copies on VM stack twice.
Now we always have ZEND_INIT_FCALL (or simular) opcode that pushes "call frame" on top of VM stack.
"Call frame" is actually the same zend_execute_data structure.
All the following ZEND_SEND instructions push arguments on top of the stack in a way that they directly comes into corresponding CV variables of the called frame. Extra arguments are copied at the end of stack frame (after all CV and TMP variables) on function enterance.

There are two minor incompatibilities:
1) It's not allowed to decalre functions redefining arguments e.g. "function foo($a,$a) {}".
2) func_get_arg() and func_get args() return the current value of argument and not the original value that was sent.
2014-06-30 15:43:45 +04:00
Xinchen Hui
c2082ece52 Fixed apply_func_t (they should be broken before) 2014-05-25 18:32:35 +08:00
Dmitry Stogov
76cc99fe60 Refactored ZVAL flags usage to simplify various checks (e.g. Z_REFCOUNTED(), candidate for GC, etc) 2014-04-03 15:26:23 +04:00
Dmitry Stogov
232f3e915c Fixed various CLI problems 2014-03-14 18:00:42 +04:00
Xinchen Hui
fb825a95d0 Fixed module name printing 2014-02-28 13:02:28 +08:00
Dmitry Stogov
a52817eb02 Use better data structures (incomplete) 2014-02-14 14:11:52 +04:00
Dmitry Stogov
f4cfaf36e2 Use better data structures (incomplete) 2014-02-10 10:04:30 +04:00
Xinchen Hui
0f53e37494 Merge branch 'PHP-5.6' 2014-01-03 11:09:07 +08:00
Xinchen Hui
c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Kalle Sommer Nielsen
ed5a8d510f Pass the TSRMLS parameters to the sapi flush hook, this shaves off a few TSRMLS_FETCH() calls in our various SAPIs 2013-12-18 09:06:39 +01:00
Kalle Sommer Nielsen
bd58146ad6 Kill another TSRMLS_FETCH() in the zend extension loading code 2013-12-18 07:59:47 +01:00
Kalle Sommer Nielsen
1433dec2d0 Kill another TSRMLS_FETCH() in zend_indent() 2013-12-12 22:09:38 +01:00
Stanislav Malyshev
9cc9d32e6a Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Add built-in web server to invocation list
  Terminology: change embedded web server to built-in web server to align with cli usage
  Align -B and -E parameter names with cli usage (begin_code and end_code)
  Fix Bug #65219 DBSETLDBNAME should be called before login to set DBNAME in login record
2013-07-14 17:01:43 -07:00
Lior Kaplan
f4b9b20b35 Add built-in web server to invocation list 2013-07-14 17:00:56 -07:00
Keyur Govande
5bf6323e51 Patch for Bug #64544.
The process title change module keeps track of the locally allocated
environ, so it doesn't need to worry about when environ changes
underneath it, for example by putenv()/setenv()
2013-03-29 14:27:36 +00:00
Keyur Govande
a0a995cff3 Support for CLI process title (https://wiki.php.net/rfc/cli_process_title)
A new commit into branch 5.5
2013-03-07 18:54:34 +00:00
Xinchen Hui
a666285bc2 Happy New Year 2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Xinchen Hui
d1f0662e4d Fixed bug #62725 (Calling exit() in a shutdown function does not return the exit value)
The fix is make 5.4 behavior consistent with 5.3
2012-08-02 23:03:38 +08:00
Johannes Schlüter
9a86784859 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix memleak in CLI

Conflicts:
	sapi/cli/php_cli.c
2012-06-27 11:46:57 +02:00
Johannes Schlüter
bc0972e78d Fix memleak in CLI 2012-06-27 11:42:43 +02:00
Xinchen Hui
fd518ffc7e Merge remote-tracking branch 'origin/PHP-5.3' into PHP-5.4
* origin/PHP-5.3:
  Fixed bug #61546 (functions related to current script failed when chdir() in cli sapi).
  - BFN

Conflicts:
	sapi/cli/php_cli.c
2012-04-30 12:15:43 +08:00
Xinchen Hui
bae56a87f8 Fixed bug #61546 (functions related to current script failed when chdir() in cli sapi). 2012-04-30 12:09:22 +08:00
Felipe Pena
e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +00:00
Pierre Joye
fcbfbea8d2 - fix bug #60272, typo 2011-11-11 18:50:52 +00:00
Dmitry Stogov
4a25a7740d Fixed ZE specific compile warnings (Bug #55629) 2011-09-13 13:29:35 +00:00
Xinchen Hui
6c0c4896b3 Prevented the warning about truncate int to char 2011-08-08 07:12:12 +00:00
Xinchen Hui
43301dae9b Prevented the warning about truncate int to char 2011-08-08 07:12:12 +00:00
Felipe Pena
71e52a5ccd - Reverted php_printf -> printf change 2011-07-01 17:18:50 +00:00
Felipe Pena
5304004cc7 - Fixed crash when using -e option 2011-06-25 20:40:03 +00:00
Felipe Pena
29588a6fa3 - Fixed crash when calling sapi_shutdown() and sapi hasn't been started
Reported by: David Tajchreber
2011-06-25 14:17:17 +00:00
Felipe Pena
dc467a70d3 - Fixed crash when zend_eval_string bailouts (-r 'a();')
Reported by: David Tajchreber
2011-06-25 13:15:24 +00:00
Pierre Joye
0d7226ed60 - reflection is always enabled 2011-06-25 10:47:54 +00:00
Pierre Joye
213e1f4456 - reflection is always enabled 2011-06-25 10:47:54 +00:00
Derick Rethans
8e30050416 - Fixed layout. Tabs on the terminal don't align nicely in most cases. 2011-06-25 10:16:46 +00:00
Felipe Pena
8480b7f4be - Fix memleak on `php -v' 2011-06-21 01:47:05 +00:00
Felipe Pena
b83af94c2b - Fixed hardcoded INI 2011-06-20 23:36:25 +00:00
Moriyoshi Koizumi
5b921a87a1 - Add built-in web server to CLI SAPI. See the RFC for detail. 2011-06-20 20:27:39 +00:00
Felipe Pena
6a504c6f6b - Fix missing change from r303357 (related to bug #48831) 2011-06-11 23:46:35 +00:00
Ilia Alshanetsky
f5779d5e16 Fixed bug #52496 (Zero exit code on option parsing failure). 2011-05-30 15:57:50 +00:00
Ilia Alshanetsky
a65eba016e Fixed bug #52496 (Zero exit code on option parsing failure). 2011-05-30 15:57:50 +00:00
Johannes Schlüter
960e265b6c Declare vars first. Fix Windows build. 2011-02-22 12:51:43 +00:00
Felipe Pena
b98ceb5e40 - Fixed build 2011-02-19 16:32:00 +00:00
Johannes Schlüter
6c734a6b4c - Implement FR#53878 Interactive shell should work with shared readline extension
# This is useful w/ distributors who like to build all things shared or don't
# provide the readline extension. Or if a user pefers readline's behavior over
# libedit which might be used by the  distributor.
2011-02-19 16:04:30 +00:00
Felipe Pena
927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Jérôme Loyet
e1b87cce1f - Fixed #52045 (FPM tries to open php.ini from the current dir)
- Add php_ini_ignore_cwd to _sapi_module_struct
2010-11-11 17:24:27 +00:00
Pierre Joye
b6d8462ab2 - fix #48831 php -i has different output to php --ini 2010-09-14 10:36:21 +00:00