1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 06:51:18 +02:00
Commit Graph

2983 Commits

Author SHA1 Message Date
Nikita Popov dd163d05ff Remove OP_RANGE_EX distinction
Only leave OP_RANGE macros, which always have the "EX" behavior.

This was already done for most other macros before, but these
were missed. This helps avoid mistakes by using the wrong macro.
2020-04-15 13:00:36 +02:00
Dmitry Stogov 99084262c3 Use proper macro 2020-04-15 13:09:55 +03:00
Dmitry Stogov 782dc8d73b Removed unused parameter 2020-04-15 13:08:09 +03:00
Nikita Popov bac5137e4e Add zend_create_member_string() API
This is a recurring pattern.
2020-04-14 16:52:13 +02:00
Dmitry Stogov 11c5c78401 Added missed '~' 2020-04-14 15:37:20 +03:00
Dmitry Stogov 0a408be0d2 Separate zend_jit_dump_lifetime_interval() function 2020-04-10 16:10:19 +03:00
Dmitry Stogov d3dda1e0f1 Fixed overflow handling 2020-04-10 14:42:26 +03:00
Dmitry Stogov 66f2ebe448 Register allocator refactoring 2020-04-09 19:31:18 +03:00
Nikita Popov d030ddb2cd Export the zend_string_concat3() API 2020-04-09 15:06:53 +02:00
Dmitry Stogov 41c2b275f7 cleanup 2020-04-09 14:33:29 +03:00
Dmitry Stogov ba64b3fd41 Don't get number of passed arguments from "fake" INIT frames 2020-04-09 13:38:40 +03:00
Máté Kocsis 3709e74b5e Store default parameter values of internal functions in arg info
Closes GH-5353. From now on, PHP will have reflection information
about default values of parameters of internal functions.

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
2020-04-08 18:37:51 +02:00
Dmitry Stogov 3042b2b201 Dump information about trace side exits 2020-04-08 12:39:24 +03:00
Dmitry Stogov f915b5516c Update stack type, only if necessary 2020-04-08 10:34:24 +03:00
Dmitry Stogov a172e056a0 Fixed TYPE/INFO mismatch 2020-04-08 00:27:19 +03:00
Dmitry Stogov 4e69970fb7 cleanup 2020-04-07 21:37:10 +03:00
Dmitry Stogov cff7703a61 Revert "cleanup" (wrong commit)
This reverts commit 5db5f71f28.
2020-04-07 21:34:18 +03:00
Dmitry Stogov 5db5f71f28 cleanup 2020-04-07 21:30:47 +03:00
Dmitry Stogov 864b1cc3ef Free room for information about register allocation at astact stack and at trace_exit_info. Implement simple deoptimizer. 2020-04-07 12:01:48 +03:00
Dmitry Stogov 4006c0008e Save CPU regesters on side exit for deoptimization 2020-04-06 23:48:20 +03:00
Dmitry Stogov c4bdf41862 Minor register allocator refactoring 2020-04-06 16:17:02 +03:00
Máté Kocsis 21cfa03f17 Generate function entries for another batch of extensions
Closes GH-5352
2020-04-05 21:15:30 +02:00
Nikita Popov 1ed132e2e5 Unify checks for binary operator errors for ct eval
Move everything into one function and share it with opcache.
This fixes some discrepancies.
2020-04-01 14:42:58 +02:00
Nikita Popov 56b18d478e Don't convert binop operand types in opcache
This may produce different behavior if operator overloading is
involved, and may change the error message.

If there's strong interest, this could be done in the DFA pass
with available type information. It does not look particularly
practically useful to me though.
2020-04-01 14:39:41 +02:00
Nikita Popov 2d8f9f34dd Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix literal compaction collision between string and double
2020-04-01 14:23:07 +02:00
Nikita Popov 59c8d6a863 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix literal compaction collision between string and double
2020-04-01 14:22:27 +02:00
Nikita Popov 14b770d407 Fix literal compaction collision between string and double
For the sake of simplicity I'm using a separate hashtable, rather
than trying to do hash perturabation on the double strings.
2020-04-01 14:20:59 +02:00
Máté Kocsis 36935e42ea Improve undefined variable error messages
Closes GH-5312
2020-03-31 13:02:32 +02:00
Tyson Andre 47ddd95836 Do constant evaluation for str_contains in opcache
Both arguments must be strings.
str_contains deliberately does not emit a warning for an empty needle.

Closes GH-5324
2020-03-30 09:54:38 -04:00
Dmitry Stogov 44390beb42 cleanup 2020-03-30 14:27:01 +03:00
Dmitry Stogov 4c9ee6a8ca Initialize variable numbers 2020-03-30 12:50:19 +03:00
Nikita Popov a34480ec82 SCCP: Optimize strpos with empty needle
This is no longer special cases in PHP 8.
2020-03-30 10:37:22 +02:00
Dmitry Stogov 099ffc2169 BIND_GLOBAL and BIND_STATIC don't use value of the first operand 2020-03-27 15:20:21 +03:00
Dmitry Stogov 150df5b17c Removed useless variable 2020-03-27 12:24:15 +03:00
Nikita Popov 97cb81ead5 Remove HAVE_REALPATH checks
We do not actually use realpath(), but a custom implementation.
Make sure the realpath() function is always available.

Closes GH-5290.
2020-03-26 11:46:00 +01:00
George Peter Banyard 3e6667d338 Fix -Wtype-limits warning by using correct type declaration in JIT trace
Namely int as that is the type of 'definition'

Closes GH-5299
2020-03-26 00:01:59 +01:00
Dmitry Stogov 51a305d2a4 Separate zend_jit_var_supports_reg() and cleanup 2020-03-25 23:09:32 +03:00
Dmitry Stogov 40fa6284eb Fixed incorrect "TSSA start" headers 2020-03-25 23:07:21 +03:00
Dmitry Stogov 5a05fef2af Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).
2020-03-25 17:38:08 +03:00
Dmitry Stogov 91ee85c20c Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script).
2020-03-25 17:31:33 +03:00
Dmitry Stogov 65120cfc09 Fixed bug #79412 (Opcache chokes and uses 100% CPU on specific script). 2020-03-25 17:31:06 +03:00
Dmitry Stogov b7c6244dfc Add new line before basic-block labels (except for the first BB0) 2020-03-25 14:26:42 +03:00
Dmitry Stogov 0684b9fcdc Always print numeric opline numbers 2020-03-25 14:26:42 +03:00
Dmitry Stogov ce8202f996 Rename "var" to "stack". This is an abstract stack that holds TSSA variable numbers. 2020-03-25 10:49:01 +03:00
Dmitry Stogov af3142daaf Make SSA dump format controlled by opcache.jit_debug more readable (always print opcode number).
This doesn't affect dumps controlled by opcache.opt_debug_level.
2020-03-24 22:44:11 +03:00
Nikita Popov 568592f1e9 Merge branch 'PHP-7.4'
* PHP-7.4:
  Add test file
2020-03-23 17:14:42 +01:00
Nikita Popov 534e15b477 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Add test file
2020-03-23 17:14:16 +01:00
Nikita Popov 2e8db5d6be Add test file
Forgot the git add again...
2020-03-23 17:13:57 +01:00
Nikita Popov dcbdcf87c8 Merge branch 'PHP-7.4'
* PHP-7.4:
  Handle NULL caller_call_opline
2020-03-23 17:12:55 +01:00
Nikita Popov dd9b5c8680 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Handle NULL caller_call_opline
2020-03-23 17:12:12 +01:00