Browse Source
Add first-class callable cache
Add first-class callable cache
This cache is implemented in two levels: A EG(callable_convert_cache) global that maps zend_function pointers to a shared callable instance, and a CALLABLE_CONVERT cache slot to remember the result of the hash table lookup. Fixes GH-19754 Closes GH-19863pull/17433/merge
No known key found for this signature in database
GPG Key ID: 115CEA7A713E12E9
14 changed files with 109 additions and 28 deletions
-
4NEWS
-
6Zend/Optimizer/compact_literals.c
-
8Zend/tests/closures/fcc-cache.phpt
-
6Zend/tests/exit/exit_as_function.phpt
-
8Zend/tests/first_class_callable/constexpr/namespace_004.phpt
-
6Zend/tests/first_class_callable/first_class_callable_optimization.phpt
-
14Zend/tests/magic_methods/trampoline_closure_named_arguments.phpt
-
9Zend/zend_compile.c
-
6Zend/zend_execute_API.c
-
2Zend/zend_globals.h
-
20Zend/zend_vm_def.h
-
36Zend/zend_vm_execute.h
-
2Zend/zend_vm_opcodes.c
-
10ext/dom/tests/registerPhpFunctionNS.phpt
@ -0,0 +1,8 @@ |
|||
--TEST-- |
|||
FCCs are cached and shared |
|||
--FILE-- |
|||
<?php |
|||
var_dump(strlen(...) === strlen(...)); |
|||
?> |
|||
--EXPECT-- |
|||
bool(true) |
Write
Preview
Loading…
Cancel
Save
Reference in new issue