Commit graph

1242 commits

Author SHA1 Message Date
Dmitry Stogov
7402af380b Fixed destruction of objects and iterators on unclean request shutdown and GC (few cases are still unfixed).
Now we destroy objects it two steps. At first - object properties of all objects and only then the objects their selves.
2014-04-09 01:50:15 +04:00
Dmitry Stogov
3bc8810b1e Constant duplication optimization
Argument receiving optimization
2014-04-04 03:55:27 +04: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
042c937f69 Use STR_COPY() instead of STR_DUP() where possible 2014-04-01 17:10:15 +04:00
Xinchen Hui
3647fc6fcc Refactor session (incompleted) 2014-03-28 18:46:25 +08: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
Dmitry Stogov
d83d34ba6d Cleanup 2014-03-27 14:55:52 +04:00
Dmitry Stogov
c6cba55454 Use ZVAL_DEREF() macro 2014-03-27 13:39:09 +04:00
Dmitry Stogov
54d559d893 Replaced (Z_TYPE(x) == IS_REFERENCE) with (Z_ISREF(x)) 2014-03-27 11:50:45 +04: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
acc719766d More accurate zval comparison 2014-03-19 22:43:36 +04:00
Dmitry Stogov
d708d3c596 Fixed passing arguments by reference from internal functions 2014-03-11 22:33:28 +04:00
Xinchen Hui
3da247e7a8 Forgot to remove unused codes 2014-03-07 17:41:02 +08:00
Xinchen Hui
4b3e6fc129 Refactor reference handling 2014-03-07 17:08:14 +08:00
Dmitry Stogov
81531116c1 Fixed support for references 2014-03-07 11:32:07 +04:00
Xinchen Hui
84f20dc212 Invalid free of args("+") 2014-03-05 22:19:02 +08:00
Xinchen Hui
581fa5822e Merge branch 'refactoring2' of github.com:zendtech/php into refactoring2
Conflicts:
	ext/standard/array.c
2014-03-05 18:02:35 +08:00
Dmitry Stogov
3733737328 Handle interned strings as non-refcounted scalars 2014-03-05 13:55:56 +04:00
Xinchen Hui
36f01f158c Fixed NULL pointer dereference 2014-03-05 17:29:29 +08:00
Dmitry Stogov
040dea8b82 Arguments taken by internal functions using zend_parse_parameters() with "+" and "*" specifications must not be deallocated anymore. 2014-03-05 11:10:52 +04:00
Dmitry Stogov
19670c2bbc Fixied calling object closures from internal functions 2014-03-05 01:54:21 +04:00
Xinchen Hui
ca146a6e14 Elements in array could be reference 2014-03-03 17:44:21 +08:00
Dmitry Stogov
843423716b Fixed user stream filters 2014-02-28 23:05:22 +04:00
Xinchen Hui
0680cdb4ac Fixed refcount handling 2014-02-28 22:47:24 +08:00
Dmitry Stogov
d0311ad28e Fixed method argument parsing 2014-02-28 15:47:12 +04:00
Dmitry Stogov
9d1294e33d Fixed memory leak 2014-02-28 13:29:18 +04:00
Dmitry Stogov
3ed445f749 Fixed IS_REFERENCE support 2014-02-28 12:54:38 +04:00
Dmitry Stogov
1c3ba95bb5 Refactored read_property() and read_dimension() handlers 2014-02-27 15:40:13 +04:00
Dmitry Stogov
639e4e1afa Changes zend_is_callable() to use zend_string* instead of char* 2014-02-25 16:03:34 +04:00
Xinchen Hui
71dac3d54f Don't add_ref in add_*_str functions 2014-02-25 15:47:24 +08:00
Dmitry Stogov
ff162410f0 Fixed traits support 2014-02-25 01:18:06 +04:00
Dmitry Stogov
844887ed56 Fixed IS_RESOURCE handling 2014-02-24 13:12:53 +04:00
Xinchen Hui
6f6573ef6a Fixed several memory leaks 2014-02-24 15:03:35 +08:00
Dmitry Stogov
bc3fb147cf Fixed char/zend_string mesh 2014-02-22 00:31:39 +04:00
Dmitry Stogov
d149228b69 Use better data structures (incomplete) 2014-02-21 23:51:08 +04:00
Dmitry Stogov
008a42e7c8 Fixed error messages 2014-02-21 20:53:09 +04:00
Xinchen Hui
013cc55395 Merge branch 'refactoring2' of github.com:zendtech/php into refactoring2
Conflicts:
	Zend/zend_language_scanner.c
	Zend/zend_language_scanner.l
2014-02-21 22:41:48 +08:00
Dmitry Stogov
5fa6dbba8e Fixed class_alias() 2014-02-21 18:19:46 +04:00
Xinchen Hui
92450f9d6c Fixed test tests/classes/__call_007.php 2014-02-21 21:47:41 +08:00
Dmitry Stogov
7e03f3712b All zend_parse_parameters("Z") has to be replaced with zend_parse_parameters("z") 2014-02-21 17:22:02 +04:00
Xinchen Hui
2b7ca1c756 Fixed segfault due to missing REFCOUNTED check 2014-02-21 21:12:12 +08:00
Dmitry Stogov
6fbea9ce6a Fixed exception constructor 2014-02-21 16:14:42 +04:00
Dmitry Stogov
8bae1daa0c Use better data structures (incomplete) 2014-02-19 14:35:28 +04:00
Dmitry Stogov
5de7115679 Use better data structures (incomplete; able to run bench.php) 2014-02-18 16:27:38 +04: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
2b9b9afa7a Use better data structures (incomplete) 2014-02-17 17:59:18 +04:00
Dmitry Stogov
0e425121b3 Use better data structures (incomplete) 2014-02-17 11:50:32 +04:00