1
0
mirror of https://github.com/php/php-src.git synced 2026-04-04 22:52:40 +02:00
Commit Graph

60727 Commits

Author SHA1 Message Date
Dmitry Stogov
98dbae4feb Merge branch 'PHP-8.1'
* PHP-8.1:
  Tracing JIT: Use information about really called internal function return type to improve type inference.
2021-10-15 12:31:33 +03:00
Dmitry Stogov
af0a980f45 Tracing JIT: Use information about really called internal function return type to improve type inference. 2021-10-15 12:30:16 +03:00
Dmitry Stogov
37dbad87f3 Merge branch 'PHP-8.1'
* PHP-8.1:
  JIT: Use more general type guard to prevent useless trace splitting
2021-10-14 23:56:43 +03:00
Dmitry Stogov
88982a1d20 JIT: Use more general type guard to prevent useless trace splitting 2021-10-14 23:55:35 +03:00
Dmitry Stogov
04cbd84192 Always use direct pointer (not map_ptr slot) to access run_time_cache of a closure instance 2021-10-14 17:21:37 +03:00
Nikita Popov
a35f72f51e Reduce indentation 2021-10-14 16:20:02 +02:00
Nikita Popov
89007f67d4 Fix delayed early bind if class already exists
We should not try to perform a delayed early bind if the class has
already been declared. This matches the behavior of an ordinary
early bind.
2021-10-14 14:29:22 +02:00
Dmitry Stogov
7193909e86 JIT: Cleanup dead and duplicate code 2021-10-14 14:08:57 +03:00
Dmitry Stogov
ddaf64b56c Avoid non-immutable map_ptr indirection 2021-10-14 12:16:18 +03:00
Máté Kocsis
7cc3c7a839 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix the 2nd param name of pg_send_execute()
2021-10-13 14:21:34 +02:00
Máté Kocsis
d98634e652 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix 2nd param name of pg_send_execute()
2021-10-13 14:19:54 +02:00
Máté Kocsis
ca219d7d27 Fix 2nd param name of pg_send_execute()
Closes GH-7576
2021-10-13 14:14:47 +02:00
Dmitry Stogov
d31ebe6f10 Merge branch 'PHP-8.1'
* PHP-8.1:
  JIT: Fixed incorrect FETCH_OBJ_W code for typed property (ARM64 part)
2021-10-13 14:51:46 +03:00
Dmitry Stogov
28cca5d451 JIT: Fixed incorrect FETCH_OBJ_W code for typed property (ARM64 part) 2021-10-13 14:51:34 +03:00
Dmitry Stogov
23a95d9d8e Merge branch 'PHP-8.1'
* PHP-8.1:
  JIT: Fixed incorrect FETCH_OBJ_W code for typed property
2021-10-13 14:48:52 +03:00
Dmitry Stogov
afeadc668b JIT: Fixed incorrect FETCH_OBJ_W code for typed property 2021-10-13 14:48:06 +03:00
Remi Collet
105c2e0fcb bump zip ext version 2021-10-13 11:54:28 +02:00
Remi Collet
8cfd7e2105 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  bump zip ext version
2021-10-13 11:53:25 +02:00
Remi Collet
6d0d5227d8 bump zip ext version 2021-10-13 11:53:02 +02:00
Nikita Popov
48a9c409ad Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix bug #81521
2021-10-12 16:43:40 +02:00
Nikita Popov
c5e030f3aa Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix bug #81521
2021-10-12 16:43:24 +02:00
Nikita Popov
53f89219ab Fix bug #81521
The current error message is incorrect -- the problem here is not
that the property is invalid, but that these methods are unusable
prior to loading data, same as read().
2021-10-12 16:42:32 +02:00
Dmitry Stogov
f90cf31bc7 Merge branch 'PHP-8.1'
* PHP-8.1:
  JIT: Avoid generation of unused exit point for conditional braches with NULL/FALSE/TRUE operand
2021-10-12 16:59:31 +03:00
Dmitry Stogov
da05c0a84f JIT: Avoid generation of unused exit point for conditional braches with NULL/FALSE/TRUE operand 2021-10-12 16:57:33 +03:00
Nikita Popov
9ebe8494b8 Don't replace tmp with cv in YIELD argument
For by-ref generators, these may have different behavior.

Fixes oss-fuzz 6059739298004992.
2021-10-12 14:26:53 +02:00
Christoph M. Becker
6a65101367 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix #81424: PCRE2 10.35 JIT performance regression
2021-10-12 14:23:07 +02:00
Christoph M. Becker
5356d06990 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix #81424: PCRE2 10.35 JIT performance regression
2021-10-12 14:22:52 +02:00
Christoph M. Becker
845a67feb5 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Fix #81424: PCRE2 10.35 JIT performance regression
2021-10-12 14:21:09 +02:00
Christoph M. Becker
788a701e22 Fix #81424: PCRE2 10.35 JIT performance regression
We backport the respective upstream fix[1] to our bundled pcre2lib plus
the follow-up fix[2] for a functional regression.

[1] <dc5f966635>
[2] <e7af7efaa1>

Closes GH-7573.
2021-10-12 14:19:22 +02:00
Máté Kocsis
0a5fa9dd11 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix the return type of imagecolorexactalpha()
  String default values are enclosed in quotes rather than apostrophes
2021-10-12 09:56:04 +02:00
Máté Kocsis
220f0f55cf Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix the return type of imagecolorexactalpha()
  String default values are enclosed in quotes rather than apostrophes
2021-10-12 09:53:30 +02:00
Máté Kocsis
2127b49c65 String default values are enclosed in quotes rather than apostrophes 2021-10-12 09:51:20 +02:00
Máté Kocsis
17fa9b77bd Fix the return type of imagecolorexactalpha() 2021-10-12 09:51:13 +02:00
Nikita Popov
dc4cfb1ccb Don't accept flags in ZipArchive::getStream()
Per discussion on e489e2d388
this method should not accept $flags, so un-alias it from
getStreamName().
2021-10-12 09:29:08 +02:00
Hao Sun
2feecaf3f5 Merge branch 'PHP-8.1'
* PHP-8.1:
  Reduce threshold further in ext/date/tests/bug73837.phpt
2021-10-12 00:56:48 +00:00
Hao Sun
582e21fbda Reduce threshold further in ext/date/tests/bug73837.phpt
The threshold in test case ext/date/tests/bug73837.phpt has been reduced
several times, from the original 990 to current 400. However, this case
still failed on my local test with Mac Mini machine(macOS on Apple
silicon). Here is the diff result:

```
  $ cat ext/date/tests/bug73837.diff
     int(%d)
  002+ microseconds do not differ enough (268)
  002- microseconds differ
```

Hence this patch reduces the threshold further.

Note that this patch should be backported to PHP 8.1 branch as well.

Closes GH-7567.
2021-10-12 00:49:21 +00:00
Nikita Popov
e489e2d388 Add missing $flags param to getStream()
This is an alias of getStreamName() but was missing the optional
$flags parameter.
2021-10-11 16:01:57 +02:00
Dmitry Stogov
176c319109 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fixed type inference for COPY_TMP
2021-10-11 16:56:49 +03:00
Dmitry Stogov
1208fe932a Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fixed type inference for COPY_TMP
2021-10-11 16:56:40 +03:00
Dmitry Stogov
a4c41d45cd Fixed type inference for COPY_TMP 2021-10-11 16:56:07 +03:00
Remi Collet
e9b96ae5da Add ZipArchive::clearError, getStreamIndex and getStreamName methods
public function clearError(): void {}
    public function getStreamIndex(int $index, int $flags = 0) {}
    public function getStreamName(string $name, int $flags = 0) {}

ZipArchive::getStream is kept for BC

See https://github.com/pierrejoye/php_zip/issues/20
2021-10-11 15:39:35 +02:00
Dmitry Stogov
eeb16a7ab3 Merge branch 'PHP-8.1'
* PHP-8.1:
  JIT: Fixed incorrect deoptimization info
2021-10-11 14:10:25 +03:00
Dmitry Stogov
912f040583 JIT: Fixed incorrect deoptimization info 2021-10-11 14:10:02 +03:00
Nikita Popov
9ecec661ce Merge branch 'PHP-8.1'
* PHP-8.1:
  Preserve key/value type invariant in range() type inference
2021-10-11 12:42:06 +02:00
Nikita Popov
f0cf999223 Preserve key/value type invariant in range() type inference
Don't set PACKED key type if no value type is set.

Fixes oss-fuzz 6718410667458560.
2021-10-11 12:41:46 +02:00
Nikita Popov
35adc4f7f6 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix long-term shutdown/tick fci/fcc storage
2021-10-11 12:19:50 +02:00
Nikita Popov
fabcc9a350 Fix long-term shutdown/tick fci/fcc storage
Normally incrementing the refcount on just function_name is
sufficient. However, if the callable is of the form 'X::y' inside
an instance method, this will capture $this in fcc.object, which
also needs to be retained.

The fci_addref/fci_release helpers should likely be exported as
a general API, as we may have this problem in other places as
well.

Fixes oss-fuzz #39778.
2021-10-11 12:19:29 +02:00
Dmitry Stogov
40832f20f0 Merge branch 'PHP-8.1'
* PHP-8.1:
  JIT: Fixed usage of incorrect specialized zval destructor
2021-10-11 13:02:52 +03:00
Dmitry Stogov
bbe21365b4 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Fixed usage of incorrect specialized zval destructor
2021-10-11 13:02:45 +03:00
Dmitry Stogov
ccdda69a18 JIT: Fixed usage of incorrect specialized zval destructor 2021-10-11 13:00:23 +03:00