History log of /PHP-8.3/ext/opcache/zend_file_cache.c (Results 51 – 75 of 160)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 0a74da38 19-May-2020 Nikita Popov

Add support for replaying warnings in opcache

If opcache.record_warnings is enabled, opcache will record
compilation warnings and replay them when the file is included
again. The pri

Add support for replaying warnings in opcache

If opcache.record_warnings is enabled, opcache will record
compilation warnings and replay them when the file is included
again. The primary use case I have in mind for this is automated
testing of the opcache file cache.

This resolves bug #76535.

show more ...


# db0cdcbb 20-May-2020 Nikita Popov

Fix static property indirections in file cache

If the class is already linked, we need to serialize and
unserialize INDIRECTed static properties. Normally these would
be set up when

Fix static property indirections in file cache

If the class is already linked, we need to serialize and
unserialize INDIRECTed static properties. Normally these would
be set up when copying from cache.

show more ...


# 0695048e 18-May-2020 Dmitry Stogov

JIT refactoring to allow run-time changes of JIT options (triggers, optimization_level, debug flags, etc)


Revision tags: php-7.4.5RC1, php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16, php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14
# bd197728 16-Jan-2020 Nikita Popov

Use zend_type inside type lists

Instead of having a completely independent encoding for type list
entries. This is going to use more memory, but I'm not particularly
concerned about

Use zend_type inside type lists

Instead of having a completely independent encoding for type list
entries. This is going to use more memory, but I'm not particularly
concerned about that, as type unions that contain multiple classes
should be uncommon. On the other hand, this allows us to treat
top-level types and types inside lists mostly the same.

A new ZEND_TYPE_FOREACH macros allows to transparently treat list
and non-list types the same way. I'm not using it everywhere it could be
used for now, just the places that seemed most obvious.

Of course, this will make any future type system changes much simpler,
as it will not be necessary to duplicate all logic two times.

show more ...


Revision tags: php-7.3.14RC1, php-7.4.2RC1
# 8abb2ced 02-Jan-2020 Nikita Popov

Fixed bug #79055

Fix file cache serialization of property types. I'm changing the
overall type serialization format to perform additional adjustments
in order to yield a plausible po

Fixed bug #79055

Fix file cache serialization of property types. I'm changing the
overall type serialization format to perform additional adjustments
in order to yield a plausible pointer for zend_type, rather than
using an entirely separate serialization format, as was previously
done. That would have been annoying to extend to the case of CE
pointers.

show more ...


# 48622970 02-Jan-2020 Nikita Popov

Extract functions for file cache type serialization

This is already done in master.


# 36d5fbbd 02-Jan-2020 Nikita Popov

Fix file cache run_time_cache unserialization

If the script was serialized as file_cache_only (thus non-immutable)
and then gets unserialized into SHM, we need to allocate a new
run_

Fix file cache run_time_cache unserialization

If the script was serialized as file_cache_only (thus non-immutable)
and then gets unserialized into SHM, we need to allocate a new
run_time_cache slot and can't use the serialized arena pointer.

show more ...


Revision tags: php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1, php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3
# 999e32b6 25-Sep-2019 Nikita Popov

Implement union types

According to RFC: https://wiki.php.net/rfc/union_types_v2

The type representation now makes use of both the pointer payload
and the type mask at the same t

Implement union types

According to RFC: https://wiki.php.net/rfc/union_types_v2

The type representation now makes use of both the pointer payload
and the type mask at the same time. Additionall, zend_type_list is
introduced as a new kind of pointer payload, which is used to store
multiple class types. Each of the class types is a tagged pointer,
which may be either a class name or class entry. The latter is only
used for typed properties, while arguments/returns will instead use
cache slots. A type list can contain a mix of both names and CEs at
the same time, as not all classes may be resolvable.

One thing this is missing is support for union types in arginfo
and stubs, which I want to handle separately.

I've also dropped the special object code from the JIT implementation
for now -- I plan to add this back in a different form at a later time.
For now I did not want to include non-trivial JIT changes together
with large functional changes.

Another possible piece of follow-up work is to implement "iterable"
as an internal alias for "array|Traversable". I believe this will
eliminate quite a few special-cases that had to be implemented.

Closes GH-4838.

show more ...


Revision tags: php-7.2.23, php-7.3.10
# ac4e0f08 20-Sep-2019 Nikita Popov

Make zend_type a 2-field struct

We now store the pointer payload and the type mask separately. This
is in preparation for union types, where we will be using both at
the same time.

Make zend_type a 2-field struct

We now store the pointer payload and the type mask separately. This
is in preparation for union types, where we will be using both at
the same time.

To avoid increasing the size of arginfo structures, the
pass_by_reference and is_variadic fields are now stored as part of
the type_mask (8-bit are reserved for custom use).

Different types of pointer payloads are distinguished based on bits
in the type_mask.

show more ...


# e2a6bf48 09-Oct-2019 Mitch Hagstrand

Fix checksum calculation for opcache


Revision tags: php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1
# b065fbde 19-Jul-2019 Dmitry Stogov

ZEND_DECLARE_ANON_CLASS doesn't need to skip anything now. It's immediatelly followed by ZEND_NEW.


# e2ed7e67 16-Jul-2019 Christoph M. Becker

Allow multiple cache instances per user/host on Windows

Formerly, there was at most a single OPcache instance per user and the
so called system ID (which is determined from the PHP versi

Allow multiple cache instances per user/host on Windows

Formerly, there was at most a single OPcache instance per user and the
so called system ID (which is determined from the PHP version).
Sometimes multiple OPcaches might be desired, though, particularly for
unrelated CLI scripts, which may even be necessary (e.g. for our test
suite in parallel mode).

We therefore introduce a new INI directive `opcache.cache_id` which
allows to configure independent OPcache instances for the same user.

We also use `GetUserNameW()` instead of `php_win32_get_username()`,
because the latter retrieves the user name encoded in the
`default_charset`, which can obviously yield different results for
different charsets, leading to OPcache "incompatibilities". Slightly
worse, some characters may not even be encodeable in the
`default_charset` and would be replaced by question marks, which could
result in different users sharing the same OPcache.

We also refactor, and re-use existing APIs to avoid duplicated code.

show more ...


Revision tags: php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20
# da06f7f3 01-Jul-2019 Nikita Popov

Msan: Unpoison buffer written by file cache

It would be great if this were fully initialized, but it's not
really a problem either (as long as we don't care about reproducible
file c

Msan: Unpoison buffer written by file cache

It would be great if this were fully initialized, but it's not
really a problem either (as long as we don't care about reproducible
file cache), so ignore this for now.

show more ...


Revision tags: php-7.4.0alpha2
# 1707f664 21-Jun-2019 Dmitry Stogov

Additional fix for bug #78185 (File cache no longer works)


# fcd6f2de 20-Jun-2019 Christoph M. Becker

Fix #78189: file cache strips last character of uname hash

We must not forget to increase `len` by one to cater to the directory
separator.


Revision tags: php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2
# 04a6aac5 17-Jun-2019 Christoph M. Becker

Turn system_id into a true global

The system_id is identical for all threads and can be computed during
module startup, so there is no need to calculate and store it for each
thread.


Revision tags: php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30
# 89b2d886 24-May-2019 Nikita Popov

Register class before fetching parent

We want the class declaration to be available while compiling the
parent class.


Revision tags: php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1
# 5477d683 11-Apr-2019 Anatol Belski

Fix potential OPcache file cache related issues

To solve issues detected during testing, we backport the following
commits to PHP 7.2:

129c5c1181bf344b37e13fd6dc5dfe76c13d7208

Fix potential OPcache file cache related issues

To solve issues detected during testing, we backport the following
commits to PHP 7.2:

129c5c1181bf344b37e13fd6dc5dfe76c13d7208
9ac133a0b3863ca4d9659140154ee237e5f4669a
ce72bc6b658c335dd37393d0beb28584e6805e97

show more ...


# 6dd74504 11-Apr-2019 Nikita Popov

Fix opcache build without JIT


# f31d7ca8 10-Apr-2019 Anatol Belski

Fix phar:// include handling with file cache


Revision tags: php-7.2.17, php-7.3.4, php-7.1.28
# 9a068760 01-Apr-2019 Dmitry Stogov

Added JIT compiler for x86 and x86_64


Revision tags: php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1
# c32da66e 07-Feb-2019 Nikita Popov

Remove --disable-opcache-filecache option

This is no longer an experimental feature, and we have the ability
to control this at runtime via an ini setting.


Revision tags: php-7.2.15, php-7.3.2
# da919a8b 05-Feb-2019 Dmitry Stogov

Remove copyright years.


Revision tags: php-7.2.15RC1, php-7.3.2RC1, php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14
# e219ec14 07-Jan-2019 Nikita Popov

Implement typed properties

RFC: https://wiki.php.net/rfc/typed_properties_v2

This is a squash of PR #3734, which is a squash of PR #3313.

Co-authored-by: Bob Weinand <bobwe

Implement typed properties

RFC: https://wiki.php.net/rfc/typed_properties_v2

This is a squash of PR #3734, which is a squash of PR #3313.

Co-authored-by: Bob Weinand <bobwei9@hotmail.com>
Co-authored-by: Joe Watkins <krakjoe@php.net>
Co-authored-by: Dmitry Stogov <dmitry@zend.com>

show more ...


# fbdaabba 08-Jan-2019 jvoisin

Fix some sign-related issues in comparisons


1234567