History log of /PHP-8.2/ext/opcache/tests/preload_loadable_classes_2.phpt (Results 1 – 11 of 11)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# e9f783fc 01-Apr-2021 Max Semenik

Migrate skip checks to --EXTENSIONS--, p3

For rationale, see #6787

Extensions migrated in part 3:
* ftp
* gmp
* iconv
* opcache
* shmop

# 4b79dba9 09-Feb-2021 Dmitry Stogov

Added Inheritance Cache.

This is a new transparent technology that eliminates overhead of PHP class inheritance.

PHP classes are compiled and cached (by opcahce) separately, howeve

Added Inheritance Cache.

This is a new transparent technology that eliminates overhead of PHP class inheritance.

PHP classes are compiled and cached (by opcahce) separately, however their "linking" was done at run-time - on each request. The process of "linking" may involve a number of compatibility checks and borrowing methods/properties/constants form parent and traits. This takes significant time, but the result is the same on each request.

Inheritance Cache performs "linking" for unique set of all the depending classes (parent, interfaces, traits, property types, method types involved into compatibility checks) once and stores result in opcache shared memory. As a part of the this patch, I removed limitations for immutable classes (unresolved constants, typed properties and covariant type checks). So now all classes stored in opcache are "immutable". They may be lazily loaded into process memory, if necessary, but this usually occurs just once (on first linking).

The patch shows 8% improvement on Symphony "Hello World" app.

show more ...

# 41de27ec 30-Jul-2020 Dmitry Stogov

Skip tests leaking because of preloading failure.

# d30cd7d7 26-May-2020 Máté Kocsis

Review the usage of apostrophes in error messages

Closes GH-5590

# 0c6d06ec 29-Jun-2020 Fabien Villepinte

Replace EXPECTF when possible

Closes GH-5779

# 9b6c0bdc 06-Jan-2020 Nikita Popov

Merge branch 'PHP-7.4'

* PHP-7.4:
Remove support for preloading on Windows


# 59c3ddab 10-Dec-2019 Nikita Popov

Remove support for preloading on Windows

Due to ASLR restrictions, preloading on Windows does not work with
any code that has preloading dependencies on internal classes.
This effect

Remove support for preloading on Windows

Due to ASLR restrictions, preloading on Windows does not work with
any code that has preloading dependencies on internal classes.
This effectively makes it unusable for any non-trivial codebase.

Instead of pretending like preloading is going to work, only to
make people realize that it really doesn't once they get beyond
a dummy example, we disable support for preloading on Windows
entirely.

Closes GH-4999.

show more ...

# fa18c115 10-Dec-2019 Nikita Popov

Merge branch 'PHP-7.4'

* PHP-7.4:
Fix release build failure


# d6f86caa 10-Dec-2019 Nikita Popov

Fix release build failure

GCC complained about potentially uninitialized __orig_bailout,
even though the variable has an initializer. This warning was
quite persistent, I was only ab

Fix release build failure

GCC complained about potentially uninitialized __orig_bailout,
even though the variable has an initializer. This warning was
quite persistent, I was only able to avoid it by using a separate
function.

Am I missing something?

show more ...

# 5cdea8d5 10-Dec-2019 Nikita Popov

Merge branch 'PHP-7.4'

* PHP-7.4:
Add support for class_alias to preloading
Fixed bug #78935: Check that all linked classes can be preloaded


# 3f86adb0 09-Dec-2019 Nikita Popov

Fixed bug #78935: Check that all linked classes can be preloaded

During preloading, check that all classes that have been included
as part of the preload script itself (rather than throu

Fixed bug #78935: Check that all linked classes can be preloaded

During preloading, check that all classes that have been included
as part of the preload script itself (rather than through opcache_compile_file)
can actually be preloaded, i.e. satisfy Windows restrictions, have
resolved initializers and resolved property types. When resolving
initializers and property types, also autoload additional classes.
Because of this, the resolution runs in a loop.

show more ...