| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Export zend_is_callable_at_frame
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Short-circuit get_gc for currently running generator
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Short-circuit get_gc for currently running generator
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Provide unused retvals to observers
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make sure that the return value is available to observers, even if
it is not used by the caller.
Closes GH-6422.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix incorrectly optimized out live range
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix incorrectly optimized out live range
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fire open observer end handlers after a zend_bailout
|
| | |
| | |
| | |
| | | |
Closes GH-6377
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix #74558: Can't rebind closure returned by Closure::fromCallable()
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix #74558: Can't rebind closure returned by Closure::fromCallable()
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
[Observer] Save opline before calling begin/end handlers
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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).
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fixed bug #80334
|
| | |
| | |
| | |
| | |
| | | |
If assert() was called with named args, add description as named
arg as well.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix static variable in methods inheritance during preloading
|
| | |
| | |
| | |
| | |
| | | |
This is now "bug compatible" with the normal behavior, and more
imporantly, does not crash :)
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Don't xfail method_static_var.phpt
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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...
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Don't disable opcache for generic tests
|
| | |
| | |
| | |
| | |
| | | |
Even if the original issue only reproduces without opcache, we
should still allow running them with and without opcache.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix dynamic function definition in preload script
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix dynamic function definition in preload script
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We should use normal function renaming if the function is declared
during preloading itself, rather than afterwards.
This fixes a regression introduced by
68f80be9d1380de731930187250a7ed6b55ae196.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Don't disable early binding during preloading script
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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".
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix use of type copy ctor when importing trait properties
|
| | |
| | |
| | |
| | |
| | | |
We shouldn't call the copy constructor inside the original type,
duh.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Allow unlinked classes when performing in_compilation variance check
|
| | |
| | |
| | |
| | |
| | | |
As preloading runs in in_compilation mode, we also need to allow
use of unlinked classes in lookup_class().
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix variance checks on resolved union types
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | | |
* PHP-8.0:
Fix typo in UPGRADING
Improved error message for typed class properties with null as default value
|
| | |
| | |
| | |
| | | |
Closes GH-6396.
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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`.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
FIxed bug #80299
|
| | |
| | |
| | |
| | | |
The must_wrap was leaking across iterations.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix SSA integrity violation for type inference in dead code
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix SSA integrity violation for type inference in dead code
|
| | |
| | |
| | |
| | |
| | |
| | | |
The foreach body can never be executed and thus may contain empty
types. We should still uphold our SSA integrity invariants in that
case.
|