1
0
mirror of https://github.com/php/php-src.git synced 2026-03-26 01:02:25 +01:00
Commit Graph

37 Commits

Author SHA1 Message Date
Dmitry Stogov
57a3fbb1e1 Fixed INIT_METHOD_CALL + IS_VAR + reference in tracing JIT 2020-09-22 00:47:23 +03:00
Dmitry Stogov
5a085777b7 Fixed incorrect JIT for FETCH_THIS+SEND_REF 2020-09-21 21:53:03 +03:00
Dmitry Stogov
c5b42be40e Fixed memory leak 2020-09-09 11:09:20 +03:00
Michael Voříšek
cb284f668c Fix typo in test description
Closes GH-6062.
2020-09-02 13:07:40 +02:00
Máté Kocsis
7aacc705d0 Add many missing closing PHP tags to tests
Closes GH-5958
2020-08-09 22:03:36 +02:00
Nikita Popov
c48b745f00 Promote "undefined array key" notice to warning
This implements the last remaining part of the
https://wiki.php.net/rfc/engine_warnings RFC.

Closes GH-5927.
2020-08-03 14:40:50 +02:00
Dmitry Stogov
02fae1fc53 Fixed bug #79888 (Incorrect execution with JIT enabled) 2020-07-29 17:32:57 +03:00
George Peter Banyard
b2248789ed Implement 'Saner Numeric Strings' RFC:
RFC: https://wiki.php.net/rfc/saner-numeric-strings

This removes the -1 allow_error mode from is_numeric_string functions and replaces it by
a trailing boolean out argument to preserve BC in a couple of places.

Most of the changes can be resumed to "numeric" strings which emitted a E_NOTICE now emit
a E_WARNING and "numeric" strings which emitted a E_WARNING now throw a TypeError.

This mostly affects:
 - String offsets
 - Arithmetic operations
 - Bitwise operations

Closes GH-5762
2020-07-29 02:51:09 +01:00
Máté Kocsis
d30cd7d7e7 Review the usage of apostrophes in error messages
Closes GH-5590
2020-07-10 21:05:28 +02:00
Fabien Villepinte
0c6d06ecfa Replace EXPECTF when possible
Closes GH-5779
2020-06-29 21:31:44 +02:00
Dmitry Stogov
ea2b0d3c8b Fixed JIT failures on Windows 2020-06-22 14:57:04 +03:00
Christoph M. Becker
6bc375f40a Mark failing tests as XFAIL for now
These test fail on Window since some recent changes to JIT; we mark
them as XFAIL until the issues are resolved.
2020-06-20 11:07:57 +02:00
Máté Kocsis
1179686f62 Improve error messages for invalid property access
Closes GH-5446
Co-authored-by:  Nikita Popov <nikita.ppv@gmail.com>
2020-05-18 08:27:00 +02:00
Máté Kocsis
36935e42ea Improve undefined variable error messages
Closes GH-5312
2020-03-31 13:02:32 +02:00
Dmitry Stogov
29bf7902b3 Fixed RC inference for ZEND_ASSIGN_STATIC_PROP and removed useless checks during RC inference 2020-03-14 01:17:45 +03:00
Nikita Popov
191451da90 Fix bug #79358: JIT miscompile in composer 2020-03-09 12:55:14 +01:00
Nikita Popov
f8d795820e Reindent phpt files 2020-02-03 22:52:20 +01:00
Máté Kocsis
afdaa91170 Fix #78880: Final spelling fixes 2020-01-16 19:14:31 +01:00
Nikita Popov
6c6d36bb94 Fix SSA construction for ADD_ARRAY_ELEMENT in RC_INFERENCE mode
This was broken in cc29cbe80c.
2019-12-30 13:29:32 +01:00
Dmitry Stogov
d94c27dcca Fixed JIT for TYPE_CHECK opcode (exception handling in case of undefined argument) 2019-11-12 10:42:29 +03:00
Dmitry Stogov
2958fecb8b Fixed incorrect JIT compilation 2019-10-14 21:32:10 +03:00
Dmitry Stogov
3f50922aee Fixed incorrect JIT compilation 2019-10-14 16:45:58 +03:00
Nikita Popov
2f92957fd3 Convert some notices to warnings
Part of https://wiki.php.net/rfc/engine_warnings.
2019-10-02 10:34:08 +02:00
Nikita Popov
e8b0163e0b Promote write "use scalar as array" warning to Error 2019-09-27 15:49:18 +02:00
Nikita Popov
0ebf2bdba0 Convert "Illegal offset type" warnings to exceptions 2019-09-27 13:00:07 +02:00
Nikita Popov
f2b09969db Convert "cannot add element" warning to exception 2019-09-27 13:00:07 +02:00
Nikita Popov
a66c60cce3 Throw Error when writing property of non-object
This removes object auto-vivification support.

This also means that we can remove the corresponding special
handling for typed properites: We no longer need to check that a
property is convertible to stdClass if such a conversion might
take place indirectly due to a nested property write.

Additionally OBJ_W style operations now no longer modify the
object operand, and as such we no longer need to treat op1 as a
def in SSA form.

The next step would be to actually compile the whole LHS of OBJ_W
operations in R rather than W mode, but that causes issues with
SimpleXML, whose object handlers depend on the current compilation
structure.

Part of https://wiki.php.net/rfc/engine_warnings.
2019-09-27 10:11:47 +02:00
Nikita Popov
24b1c2447c JIT: Fix missing free on JMPZ_EX with op1 == res
We need to free the operand before we overwrite it with the result.
2019-08-30 14:50:22 +02:00
Dmitry Stogov
1f800e2f82 Removed die('skip wurstuoppe'); 2019-07-05 12:20:12 +03:00
Christoph M. Becker
fc94e0fc6e Fix SKIPIF conditions
The SKIPIF sections are executed in the directory where run-tests.php
is located; therefore a relative path like `../skipif.inc` won't work
as desired.
2019-07-01 19:47:23 +02:00
Nikita Popov
0bd1fc225d JIT: Fix SWITCH_LONG/STRING codegen with exact type
We were not loading the operand if the type was known exactly.
2019-05-28 15:25:19 +02:00
Dmitry Stogov
38c75f8fd3 Fixed register allocation 2019-05-28 12:39:13 +03:00
Dmitry Stogov
66a1d821d3 Improved code for unordered comparison 2019-05-06 16:07:48 +03:00
Dmitry Stogov
499b25c303 Fixed JIT for DEFINED opcode 2019-04-22 20:19:34 +03:00
Xinchen Hui
c9fefb31fd Fixed bug #77857 (Wrong result if executed with JIT) 2019-04-09 00:07:23 +08:00
Dmitry Stogov
3df8e27731 Fixed incorrect address usage 2019-04-03 13:05:09 +03:00
Dmitry Stogov
9a06876072 Added JIT compiler for x86 and x86_64 2019-04-01 10:27:11 +03:00