summaryrefslogtreecommitdiff
path: root/Zend
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge branch 'PHP-8.0'Máté Kocsis2020-11-212-5/+5
|\ \ \ | |/ /
| * | Remove some incorrect mixed parameter typesMáté Kocsis2020-11-212-5/+5
| | |
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-192-2/+5
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Export zend_is_callable_at_frame
| * | Export zend_is_callable_at_frameNikita Popov2020-11-192-2/+5
| | | | | | | | | | | | | | | | | | Export the zend_is_callable_impl() function as zend_is_callable_at_frame() for use by extension. As twose pointed out, an extension may want to retrieve fcc for a private method.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-182-0/+35
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Short-circuit get_gc for currently running generator
| * | Merge branch 'PHP-7.4' into PHP-8.0Nikita Popov2020-11-182-0/+35
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Short-circuit get_gc for currently running generator
| | * Short-circuit get_gc for currently running generatorNikita Popov2020-11-182-0/+35
| | |
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-173-46/+100
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Provide unused retvals to observers
| * | Provide unused retvals to observersSammy Kaye Powers2020-11-173-46/+100
| | | | | | | | | | | | | | | | | | | | | Make sure that the return value is available to observers, even if it is not used by the caller. Closes GH-6422.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-171-0/+19
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix incorrectly optimized out live range
| * | Merge branch 'PHP-7.4' into PHP-8.0Nikita Popov2020-11-171-0/+19
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Fix incorrectly optimized out live range
| | * Fix incorrectly optimized out live rangeNikita Popov2020-11-171-0/+19
| | | | | | | | | | | | | | | | | | | | | For x ? y : z style structures, the live range starts at z, but may also hold the value of y. Make sure that the refcounting check takes this into account, by checking the type of a potential phi user.
* | | Merge branch 'PHP-8.0'Sammy Kaye Powers2020-11-162-1/+29
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fire open observer end handlers after a zend_bailout
| * | Fire open observer end handlers after a zend_bailoutSammy Kaye Powers2020-11-162-1/+29
| | | | | | | | | | | | Closes GH-6377
* | | Merge branch 'PHP-8.0'Christoph M. Becker2020-11-164-15/+19
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix #74558: Can't rebind closure returned by Closure::fromCallable()
| * | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2020-11-164-15/+19
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Fix #74558: Can't rebind closure returned by Closure::fromCallable()
| | * Fix #74558: Can't rebind closure returned by Closure::fromCallable()Christoph M. Becker2020-11-164-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | Failure to rebind such closures is not necessarily related to them being created by `ReflectionFunctionAbstract::getClosure()`, so we fix the error message. Closes GH-6424.
* | | Merge branch 'PHP-8.0'Dmitry Stogov2020-11-113-13/+45
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: [Observer] Save opline before calling begin/end handlers
| * | [Observer] Save opline before calling begin/end handlersDmitry Stogov2020-11-113-13/+45
| | |
* | | Fix mbstring support for Shift-JISAlex Dowad2020-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Reject otherwise valid kuten codes which don't map to anything in JIS X 0208. - Handle truncated multi-byte characters as an error. - Convert Shift-JIS 0x7E to Unicode 0x203E (overline) as recommended by the Unicode Consortium, and as iconv does. - Convert Shift-JIS 0x5C to Unicode 0xA5 (yen sign) as recommended by the Unicode Consortium, and as iconv does. (NOTE: This will affect PHP scripts which use an internal encoding of Shift-JIS! PHP assigns a special meaning to 0x5C, the backslash. For example, it is used for escapes in double-quoted strings. Mapping the Shift-JIS yen sign to the Unicode yen sign means the yen sign will not be usable for C escapes in double-quoted strings. Japanese PHP programmers who want to write their source code in Shift-JIS for some strange reason will have to use the JIS X 0208 backlash or 'REVERSE SOLIDUS' character for their C escapes.) - Convert Unicode 0x5C (backslash) to Shift-JIS 0x815F (reverse solidus). - Immediately handle error if first Shift-JIS byte is over 0xEF, rather than waiting to see the next byte. (Previously, the value used was 0xFC, which is the limit for the 2nd byte and not the 1st byte of a multi-byte character.) - Don't allow 'control characters' to appear in the middle of a multi-byte character. The test case for bug 47399 is now obsolete. That test assumed that a number of Shift-JIS byte sequences which don't map to any character were 'valid' (because the byte values were within the legal ranges).
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-092-6/+41
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fixed bug #80334
| * | Fixed bug #80334Nikita Popov2020-11-092-6/+41
| | | | | | | | | | | | | | | If assert() was called with named args, add description as named arg as well.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-041-7/+9
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix static variable in methods inheritance during preloading
| * | Fix static variable in methods inheritance during preloadingNikita Popov2020-11-041-7/+9
| | | | | | | | | | | | | | | This is now "bug compatible" with the normal behavior, and more imporantly, does not crash :)
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-041-16/+11
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Don't xfail method_static_var.phpt
| * | Don't xfail method_static_var.phptNikita Popov2020-11-041-16/+11
| | | | | | | | | | | | | | | | | | | | | | | | Let's test the current behavior here. It might not be right, but it's long-standing behavior. Nearly missed an assertion failure here because the test was XFAILed...
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-049-18/+0
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Don't disable opcache for generic tests
| * | Don't disable opcache for generic testsNikita Popov2020-11-049-18/+0
| | | | | | | | | | | | | | | Even if the original issue only reproduces without opcache, we should still allow running them with and without opcache.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-041-1/+2
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix dynamic function definition in preload script
| * | Merge branch 'PHP-7.4' into PHP-8.0Nikita Popov2020-11-041-1/+2
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Fix dynamic function definition in preload script
| | * Fix dynamic function definition in preload scriptNikita Popov2020-11-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | We should use normal function renaming if the function is declared during preloading itself, rather than afterwards. This fixes a regression introduced by 68f80be9d1380de731930187250a7ed6b55ae196.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-031-1/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Don't disable early binding during preloading script
| * | Don't disable early binding during preloading scriptNikita Popov2020-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | We should only disable early binding during the opcache_compile_file() calls, not inside the preloading script or anything it includes. The right condition to check for is whether we compile the file without execution, as declaring classes is "execution".
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-031-2/+3
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix use of type copy ctor when importing trait properties
| * | Fix use of type copy ctor when importing trait propertiesNikita Popov2020-11-031-2/+3
| | | | | | | | | | | | | | | We shouldn't call the copy constructor inside the original type, duh.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-031-4/+2
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Allow unlinked classes when performing in_compilation variance check
| * | Allow unlinked classes when performing in_compilation variance checkNikita Popov2020-11-031-4/+2
| | | | | | | | | | | | | | | As preloading runs in in_compilation mode, we also need to allow use of unlinked classes in lookup_class().
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-031-53/+57
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix variance checks on resolved union types
| * | Fix variance checks on resolved union typesNikita Popov2020-11-031-53/+57
| | | | | | | | | | | | | | | | | | This is a bit annoying: When preloading is used, types might be resolved during inheritance checks, so we need to deal with CE types rather than just NAME types everywhere.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-032-2/+20
|\ \ \ | |/ / | | | | | | | | | | | | * PHP-8.0: Fix typo in UPGRADING Improved error message for typed class properties with null as default value
| * | Improved error message for typed class properties with null as default valueBogdan Ungureanu2020-11-032-2/+20
| | | | | | | | | | | | Closes GH-6396.
* | | Merge branch 'PHP-8.0'Alex Dowad2020-10-301-2/+0
|\ \ \ | |/ /
| * | Fix test added in d44235acaeb4Alex Dowad2020-10-301-2/+0
| | |
* | | Merge branch 'PHP-8.0'Alex Dowad2020-10-302-0/+28
|\ \ \ | |/ /
| * | Convert numeric string array keys to integers correctly in JITted codeAlex Dowad2020-10-302-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While fixing bugs in mbstring, one of my new test cases failed with a strange error message stating: 'Warning: Undefined array key 1...', when clearly the array key had been set properly. GDB'd that sucker and found that JIT'd PHP code was calling directly into `zend_hash_add_new` (which was not converting the numeric string key to an integer properly). But where was that code coming from? I examined the disasm, looked up symbols to figure out where call instructions were going, then grepped the codebase for those function names. It soon became clear that the disasm I was looking at was compiled from `zend_jit_fetch_dim_w_helper`.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-10-301-1/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: FIxed bug #80299
| * | FIxed bug #80299Nikita Popov2020-10-301-1/+1
| | | | | | | | | | | | The must_wrap was leaking across iterations.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-10-301-0/+18
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix SSA integrity violation for type inference in dead code
| * | Merge branch 'PHP-7.4' into PHP-8.0Nikita Popov2020-10-301-0/+18
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Fix SSA integrity violation for type inference in dead code
| | * Fix SSA integrity violation for type inference in dead codeNikita Popov2020-10-301-0/+18
| | | | | | | | | | | | | | | | | | The foreach body can never be executed and thus may contain empty types. We should still uphold our SSA integrity invariants in that case.