Commit graph

378 commits

Author SHA1 Message Date
Dmitry Stogov
050d7e38ad Cleanup (1-st round) 2014-04-15 15:40:40 +04:00
Nikita Popov
20f2e5986e Fix ZTS build
This only makes it compile, it doesn't actually work, presumably
because interned strings are assumed in some places.
2014-04-09 23:41:16 +02:00
Dmitry Stogov
58f0f2503c Various VM optimizations 2014-04-04 02:52:53 +04: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
6b2ed577fd Avoid unnecessry reallocations 2014-04-01 22:36:17 +04:00
Dmitry Stogov
ea85451b65 Refactored data structures to keep zend_object* instead of a whole zval in some places 2014-03-28 02:11:22 +04:00
Xinchen Hui
903b6b59bf Merge branch 'refactoring2' of github.com:zendtech/php into refactoring2 2014-03-26 23:25:26 +08:00
Xinchen Hui
c9bca5039b Refactor session (incompleted) 2014-03-26 23:23:54 +08:00
Dmitry Stogov
887189ca31 Refactored IS_INDIRECT usage for CV and object properties to support HashTable resizing 2014-03-26 18:07:31 +04:00
Dmitry Stogov
aa5f55306b Refactored EG(active_symbol_table) to be zend_array* instead of HashTable* 2014-03-17 23:15:22 +04:00
Dmitry Stogov
bfdaf6e806 Fixed reference support 2014-03-13 17:59:50 +04:00
Xinchen Hui
74c2deecd8 Fixed refcounted 2014-03-05 18:11:22 +08:00
Dmitry Stogov
19670c2bbc Fixied calling object closures from internal functions 2014-03-05 01:54:21 +04:00
Dmitry Stogov
639e4e1afa Changes zend_is_callable() to use zend_string* instead of char* 2014-02-25 16:03:34 +04:00
Dmitry Stogov
6fbea9ce6a Fixed exception constructor 2014-02-21 16:14:42 +04:00
Xinchen Hui
43b03c74b3 Refacting smart_str 2014-02-18 17:42:46 +08:00
Sara Golemon
837af67271 Merge branch 'PHP-5.6'
* PHP-5.6:
  Add __debugInfo() magic method
2014-02-17 19:37:55 -08:00
Sara Golemon
1e752ce9c5 Add __debugInfo() magic method
class Foo {
  private $val = 'Random, meaningless data';

  public function count() { return 42; }

  public function __debugInfo() {
    return ['count' => $this->count()];
  }
}

$f = new Foo;
var_dump($f);
2014-02-17 19:33:56 -08:00
Dmitry Stogov
a0fe8e5a91 Use better data structures (incomplete) 2014-02-18 01:41:23 +04:00
Dmitry Stogov
0e425121b3 Use better data structures (incomplete) 2014-02-17 11:50:32 +04:00
Dmitry Stogov
c56a2344d0 Merge branch 'refactoring2' of github.com:zend-dev/php into refactoring2 2014-02-14 13:40:23 +04:00
Dmitry Stogov
398256e5fe Use better data structures (incomplete) 2014-02-14 13:40:11 +04:00
Xinchen Hui
068ec75f8b Use better data structures (incomplete) 2014-02-14 17:05:04 +08:00
Dmitry Stogov
2161103fc3 Use better data structures (incomplete) 2014-02-10 17:49:21 +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
0fc8e6af0a Eliminate another straight forward TSRMLS_FETCH() in zend_startup_module()
# For THTTPD:
# The code that uses a call to this function is for older versions of PHP anyway so its not covered

# For Zend OpCache:
# Added a new define for 5.6 and wrapped the code around that so its still compatible with older version
2013-12-12 20:30:45 +01:00
Nikita Popov
0d7a638866 Implement variadic function syntax
As per RFC: https://wiki.php.net/rfc/variadics
2013-09-26 18:39:17 +02:00
Nikita Popov
0856714576 Always pass return_value_ptr to internal functions
Previous some places passed return_value_ptr only if the function
returned by reference. Now return_value_ptr is always set, even
for functions returning by-value.

This allows you to return zvals without copying their contents. For
this purpose two new macros RETVAL_ZVAL_FAST and RETURN_ZVAL_FAST
are added:

    RETVAL_ZVAL_FAST(zv); /* Analog to RETVAL_ZVAL(zv, 1, 0) */
    RETURN_ZVAL_FAST(zv); /* Analog to RETURN_ZVAL(zv, 1, 0) */

These macros behave similarly to the non-FAST versions with
copy=1 and dtor=0, with the difference that the FAST versions
will try return the zval without copying by utilizing return_value_ptr.
2013-08-31 13:16:41 +02:00
Nikita Popov
d18b969858 Evaluate ZVAL_ZVAL arguments only once
Also remove some isref/refcount assignments, which are no longer
necessary (as ZVAL_COPY_VALUE is used now).
2013-08-26 19:57:14 +02:00
Stanislav Malyshev
84e35fb2e0 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  typo fixes (argument)
  typo fixes (accommodate, parameter)
2013-06-10 13:36:41 -07:00
Veres Lajos
04145dc2aa typo fixes (argument) 2013-06-10 13:36:17 -07:00
Sara Golemon
4f46a40b9d Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Don't double-quote name of namespaced function.
2013-05-19 13:35:03 -07:00
Sara Golemon
2d7415a4af Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Don't double-quote name of namespaced function.
2013-05-19 13:34:57 -07:00
Sara Golemon
2d5695cbc5 Don't double-quote name of namespaced function.
ZEND_NS_NAMED_FE(ns, zend_name, name, arg_info)

was resulting in a function declaration of:

ns\"zend_name"()

including the errant quotes.

This diff corrects that.  There are currently no uses of ZEND_NS_NAMED_FE
in core and reason to believe that there are no uses in the wild either.
2013-05-19 13:32:17 -07:00
Xinchen Hui
79925094c4 Merge branch 'PHP-5.4' into PHP-5.5 2013-03-21 21:10:32 +08:00
Xinchen Hui
7dce0194c8 Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11) 2013-03-21 21:09:30 +08:00
Nikita Popov
fcc6611de9 Add support for non-scalar Iterator keys in foreach
RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
2013-03-12 17:27:31 +01:00
Jelle Zijlstra
86b3643807 Fix build problem in C++11 2013-01-30 19:08:24 +01:00
Jelle Zijlstra
31468401b7 Fix build problem in C++11 2013-01-30 19:07:52 +01:00
Johannes Schlüter
78d3e66f3a Merge branch 'PHP-5.4' into PHP-5.5 2013-01-29 19:50:14 +01:00
Johannes Schlüter
1433854681 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-29 19:49:43 +01:00
Johannes Schlüter
93fd9c704b Fix bug #64099 (Wrong TSRM usage in zend_register_class_alias) 2013-01-29 19:47:45 +01:00
Gustavo Lopes
b8603035d0 Merge remote-tracking branch 'cataphract/zpp_improv' into PHP-5.5
See https://wiki.php.net/rfc/zpp_improv

* cataphract/zpp_improv:
  Update README.PARAMETER_PARSING_API
  Export zend_parse_parameter()
  Expose zend_parse_arg() as zend_parse_parameter()
  zend_parse_parameters: allow ! for non pointers
2013-01-16 23:37:06 +01:00
Gustavo Lopes
07590e6e45 Export zend_parse_parameter() 2013-01-09 17:00:04 +01: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
831fbcf385 Happy New Year 2013-01-01 16:23:31 +08:00
Xinchen Hui
d289efb457 Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	Zend/zend_API.h
2012-08-04 11:14:03 +08:00