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