PHP Class Zephir\Cache\StaticMethodCache

Calls in Zephir implement monomorphic and polymorphic caches to improve performance. Method/Functions lookups are cached in a standard first-level method lookup cache. The concept of inline caching is based on the empirical observation that the objects that occur at a particular call site are often of the same type Internal functions are considered monomorphic since they do not change across execution. Final and private methods are also monomorphic because of their own nature. Due to the Ahead-Of-Time compilation approach provided by Zephir, is not possible to implement inline caches, however is possible to add barriers/guards to take advantage of profile guided optimizations (PGO) and branch prediction. This implementation is based on the work of Hölzle, Chambers and Ungar [1]. [1] http://www.cs.ucsb.edu/~urs/oocsb/papers/ecoop91.pdf
Mostrar archivo Open project: phalcon/zephir

Protected Properties

Property Type Description
$cache

Public Methods

Method Description
get ( Zephir\CompilationContext $compilationContext, ClassMethod | ReflectionMethod $method, boolean $allowNtsCache = true ) : string MethodCache

Method Details

get() public method

MethodCache
public get ( Zephir\CompilationContext $compilationContext, ClassMethod | ReflectionMethod $method, boolean $allowNtsCache = true ) : string
$compilationContext Zephir\CompilationContext
$method Zephir\ClassMethod | ReflectionMethod
$allowNtsCache boolean
return string

Property Details

$cache protected_oe property

protected $cache