Commit Graph

864 Commits

Author SHA1 Message Date
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
Anatol Belski
88bb9fedc4 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (111 commits)
  Fix zend_fcall_info_arg*() to use ZVAL_COPY
  Fixed #65213 - cannot cast SplFileInfo to boolean
  add initial install
  switch to C travis project instead of PHP
  use the generic TRAVIS environment var to check for travis (see http://docs.travis-ci.com/user/ci-environment/)
  fix TS build
  add config option to target codegen architectures
  updated NEWS
  updated NEWS
  Fixed bug #55541 errors spawn MessageBox, which blocks test automation
  Get rid of duplicate handlers (ZEND_ADD_SPEC_TMP_TMP and ZEND_ADD_SPEC_VAR_VAR are absolutely the same).
  Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*.
  Fixed __debugInfo() support
  Update UPGRADING for the new variadic functions, and re-sort.
  Improved POST INC/DEC
  make sure that we don't truncate the stack trace and cause false test failures when the test is executed in a directory with long path
  Missed closed folder mark
  Revert "Unecessary assignment"
  Fixed improper memory release
  Unecessary assignment
  ...
2014-12-05 03:50:02 +01:00
Dmitry Stogov
5dd427eac2 Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*. 2014-12-03 16:56:09 +03:00
Anatol Belski
3ca0ca1548 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (102 commits)
  fix dir separator in test
  fix TS build
  fix TS build
  Better fix for bug #68446
  Revert "Merge remote-tracking branch 'origin/PHP-5.6'"
  Revert NEWS and set test to XFAIL
  Revert "Fix bug #68446 (bug with constant defaults and type hints)"
  Improved zend_hash_clean() and added new optimized zend_symtable_clean()
  Use inline version of zval_ptr_dtor()
  Added new optimized zend_array_destroy() function
  Moved i_zval_ptr_dtor() from zend_execute.h to zend_variables.h
  fix REGISTER_NS_*_CONSTANT macros
  Removed useless assert. EG(uninitialized_zval) can't be refcounted.
  Use specialized destructors when types of zvals are known.
  move tests into proper place
  Improved assignment to object property
  Reuse zend_assign_to_variable() in zend_std_write_property()
  cleanup comments from svn/cvs era
  fix dir separator in test
  fork test for windows
  ...
2014-11-26 08:17:35 +01:00
Stanislav Malyshev
704e4fe605 Merge branch 'PHP-5.6'
* PHP-5.6:
  update NEWS
  Fix incorrect argument reflection info for array_multisort()
2014-11-23 16:40:16 -08:00
Alexander Lisachenko
a5aae1b66c Fix incorrect argument reflection info for array_multisort() 2014-11-23 16:38:30 -08:00
Anatol Belski
c6bad96f30 Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (398 commits)
  NEWS
  add test for bug #68381
  Fixed bug #68381 Set FPM log level earlier during init
  proper dllexport
  move to size_t where zend_string is used internally
  fix some datatype mismatches
  return after the warning, to fix uninitialized salt usage
  fix datatype mismatches
  add missing type specifier
  fix datatype mismatches
  fix unsigned check
  "extern" shouldn't be used for definitions
  joined identical conditional blocks
  simplify fpm tests
  SEND_VAR_NO_REF optimization
  Add test for bug #68442
  Add various tests for FPM - covering recent bugs (68420, 68421, 68423, 68428) - for UDS - for ping and status URI - for multi pool and multi mode
  Include small MIT FastCGI client library from https://github.com/adoy/PHP-FastCGI-Client
  Get rid of zend_free_op structure (use zval* instead). Get rid of useless TSRMLS arguments.
  Add new FPM test for IPv4/IPv6
  ...

Conflicts:
	win32/build/config.w32
2014-11-18 21:18:52 +01:00
Anatol Belski
3b4a6dc114 removed useless check
the offset member is an unsigned
2014-11-14 17:39:35 +01:00
Dmitry Stogov
75041379a6 Improved object property access. 2014-11-06 14:50:03 +03:00
Anatol Belski
897695764c fix datatype mismatches
sizeof(struct _string) doesn't increase.
2014-10-29 15:30:14 +01:00
Anatol Belski
9cbdf3e66a Merge remote-tracking branch 'origin/master' into native-tls
* origin/master:
  Fixed compilation
  Optimized property access handlers. Removed EG(std_property_info).
  Fixed bug #68199 (PDO::pgsqlGetNotify doesn't support NOTIFY payloads)
  News entry for new curl constants
2014-10-18 03:31:02 +02:00
Dmitry Stogov
7471c21781 Optimized property access handlers. Removed EG(std_property_info). 2014-10-17 19:10:05 +04:00
Anatol Belski
7a6a3d923b fix arg order, CFLAGS is the fifth arg in m4 2014-10-17 16:03:40 +02:00
Anatol Belski
0490a32249 more exts converted for static tsrm ls pointer
mbstring, pcre, reflection
2014-10-15 19:19:23 +02:00
Nikita Popov
c4ab08ac9d Fix invalid zend_string_frees in reflection
zend_lookup_class can share the name
2014-10-12 20:55:51 +02:00
Nikita Popov
ee5b30fa19 Remove support for classes without class entries
get_class_entry must be non-NULL and return non-NULL.
2014-10-09 13:58:14 +02:00
Johannes Schlüter
429e1b45a7 Merge branch 'PHP-5.6' 2014-10-04 20:07:00 +02:00
Johannes Schlüter
79ca53b62b Merge branch 'PHP-5.5' into PHP-5.6 2014-10-04 20:06:44 +02:00
Johannes Schlüter
b386991471 Fix accidental edit in previous commit 2014-10-04 20:06:02 +02:00
Johannes Schlüter
a1347a0190 Merge branch 'PHP-5.6' 2014-10-04 20:00:40 +02:00
Johannes Schlüter
61d29990b4 Merge branch 'PHP-5.5' into PHP-5.6 2014-10-04 20:00:10 +02:00
Johannes Schlüter
136dd53ac2 Fix arginfo 2014-10-04 19:59:21 +02:00
Dmitry Stogov
bd9a234645 Replaced EG(This) and EX(object) with EX(This).
Internal functions now recieves zend_execute_data as the first argument.
2014-10-03 19:32:46 +04:00
Remi Collet
ed59fa3a0d Fixed bug #68103 Dupplicate entry in Reflection (merged) 2014-09-26 09:28:02 +02:00
Remi Collet
97cab239d7 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  NEWS
  Fixed bug #68103 Dupplicate entry in Reflection
2014-09-26 09:06:51 +02:00
Remi Collet
efa7f87de4 Fixed bug #68103 Dupplicate entry in Reflection
$ php -r '$r=new ReflectionExtension("pthreads"); print_r($r->getClassNames());'
Array
(
    [0] => Threaded
    [1] => stackable
    [2] => Thread
    [3] => Worker
    [4] => Mutex
    [5] => Cond
    [6] => Collectable
    [7] => Pool
)

In getClasses() output, it is possible to compare key (ex "stackable")
with $obj->name (ex "Threaded") to detect class alias.

...
    [Threaded] => ReflectionClass Object
        (
            [name] => Threaded
        )
    [stackable] => ReflectionClass Object
        (
            [name] => Threaded
        )
...
2014-09-26 08:56:42 +02:00
Johannes Schlüter
d0cb715373 s/PHP 5/PHP 7/ 2014-09-19 18:33:14 +02:00
Dmitry Stogov
bccc653185 Avoid double IS_INTERNED() check 2014-09-19 17:32:50 +04:00
Nikita Popov
079409bbc2 Switch (un)mangle property name to size_t and zend_string
Also use the _ex variants where possible.
2014-09-16 00:31:27 +02:00
Nikita Popov
ebc6da5628 zend_get_property_info takes a zend_string* now 2014-09-14 16:18:08 +02:00
Anatol Belski
734d0b6bfd use nice way to achieve the property name length 2014-09-14 15:09:54 +02:00
Anatol Belski
f1ba5389cd reduce struct size by 8 bytes on 64 bit 2014-09-14 12:32:38 +02:00
Anatol Belski
0b40abf41d avoid repeated strlen() usage 2014-09-14 12:30:01 +02:00
Tjerk Meesters
18fa07e68f Revert "Revert "Removing ext/ereg and dependencies""
This reverts commit 1981dd9c73.
2014-09-11 19:25:42 +08:00
Dmitry Stogov
1981dd9c73 Revert "Removing ext/ereg and dependencies"
This reverts commit 86de7963fe.
2014-09-11 11:06:57 +04:00
Tjerk Meesters
86de7963fe Removing ext/ereg and dependencies
Affected extensions:
- opcache (use pcre)
- mbstring (removed ereg functions overloading)
- pgsql (use pcre)
- reflection (test cases using 'ereg')

SAPI:
- apache (header only)
- apache_hooks (header only)
2014-09-11 10:22:44 +08:00
Dmitry Stogov
e51677b2e6 fixed reference counting 2014-09-02 11:24:52 +04:00
Dmitry Stogov
88d7ca44f6 Refactored INI subsystem to use zend_string* instead of char* 2014-09-01 20:57:33 +04:00
Anatol Belski
257ed4061a 's' works with size_t round 2 2014-08-27 20:49:33 +02:00
Anatol Belski
3234480827 first show to make 's' work with size_t 2014-08-27 20:49:31 +02:00
Anatol Belski
202e8db1dc fixed several long vs zend_long casts 2014-08-26 11:26:53 +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
fb8c41101d fix zpp 2014-08-21 15:39:29 +02:00
Anatol Belski
977cf1dc11 Merge branch 'master' of git.php.net:php-src
# By Tjerk Meesters
# Via Tjerk Meesters
* 'master' of git.php.net:php-src:
  Fixes missing Reflector interface constraints being enforced by the engine
2014-08-17 12:04:05 +02:00
Anatol Belski
1169de3e61 fix some cases with fast zpp 2014-08-16 14:00:02 +02:00
Anatol Belski
cb25136f4e fix macros in the 5 basic extensions 2014-08-16 11:37:14 +02:00
Tjerk Meesters
87afa6bdc9 Fixes missing Reflector interface constraints being enforced by the engine 2014-08-16 17:34:56 +08:00
Dmitry Stogov
b8517e410c cleanup 2014-08-13 12:36:10 +04:00
Dmitry Stogov
7301994c28 Merge branch 'master' into phpng
* master: (46 commits)
  PHP_INT_MIN and _MAX tests
  NEWS and UPGRADING
  Added PHP_INT_MIN
  Fix wrong lenght size
  Bug #51096 - Remove unnecessary ? for first/last day of
  Moved streams related functions to xp_ssl.c
  Remove duplicate NEWS
  Update NEWS
  Update NEWS
  Update NEWS
  BFN
  BFN
  Fixed bug #67715 (php-milter does not build and crashes randomly).
  We need to turn off any strict mode here for this warning to show up
  Disable restrictions regarding arrays in constants at run-time. For the discussion around it, see the thread on the mailing list: http://www.mail-archive.com/internals@lists.php.net/msg68245.html
  Revert "Fix bug #67064 in a BC safe way"
  Updated NEWS for #67693
  Updated NEWS for #67693
  Fixed bug #67693 - incorrect push to the empty array
  add missing entry to NEWS
  ...

Conflicts:
	Zend/tests/errmsg_040.phpt
	Zend/tests/ns_059.phpt
	Zend/zend_language_parser.y
	Zend/zend_vm_def.h
	ext/openssl/openssl.c
	ext/reflection/php_reflection.c
	ext/session/session.c
	ext/spl/spl_directory.c
	ext/spl/spl_iterators.c
	ext/sqlite3/sqlite3.c
	ext/standard/array.c
2014-08-04 13:56:27 +04:00
Xinchen Hui
be010e26c4 Fixed getDefaultProperties (it should not return reference) 2014-07-31 12:55:53 +08:00
Ferenc Kovacs
d18b16244c update the exception message to better match the actual check 2014-07-30 10:16:01 +02:00
Ferenc Kovacs
d586441d90 ReflectionClass::newInstanceWithoutConstructor() should be allowed to instantiate every class except those internal classes with a final __construct() 2014-07-30 10:08:56 +02:00
Dmitry Stogov
7c6477ce37 Merge branch 'master' into phpng
* master:
  Removed second zval_copy_ctor()
  Fixed crash on self-referencing constant expression (part of a constant AST)
  Fixed support for constant arrays in context of "const" statement (Zend/tests/constant_expressions_arrays.phpt failed when opcache.protect_memort was set)

Conflicts:
	Zend/zend_ast.c
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
	ext/reflection/php_reflection.c
2014-07-24 01:54:21 +04:00
Dmitry Stogov
d909b6330e Fixed crash on self-referencing constant expression (part of a constant AST) 2014-07-24 00:37:15 +04:00
Dmitry Stogov
27f38798a1 Fast parameter parsing API
This API is experemental. It may be changed or removed.
It should be used only for really often used functions.
(Keep the original parsing code and wrap usage with #ifndef FAST_ZPP)
2014-07-11 16:32:20 +04:00
Dmitry Stogov
2ed8a17045 Refactored run_time_cache usage in object handlers 2014-07-07 20:54:31 +04:00
Dmitry Stogov
909acec231 Avoid useles constants update 2014-06-16 23:32:58 +04:00
Dmitry Stogov
dd1c68e67f Merge branch 'master' into phpng
* master: (77 commits)
  NEWS entry for Fix potential segfault in dns_get_record()
  NEWS entry for "Fix potential segfault in dns_get_record()"
  NEWS entry for Fix potential segfault in dns_get_record(
  Fix potential segfault in dns_get_record()
  Revert "Add optional second arg to unserialize()"
  5.5.15 now
  update NEWS
  Fix bug #66127 (Segmentation fault with ArrayObject unset)
  5.4.31 next
  Add NEWS. This doesn't need UPGRADING (or an RFC), IMO.
  Fix broken test.
  Add a mime type map generation script and update the header.
  Move the mime type map out of php_cli_server.c for easier generation.
  Replace the CLI server's linear search for extensions with a hash table.
  fix test
  Remove unused included file
  NEWS
  NEWS
  NEWS
  Fixed Bug #67413 	fileinfo: cdf_read_property_info insufficient boundary chec
  ...

Conflicts:
	Zend/zend_closures.c
	Zend/zend_execute.c
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
	ext/spl/spl_array.c
	ext/standard/basic_functions.c
	ext/standard/dns.c
	ext/standard/var.c
2014-06-12 05:07:33 +04:00
Stanislav Malyshev
e35945490f Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Remove superfluous echos.
2014-06-08 13:53:01 -07:00
Stanislav Malyshev
da6abc8db4 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Remove superfluous echos.
2014-06-08 13:50:41 -07:00
Jeff Welch
5fd7c2b01d Remove superfluous echos. 2014-06-08 13:50:22 -07:00
Dmitry Stogov
c9062917eb Use new zend_hash API 2014-05-28 12:34:08 +04:00
Xinchen Hui
d8651fbe1c Make they are in the same style of Z_ISREF 2014-05-03 16:08:58 +08:00
Dmitry Stogov
17d027ed47 Split IS_BOOL into IS_FALSE and IS_TRUE 2014-04-30 18:32:42 +04:00
Dmitry Stogov
f9927a6c97 Merge mainstream 'master' branch into refactoring
During merge I had to revert:
	Nikita's patch for php_splice() (it probably needs to be applyed again)
	Bob Weinand's patches related to constant expression handling (we need to review them carefully)
	I also reverted all our attempts to support sapi/phpdbg (we didn't test it anyway)

Conflicts:
	Zend/zend.h
	Zend/zend_API.c
	Zend/zend_ast.c
	Zend/zend_compile.c
	Zend/zend_compile.h
	Zend/zend_constants.c
	Zend/zend_exceptions.c
	Zend/zend_execute.c
	Zend/zend_execute.h
	Zend/zend_execute_API.c
	Zend/zend_hash.c
	Zend/zend_highlight.c
	Zend/zend_language_parser.y
	Zend/zend_language_scanner.c
	Zend/zend_language_scanner_defs.h
	Zend/zend_variables.c
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
	ext/date/php_date.c
	ext/dom/documenttype.c
	ext/hash/hash.c
	ext/iconv/iconv.c
	ext/mbstring/tests/zend_multibyte-10.phpt
	ext/mbstring/tests/zend_multibyte-11.phpt
	ext/mbstring/tests/zend_multibyte-12.phpt
	ext/mysql/php_mysql.c
	ext/mysqli/mysqli.c
	ext/mysqlnd/mysqlnd_reverse_api.c
	ext/mysqlnd/php_mysqlnd.c
	ext/opcache/ZendAccelerator.c
	ext/opcache/zend_accelerator_util_funcs.c
	ext/opcache/zend_persist.c
	ext/opcache/zend_persist_calc.c
	ext/pcre/php_pcre.c
	ext/pdo/pdo_dbh.c
	ext/pdo/pdo_stmt.c
	ext/pdo_pgsql/pgsql_driver.c
	ext/pgsql/pgsql.c
	ext/reflection/php_reflection.c
	ext/session/session.c
	ext/spl/spl_array.c
	ext/spl/spl_observer.c
	ext/standard/array.c
	ext/standard/basic_functions.c
	ext/standard/html.c
	ext/standard/mail.c
	ext/standard/php_array.h
	ext/standard/proc_open.c
	ext/standard/streamsfuncs.c
	ext/standard/user_filters.c
	ext/standard/var_unserializer.c
	ext/standard/var_unserializer.re
	main/php_variables.c
	sapi/phpdbg/phpdbg.c
	sapi/phpdbg/phpdbg_bp.c
	sapi/phpdbg/phpdbg_frame.c
	sapi/phpdbg/phpdbg_help.c
	sapi/phpdbg/phpdbg_list.c
	sapi/phpdbg/phpdbg_print.c
	sapi/phpdbg/phpdbg_prompt.c
2014-04-26 00:32:51 +04:00
Dmitry Stogov
5864ce8a44 Fixed compilation warnings 2014-04-22 17:46:34 +04:00
Dmitry Stogov
4ed452c1b5 Convert zval_get_string() into "fast path" macro and "slow path" function 2014-04-21 22:36:01 +04:00
Nikita Popov
0d43a277b8 Use zval_get_string in a few more places 2014-04-21 17:55:58 +02:00
Nikita Popov
bda96e3c58 Use zval_get_string in print_zval and propagate TSRMLS 2014-04-21 17:55:58 +02:00
Dmitry Stogov
afe66d89a1 Cleanup 2014-04-21 16:34:40 +04:00
Dmitry Stogov
e96073b1e4 Moved zend_literal->cache_slot right into zval.
It should be accessed using Z_CACHE_SLOT() macro.
zend_literal structure is removed.
API functions that accepted pointer to zend_literal now accept pointer to zval or cache_slot directly.
Calls of such functiond that now accept cache_slot need to be changed to pass -1 instead of NULL.
2014-04-17 15:40:45 +04:00
Dmitry Stogov
cc576c74d2 op_array->function_name, op_array->doc_comments and op_array->filename may be kept in opcache SHM 2014-04-16 22:41:07 +04:00
Dmitry Stogov
c44eee153f Fixed reference counting 2014-04-16 17:06:25 +04:00
Dmitry Stogov
f9b26bc39a Cleanup (2-nd round) 2014-04-15 21:56:30 +04:00
Dmitry Stogov
050d7e38ad Cleanup (1-st round) 2014-04-15 15:40:40 +04:00
Dmitry Stogov
5dc52e4880 Fixed interface constants inheritance.
Now we use IS_REFERENCE for inhereted class constants.
I might miss some edje cases.
2014-04-14 13:24:43 +04:00
Bob Weinand
35b895fdf0 Removed useless void* parameter and replaced with zend_bool on zval_update_constant* functions 2014-04-11 19:18:58 +02: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
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
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
d8099d0468 Changed data layout to allow more efficient operations 2014-04-02 14:34:44 +04:00
Dmitry Stogov
6b2ed577fd Avoid unnecessry reallocations 2014-04-01 22:36:17 +04:00
Dmitry Stogov
042c937f69 Use STR_COPY() instead of STR_DUP() where possible 2014-04-01 17:10:15 +04:00
Dmitry Stogov
a25a1ba0ef STR_DUP() doesn't duplicate interned strings anymore. In case new string is required STR_INIT() or STR_ALLOC() should be used. 2014-04-01 16:31:03 +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
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
b7938ab1bd Refactored GC (incomplete) 2014-03-19 17:00:28 +04:00
Dmitry Stogov
77f4c94114 Fixed test (the expected output and master behavior are wrong) 2014-03-17 17:55:51 +04:00
Xinchen Hui
648f1081c9 Fixed function name comparation 2014-03-17 12:32:42 +08:00
Xinchen Hui
7d8e990f29 Fixed add_ref asseration fail 2014-03-17 12:16:46 +08:00
Xinchen Hui
897a4d255a Refactor reflection_object to fix bug after default_properties changed 2014-03-17 12:15:22 +08:00
Xinchen Hui
466dbfee88 Fixed NULL pointer dereference 2014-03-17 12:05:52 +08:00
Dmitry Stogov
3733737328 Handle interned strings as non-refcounted scalars 2014-03-05 13:55:56 +04: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
6ed82f7104 Use zend_string to avoid memleak 2014-03-02 22:00:30 +08:00
Xinchen Hui
8cb468d5e3 Fixed wrong condition (introduced by previous ci) 2014-03-02 21:48:38 +08:00
Xinchen Hui
18363f42b2 Fixed invalid free 2014-03-02 21:44:17 +08:00
Xinchen Hui
35742a74e2 Fixed zend_string 2014-03-02 21:42:21 +08:00
Xinchen Hui
4eeee08ec8 Fixed getClosureThis() 2014-03-02 21:40:20 +08:00
Xinchen Hui
81271854e8 Fixed test 2014-03-02 21:38:00 +08:00
Xinchen Hui
30c20084d7 Fixed memory leak 2014-03-02 21:36:51 +08:00
Xinchen Hui
26e993a7ae Fixed zend_string 2014-03-02 16:07:44 +08:00
Xinchen Hui
5a9e8a5e26 Not reference anymore 2014-03-02 15:47:08 +08:00
Xinchen Hui
8d2c1f58a1 Fixed refcounting 2014-03-02 15:15:51 +08:00
Xinchen Hui
ff5870a288 Fixed reflection (incompeleted) 2014-03-02 15:14:00 +08:00
Xinchen Hui
b353d5abe9 Fixed un-initilized iterator in DirectoyItrator 2014-02-28 16:06:47 +08:00
Xinchen Hui
a5ce7d526e Revert "Move zend_objects_store_put out of zend_object_std_init"
This reverts commit 8ced4f0ac9.
2014-02-28 13:59:07 +08:00
Xinchen Hui
8ced4f0ac9 Move zend_objects_store_put out of zend_object_std_init 2014-02-28 12:59:51 +08:00
Ferenc Kovacs
42a43d4531 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix tests broken by 633f898f15
2014-02-27 02:32:47 +01:00
Ferenc Kovacs
fd20278fa5 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix tests broken by 633f898f15
2014-02-27 02:32:07 +01:00
Ferenc Kovacs
bd961f3e87 fix tests broken by 633f898f15 2014-02-27 02:31:42 +01:00
Dmitry Stogov
4a1ecf0e8b Reflection related fixes 2014-02-26 02:02:57 +04:00
Dmitry Stogov
c077742b2a Fixed reflection object destruction 2014-02-25 17:03:48 +04:00
Dmitry Stogov
f4cfaf36e2 Use better data structures (incomplete) 2014-02-10 10:04:30 +04:00
Xinchen Hui
c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Xinchen Hui
47c9027772 Bump year 2014-01-03 11:06:16 +08:00
Xinchen Hui
c0d060f5c0 Bump year 2014-01-03 11:04:26 +08:00
Remi Collet
45d8802441 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  NEWS
  Fixed Bug #66218 zend_register_functions breaks reflection
2013-12-10 16:10:20 +01:00
Remi Collet
9f4d1ee51c Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed Bug #66218 zend_register_functions breaks reflection
2013-12-10 16:09:41 +01:00
Remi Collet
3e963f8eb4 Fixed Bug #66218 zend_register_functions breaks reflection
Functions registered using zend_register_functions instead of zend_module_entry.functions are not seen on reflection.

Ex: additional_functions from api_module_entry.
Ex: in CLI, dl, cli_set_process_title and cli_get_process_title

Note:
- also affects functions overrided in extension
  (should be be reported in extension, where overrided, not in original extension)
- also allow extension to call zend_register_functions for various list
  (instead of having a single bug list)
2013-12-10 16:07:16 +01:00
Bob Weinand
b45043a1b7 converted several switches to ifs and made more opcache friendly 2013-11-01 16:16:58 +01:00
Bob Weinand
2361745806 Working commit for constant scalar expressions (with constants).
Tests will follow.
2013-10-31 08:57:12 +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
Stanislav Malyshev
c793a65690 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  non living code related typo fixes

Conflicts:
	Zend/zend_compile.c
2013-08-04 16:06:24 -07:00
Veres Lajos
8d86597d73 non living code related typo fixes 2013-08-04 16:05:36 -07:00
Veres Lajos
e9a95d78ef typo fixes 2013-07-15 00:23:03 -07:00
Veres Lajos
72085b0e5f typo fixes 2013-07-15 00:18:57 -07:00
Remi Collet
60afd3fce4 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  skip test for bug #64936 when tokenizer not built
2013-06-20 08:42:30 +02:00
Remi Collet
9be591bdb5 skip test for bug #64936 when tokenizer not built 2013-06-20 08:42:07 +02:00
Stanislav Malyshev
ac343d5c1f Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #64936 - clean doc comment state at the beginning and end of the scan
  ws fix

Conflicts:
	Zend/zend_language_scanner.c
	Zend/zend_language_scanner.l
	Zend/zend_language_scanner_defs.h
2013-06-16 15:29:25 -07:00
Stanislav Malyshev
2208447d42 Fix bug #64936 - clean doc comment state at the beginning and end of the scan 2013-06-16 15:22:23 -07:00
Xinchen Hui
534aec8a52 Merge branch 'PHP-5.4' into PHP-5.5 2013-03-21 21:32:32 +08:00
Xinchen Hui
39a173b79b Fix bug in reflectionClass relate to #64239 2013-03-21 21:32:06 +08:00
Dmitry Stogov
e9641141aa Made test compatible with O+ 2013-03-16 16:11:00 +04:00
Xinchen Hui
e6bde1f8f6 Fix test related to change for #bug64007 and also fix in newInstanceArgs 2013-01-22 16:58:40 +08:00
Xinchen Hui
f7b99c481d Fixed bug #64007 (There is an ability to create instance of Generator by hand).
Use get_constrctor instead of access of the ce->constructor directly
2013-01-19 17:01:57 +08: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
8337c96656 Merge branch 'PHP-5.4' into PHP-5.5 2012-11-27 13:37:50 +08:00
Xinchen Hui
070239a194 Merge branch 'PHP-5.3' into PHP-5.4 2012-11-27 13:36:38 +08:00
Xinchen Hui
df3b9a1e07 Fixed Bug #63614 (Fatal error on Reflection) 2012-11-27 13:34:36 +08:00
Xinchen Hui
8fb26e76ba Merge branch 'PHP-5.4' 2012-10-31 11:14:53 +08:00
Xinchen Hui
7886f46b56 Fixed bug #63399 (ReflectionClass::getTraitAliases() incorrectly resolves traitnames) 2012-10-31 11:13:32 +08:00
Xinchen Hui
610c7fbe7b Remove executable permission on phpt 2012-10-10 10:27:49 +08:00
Xinchen Hui
45e938ec34 Remove executable permission on phpt 2012-10-10 10:31:53 +08:00
Xinchen Hui
e081c55fb5 Merge branch 'PHP-5.3' into PHP-5.4 2012-10-10 10:31:31 +08:00
Xinchen Hui
4b152e5470 Merge branch 'PHP-5.4' 2012-10-10 10:32:38 +08:00
Reeze Xia
ad0da9ae60 Implemented ReflectionFunction::isGenerator() 2012-09-02 23:29:56 +08:00
Felipe Pena
7a56ac00a0 - Fixed bug #62892 (ReflectionClass::getTraitAliases crashes on importing trait methods as private) 2012-08-22 10:50:50 -03:00
Xinchen Hui
170ee90bf9 Fixed bug that can not get default value of parameter if it's not optional 2012-08-02 22:28:04 +08:00
Xinchen Hui
49b202f2cf Fixed bug that can not get default value of parameter if it's not optional 2012-08-02 22:16:46 +08:00
Xinchen Hui
2026e9040f Merge branch 'PHP-5.3' into PHP-5.4 2012-08-01 20:24:14 +08:00
Xinchen Hui
10642aa9e4 Fixed bug #62715 (ReflectionParameter::isDefaultValueAvailable() wrong result) 2012-08-01 20:23:30 +08:00
Stanislav Malyshev
f4809424cd Merge branch 'pull-request/96' into PHP-5.4
* pull-request/96:
  Implemented FR #61602 Allow access to name of constant used as default value
2012-07-14 23:08:50 -07:00
Johannes Schlüter
b025b9d0cf Fix #62432 ReflectionMethod random corrupt memory on high concurrent
This fixes the same issue in multiple extensions. This isn't needed
in later branches as 5.4 introduced object_properties_init()
2012-06-27 23:26:33 +02:00
Felipe Pena
5e36306feb Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Improved fix for #62384
2012-06-23 15:16:13 -03:00
Felipe Pena
c3f34796a0 - Improved fix for #62384 2012-06-23 15:10:47 -03:00
Felipe Pena
4af92aca87 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  - Fixed bug #62384 (Attempting to invoke a Closure more than once causes segfaul)
2012-06-22 12:05:55 -03:00
Felipe Pena
b8e946b02e - Fixed bug #62384 (Attempting to invoke a Closure more than once causes segfaul) 2012-06-22 12:05:29 -03:00
Xinchen Hui
b548d9ad2e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed Bug #62202 (ReflectionParameter::getDefaultValue() memory leaks with constant)
2012-06-01 15:00:02 +08:00
Xinchen Hui
1f5327a602 Fixed Bug #62202 (ReflectionParameter::getDefaultValue() memory leaks with constant) 2012-06-01 14:57:27 +08:00
Reeze Xia
13a9555342 Implemented FR #61602 Allow access to name of constant used as default value
This is an improved commit for FR #61602, this fixed the previous
commit 054f3e3's C99 compiler compatibility issue
2012-05-31 23:31:00 +08:00
Xinchen Hui
df481764f3 Revert "Implemented FR #61602 Allow access to name of constant used as default value"
This reverts commit 054f3e3ce5.

See: http://news.php.net/php.cvs/69137 and the author confirmed.
Will commit later after the author fixed this then make a new PR.

Conflicts:

	ext/reflection/php_reflection.c
2012-05-23 13:50:12 +08:00
Xinchen Hui
f733173b1f Fix typo while resolving conflicts 2012-05-23 13:43:49 +08:00
Xinchen Hui
a7df6ce664 Revert "Implemented FR #61602 Allow access to name of constant used as default value"
This reverts commit 054f3e3ce5.

See: http://news.php.net/php.cvs/69137 and the author confirmed.
Will commit later after the author fixed this then make a new PR.

Conflicts:

	ext/reflection/php_reflection.c
2012-05-23 13:39:00 +08:00
zoe slattery
d99203d44b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Small fixes to tests, see #62022
2012-05-15 11:43:28 +01:00
zoe slattery
e35f09d774 Small fixes to tests, see #62022 2012-05-15 11:42:14 +01:00
reeze
6712d0d20d Fixed CODING_STANDARD and move parameter parse code 2012-04-04 14:06:55 +08:00
reeze
054f3e3ce5 Implemented FR #61602 Allow access to name of constant used as default value 2012-04-03 13:51:44 +08:00
David Soria Parra
c918ca57a7 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Replace $Revision$ with $Id$ in keyword expansion enable files
  Enable $Id$ expansion for files with the $Revision$ keyword

Conflicts:
	ext/mysqlnd/mysqlnd.h
2012-03-20 17:58:58 +01:00
David Soria Parra
f7b10abae9 Replace $Revision$ with $Id$ in keyword expansion enable files 2012-03-20 17:53:47 +01:00
Gustavo André dos Santos Lopes
920072df65 - Fixed bug #61388 (ReflectionObject:getProperties() issues invalid reads
when get_properties returns a hash table with (inaccessible) dynamic
  numeric properties).
2012-03-18 18:23:27 +00:00
Gustavo André dos Santos Lopes
227112cb0f - Fixed bug #61388 (ReflectionObject:getProperties() issues invalid reads
when get_properties returns a hash table with (inaccessible) dynamic
  numeric properties).
2012-03-18 18:23:27 +00:00
Xinchen Hui
e83f0261c0 MFH: Fixed bug #60968 (Late static binding doesn't work with ReflectionMethod::invokeArgs()) 2012-03-02 03:36:30 +00:00
Xinchen Hui
30f63e4152 Fixed bug #60968 (Late static binding doesn't work with ReflectionMethod::invokeArgs()) 2012-02-03 16:27:35 +00:00
Dmitry Stogov
b515bfbdfb Improved traits implementation. Now to support __CLASS__ constant in traits php doesn't have to copy the complete compiled method, but can reuse the same code. The resolution of __CLASS__ constants in methods defined in traits are delayed till run-time. This approach also made possible to use __CLASS__ constant as default value for traits properties and method arguments. 2012-01-17 08:09:13 +00: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
Xinchen Hui
3db55c8233 Fixed bug #60367 (Reflection and Late Static Binding) 2011-11-24 09:16:11 +00:00
Xinchen Hui
fe96e8e64c Fixed bug #60367 (Reflection and Late Static Binding) 2011-11-24 09:16:11 +00:00
Xinchen Hui
b548293b99 Fixed bug #60357 (__toString() method triggers E_NOTICE "Array to string conversion") 2011-11-22 10:11:06 +00:00
Dmitry Stogov
4a25a7740d Fixed ZE specific compile warnings (Bug #55629) 2011-09-13 13:29:35 +00:00
Stanislav Malyshev
38ff70ef25 Commit Gustavo's closure rebinding patch as desided by vote 2011-09-07 06:46:27 +00:00
Pierre Joye
bb4f29c234 - don't test dir sep 2011-09-06 07:07:23 +00:00
Sebastian Bergmann
b04a052f70 Close #55490. 2011-08-26 07:40:31 +00:00
Hannes Magnusson
550980cfe5 Callable typehint following the rules of is_callable($arg, false); 2011-08-16 10:44:47 +00:00
Felipe Pena
23e438594d - Make usage of new PHP_FE_END macro 2011-07-25 11:42:53 +00:00
Felipe Pena
4b30846b50 - Make usage of new PHP_FE_END macro 2011-07-25 11:35:02 +00:00
Felipe Pena
d2c47040f5 - Missing fix for bug #54347 2011-06-11 15:11:49 +00:00
Felipe Pena
9b1ba00a1e - Missing fix for bug #54347 2011-06-11 15:11:49 +00:00
Felipe Pena
60857e013b - Fixed bug #54347 (reflection_extension does not lowercase module function name)
patch by: laruence at yahoo dot com dot cn
2011-06-09 22:45:35 +00:00
Felipe Pena
cee9b6603c - Fixed bug #54347 (reflection_extension does not lowercase module function name)
patch by: laruence at yahoo dot com dot cn
2011-06-09 22:45:35 +00:00
Stanislav Malyshev
2da7edbc8d This method doesn't seem to be very useful without scalar types, so reverting it too 2011-06-05 08:59:24 +00:00
Stanislav Malyshev
516c2f5920 removing scalar types in trunk 2011-05-15 00:36:13 +00:00
Felipe Pena
f1967befc8 - Fix test 2011-05-14 01:00:59 +00:00
Gustavo André dos Santos Lopes
e15dd93e7e - Simpler fix for bug #53915. 2011-02-03 12:45:30 +00:00
Gustavo André dos Santos Lopes
9e71bff701 - Simpler fix for bug #53915. 2011-02-03 12:45:30 +00:00
Gustavo André dos Santos Lopes
fac1e87171 - Fixed bug #53915: ReflectionClass::getConstant(s) emits fatal error on
constants with self::.
- Reflown some NEWS entries to have lines no longer than 80 chars.
2011-02-03 12:38:25 +00:00
Gustavo André dos Santos Lopes
f2329f1f4b - Fixed bug #53915: ReflectionClass::getConstant(s) emits fatal error on
constants with self::.
- Reflown some NEWS entries to have lines no longer than 80 chars.
2011-02-03 12:38:25 +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
Scott MacVicar
6144da7e35 Silently casting an empty string, null or false into an object by adding a property
is pretty non-intuitive. If the same value was 1 or true you get a warning and it halts.

Since we can't break BC completely (yet) lets bump this from E_STRICT.

Also added a new section to UPGRADING for engine changes.

<?php
$x = '';
// $x = null;
// $x = false;
$x->baz = 1;
var_dump($x);

$y = 1;
$y->baz = 1;
var_dump($y);
2010-12-31 16:57:45 +00:00
Johannes Schlüter
dabb79bf3d - Improve test 2010-11-21 12:28:10 +00:00
Johannes Schlüter
ac4f3422bc - Improve test 2010-11-21 12:28:10 +00:00
Johannes Schlüter
5a1e9d1d6b - Fix #52854 (ReflectionClass::newInstanceArgs does not work for classes without constructors 2010-11-21 12:24:09 +00:00
Johannes Schlüter
9ea04e1e46 - Fix #52854 (ReflectionClass::newInstanceArgs does not work for classes without constructors 2010-11-21 12:24:09 +00:00
Felipe Pena
224bfb38f7 - Fixed bug #53366 (Reflection doesnt get dynamic property value from getProperty()) 2010-11-20 22:53:55 +00:00
Felipe Pena
1ac484d1a1 - Fixed bug #53366 (Reflection doesnt get dynamic property value from getProperty()) 2010-11-20 22:53:55 +00:00
Kalle Sommer Nielsen
063b213e9e Kill warnings about constness 2010-11-19 15:48:11 +00:00
Gustavo André dos Santos Lopes
b5b4f94a4c - Fixed ReflectionProperty::isDefault() giving a wrong result for properties
obtained with ReflectionClass::getProperties().
2010-10-26 18:47:10 +00:00
Gustavo André dos Santos Lopes
be77a48a71 - Fixed ReflectionProperty::isDefault() giving a wrong result for properties
obtained with ReflectionClass::getProperties().
2010-10-26 18:47:10 +00:00
Gustavo André dos Santos Lopes
e5c7fae82c - Added ReflectionParameter::canBePassedByValue(). 2010-10-26 15:01:36 +00:00
Dmitry Stogov
f2df6a4a3e - Improved memory usage
. zend_function.pass_rest_by_reference is replaced by
    ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags
  . zend_function.return_reference is replaced by ZEND_ACC_RETURN_REFERENCE
    in zend_function.fn_flags
  . zend_arg_info.required_num_args removed. it was needed only for internal
    functions. Now the first arg_info for internal function (which has special
    meaning) is represented by zend_internal_function_info structure.
  . zend_op_array.size, size_var, size_literal, current_brk_cont,
    backpatch_count moved into CG(context), because they are used only during
    compilation.
  . zend_op_array.start_op is moved into EG(start_op), because it's used
    only for 'interactive' execution of single top-level op-array.
  . zend_op_array.done_pass_two is replaced by ZEND_ACC_DONE_PASS_TWO in
    zend_op_array.fn_flags.
  . op_array.vars array is trimmed (reallocated) during pass_two.
  . zend_class_entry.constants_updated is replaced by
     ZEND_ACC_CONSTANTS_UPDATED in zend_class_entry.ce_flags
  . the size of zend_class_entry is reduced by sharing the same memory space
    by different information for internal and user classes.
    See zend_class_inttry.info union.
2010-09-15 07:38:52 +00:00
Felipe Pena
03df7fce82 - Fixed test 2010-09-09 21:46:29 +00:00
Felipe Pena
264d65bd6e - Fixed test 2010-09-09 21:46:29 +00:00
Felipe Pena
da3743b7b9 - Added missing void parameter checks 2010-08-21 16:09:18 +00:00
Felipe Pena
76862dfd0c - Added missing void parameter checks 2010-08-21 16:09:18 +00:00
Felipe Pena
a552a30192 - Added missing parameter checks for new methods (trunk only) 2010-08-02 01:35:02 +00:00
Felipe Pena
cb1d315b7d - Fix tests 2010-07-31 22:10:43 +00:00
Felipe Pena
6944a24328 - Makes "parent" and "self" checking case-insensitive 2010-07-29 01:59:40 +00:00
Felipe Pena
ce72f33674 - Fixed tests 2010-07-06 00:25:52 +00:00
Felipe Pena
4d3944f941 - Fixed bug #52057 (ReflectionClass fails on Closure class) 2010-06-11 23:37:55 +00:00
Felipe Pena
becc2bb671 - Fixed bug #52057 (ReflectionClass fails on Closure class) 2010-06-11 23:37:55 +00:00
Felipe Pena
8454cca44c - Fix memleak when passing a non string/object parameter 2010-06-03 00:43:37 +00:00
Felipe Pena
dc86e9e89f - Fix memleak when passing a non string/object parameter 2010-06-03 00:14:35 +00:00
Felipe Pena
f10c7890c2 - Fix test 2010-06-03 00:13:27 +00:00
Felipe Pena
e03baf4e5d - Save an object_init_ex() and zval_dtor() calls on ReflectionClass::isCloneable() 2010-06-02 17:07:01 +00:00
Felipe Pena
c98c39b1c1 - Added ReflectionClass::isCloneable() [DOC] 2010-06-02 15:29:42 +00:00
Johannes Schlüter
4158f7e122 - More trait reflection work
#- I'm not happy about ReflectionClass::getTraitAliases, yet
2010-05-30 01:00:45 +00:00
Felipe Pena
2d63683ec3 - Fixed ReflectionClass::isTrait() checking (to not identify abstract class as Trait) 2010-05-29 22:08:51 +00:00
Felipe Pena
23dfc1fa9d - Missing Trait check fix 2010-05-29 21:55:19 +00:00
Felipe Pena
3c4ff06ca7 - Fixed wrong abstract class identification (it was identified as a Trait) 2010-05-29 21:48:56 +00:00
Johannes Schlüter
97b7620aed - Add some folding marks 2010-05-29 21:28:24 +00:00
Johannes Schlüter
19afc82e28 - Make reflection aware of traits 2010-05-29 20:40:58 +00:00
Johannes Schlüter
1afd50766c - Fix tests 2010-05-29 20:34:25 +00:00
Kalle Sommer Nielsen
49d74ebc6e Fixed compiler warning (pointer mismatch) 2010-05-27 23:24:06 +00:00
Pierrick Charron
0b9263da93 Remove unused variable 2010-05-26 16:17:15 +00:00
Felipe Pena
c4be9c3890 - Fixed bug #51905 (ReflectionParameter fails if default value is an array with an access to self::) 2010-05-26 00:00:58 +00:00
Felipe Pena
79d2aaf0f1 - Fixed bug #51905 (ReflectionParameter fails if default value is an array with an access to self::) 2010-05-26 00:00:58 +00:00
Felipe Pena
f3009cb596 - Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with constant array) 2010-05-25 22:46:17 +00:00
Felipe Pena
1168cdc323 - Fixed bug #51911 (ReflectionParameter::getDefaultValue() memory leaks with constant array) 2010-05-25 22:46:17 +00:00
Dmitry Stogov
f23e857676 Fixed ZTS build 2010-05-24 17:07:52 +00:00
Dmitry Stogov
c5237d82bf Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties 2010-05-24 14:11:39 +00:00
Derick Rethans
1bc9247651 - Added scalar typehinting. 2010-05-20 19:18:35 +00:00
Dmitry Stogov
94dd83722b Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table 2010-04-20 10:57:45 +00:00
Stanislav Malyshev
c93a4f192b restore $this support for closures to its former glory 2010-04-19 19:45:03 +00:00
Johannes Schlüter
26b08f9857 Remove main/php3_compat.h, for that a few references to function_entry have
to be replaced by `zend_function_entry`.
2010-03-30 23:03:02 +00:00