Commit Graph

11416 Commits

Author SHA1 Message Date
Xinchen Hui
86883b793b Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71336 (Wrong is_ref on properties as exposed via get_object_vars())
2016-01-13 17:38:36 +08:00
Xinchen Hui
39f0950746 Fixed bug #71336 (Wrong is_ref on properties as exposed via get_object_vars()) 2016-01-13 17:38:18 +08:00
Dmitry Stogov
d47285648c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71248 (Wrong interface is enforced)
  Update NEWS
2016-01-13 11:42:50 +03:00
Dmitry Stogov
50be2c89be Fixed bug #71248 (Wrong interface is enforced) 2016-01-13 11:41:57 +03:00
Nikita Popov
35662c9bd3 Forbid double use() and use() of param
Also commit a test I forgot to add for forbidden use() of
auto-globals.
2016-01-12 15:37:39 +01:00
Julien Pauli
65e592e477 Merge branch 'PHP-7.0'
* PHP-7.0:
  Trigger op_array_handler() if HAVE_OP_ARRAY_HANDLER is set
2016-01-12 15:19:39 +01:00
Julien Pauli
bec0aec116 Trigger op_array_handler() if HAVE_OP_ARRAY_HANDLER is set 2016-01-12 15:19:14 +01:00
Dmitry Stogov
6579e48417 Introduced BIND_STATIC opcode instead of FETCH_R/FETCH_W(static)+ASSIGN/ASSIGN_REF (similar to BIND_GLOBAL).
In the future we may refer to static variable by index instead of name, to eliminate hash lookup.
2016-01-12 12:20:35 +03:00
Xinchen Hui
9c2dde98db Merge branch 'PHP-7.0' 2016-01-07 07:05:31 -08:00
Xinchen Hui
16a2b47394 Fixed bug #71300 (Segfault in zend_fetch_string_offset) 2016-01-07 07:05:17 -08:00
Bob Weinand
abae897a24 Merge branch 'PHP-7.0' 2016-01-07 15:13:07 +01:00
Bob Weinand
83cb751047 Fix accidental zval_dtor() usage 2016-01-07 15:12:50 +01:00
Bob Weinand
13ccb2ff08 Merge branch 'PHP-7.0' 2016-01-07 11:56:51 +01:00
Bob Weinand
033d608771 Fixed bug #71297 (Memory leak with yield from) 2016-01-07 11:56:21 +01:00
Xinchen Hui
4550e93b78 Merge branch 'PHP-7.0' 2016-01-06 00:03:01 +08:00
Bob Weinand
654c8aedd1 Fixed bug #71275 (Bad method called on cloning an object having a trait) 2016-01-05 16:27:24 +01:00
Xinchen Hui
d0e3ce73f0 Merge branch 'PHP-7.0' 2016-01-03 14:07:13 +08:00
Xinchen Hui
bce7ed1859 Duplicated i 2016-01-03 14:06:52 +08:00
Xinchen Hui
563659822d Merge branch 'PHP-7.0' 2016-01-02 17:56:54 +08:00
Xinchen Hui
97a9470d97 bump year which is missed in rev 49493a2 2016-01-02 17:56:11 +08:00
Lior Kaplan
2eb1f38d24 Happy new year (Update copyright to 2016) 2016-01-01 20:03:16 +02:00
Lior Kaplan
ed35de784f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Happy new year (Update copyright to 2016)
2016-01-01 19:48:25 +02:00
Derick Rethans
5362f0ad7f MFH: Fix lineno for finally FAST_CALL and JMP 2015-12-31 09:46:43 +00:00
Nikita Popov
b3afeeabef Fix lineno for finally FAST_CALL and JMP 2015-12-30 23:49:07 +01:00
Nikita Popov
65e456f364 Introduce BIND_LEXICAL
This opcodes inserts a local CV into the closure static variable
table. This replaces the previous mechanism of having static
variables marked as LEXICAL, which perform a symtable lookup
during copying.

This means a) functions which contain closures no longer have to
rebuild their symtable (better performance) and b) we can now track
used variables in SSA.
2015-12-29 23:14:53 +01:00
Nikita Popov
4440436821 Forbid use() of auto-globals
We don't correctly support it, it doesn't make sense and it's also
forbidden for parameters.
2015-12-29 11:20:44 +01:00
Xinchen Hui
7a5c663ec6 Merge branch 'PHP-7.0' 2015-12-25 20:32:46 -08:00
Xinchen Hui
6700be67f5 Fixed bug #71221 (Null pointer deref (segfault) in get_defined_vars via ob_start) 2015-12-25 20:32:26 -08:00
Julien Pauli
7a2f60d3c7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Remove mentions of "type hint" and "typehint"
2015-12-24 15:19:54 +01:00
Levi Morrison
2a7eeff33e Remove mentions of "type hint" and "typehint" 2015-12-24 15:19:31 +01:00
Julien Pauli
2a4993d0fb Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test
2015-12-24 14:49:03 +01:00
Julien Pauli
8182f0ff2a Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed test
2015-12-24 14:44:33 +01:00
Julien Pauli
0bdc2923b1 Fixed test 2015-12-24 14:44:07 +01:00
Julien Pauli
5adac3c2d0 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed and improved tests
  test to function socket_getopt();
  test to function socket_clear_error();;
  test to function socket_shutdown();
  test to function socket_send();
  test to function gethostname ( void );
  test to function DateTimeZone::getLocation();
  test to function stream_get_transports();
  test to function stream_get_wrappers();
  test to function stream_socket_enable_crypto();
  test to function stream_socket_get_name();
  Create stream_socket_recvfrom.phpt
  test to stream function set_file_buffer.phpt();
  test to function PDO_getAvaliableDrivers;
  test to misc. function connection_status();
  test to function connection_aborted();
  test to function memory_get_peak_usage();
2015-12-24 14:13:36 +01:00
Julien Pauli
048fb4b00f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed and improved tests
  test to function socket_getopt();
  test to function socket_clear_error();;
  test to function socket_shutdown();
  test to function socket_send();
  test to function gethostname ( void );
  test to function DateTimeZone::getLocation();
  test to function stream_get_transports();
  test to function stream_get_wrappers();
  test to function stream_socket_enable_crypto();
  test to function stream_socket_get_name();
  Create stream_socket_recvfrom.phpt
  test to stream function set_file_buffer.phpt();
  test to function PDO_getAvaliableDrivers;
  test to misc. function connection_status();
  test to function connection_aborted();
  test to function memory_get_peak_usage();
2015-12-24 14:08:59 +01:00
Julien Pauli
d73d9fecf6 Fixed and improved tests 2015-12-24 14:08:44 +01:00
Dmitry Stogov
4abbfb9707 Marked function as "cold" 2015-12-24 16:03:31 +03:00
marcosptf
a82f76634a test to function memory_get_peak_usage();
add new test to uncoverage function;

please, @laurence, see if this path is correct!
Thanks
2015-12-24 10:42:22 +01:00
Xinchen Hui
5b916d3dd5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Superfluous semicolon
2015-12-24 10:42:49 +08:00
Xinchen Hui
64071fc531 Superfluous semicolon 2015-12-24 10:41:05 +08:00
Dmitry Stogov
00a3714e05 Support for optimization introduced in DFA pass (it may change type of instruction return oprand to IS_CV) 2015-12-23 19:02:14 +03:00
Xinchen Hui
70f9ba00f7 This check become useless after 98885bfa1e 2015-12-23 20:56:49 +08:00
Dmitry Stogov
98885bfa1e Consolidate indirect string offset modification checks (Nikita, Dmitry)
Check it once, instead of dozens of times.
2015-12-23 13:52:15 +03:00
Dmitry Stogov
aa4a83fec7 Fixed bug #71196 (Memory leak with out-of-order live ranges) 2015-12-23 01:47:38 +03:00
Dmitry Stogov
6e6280a388 Corrected error messages:
- we don't use NULL for overlaoded objects for ages
- fixed array/object mess
2015-12-22 20:55:11 +03:00
Bob Weinand
2322af28c5 Merge branch 'PHP-7.0' 2015-12-22 17:39:52 +01:00
Bob Weinand
3e3d0290ff Added test for (long-ago fixed) bug #70083 2015-12-22 17:39:36 +01:00
Nikita Popov
88eae43ff9 Remove uses of VARs in extended_value
The DECLARE_(ANON_)INHERITED_CLASS(_DELAYED) opcodes were
referencing the parent ce VAR through extended_value. This is
hacky and we can't track the def-use chain in SSA.

To avoid this, the layout of declaration opcodes is changed
as follows: op1 points to the lcname and rtd_key literals, in
that order. (For anon/lambda declarations only one of lcname or
rtd_key is present.) This frees up op2, which is now used to
reference the parent ce VAR in inheriting declarations. The
jmp offset for anon class declarations is moved frop op2 to
extended_value.

The changes were applied both to class and function declarations
to keep everything symmetric.
2015-12-21 14:44:42 +01:00
Dmitry Stogov
1fe8a1dec9 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed possible crash on Zend/tests/bug71154.phpt
2015-12-21 15:58:58 +03:00
Dmitry Stogov
0402f05ba3 Fixed possible crash on Zend/tests/bug71154.phpt 2015-12-21 15:57:53 +03:00