php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_func_info.h File Reference
#include "zend_ssa.h"

Go to the source code of this file.

Macros

#define ZEND_FUNC_INDIRECT_VAR_ACCESS   (1<<0) /* accesses variables by name */
 
#define ZEND_FUNC_HAS_CALLS   (1<<1)
 
#define ZEND_FUNC_VARARG   (1<<2) /* uses func_get_args() */
 
#define ZEND_FUNC_NO_LOOPS   (1<<3)
 
#define ZEND_FUNC_IRREDUCIBLE   (1<<4)
 
#define ZEND_FUNC_FREE_LOOP_VAR   (1<<5)
 
#define ZEND_FUNC_RECURSIVE   (1<<7)
 
#define ZEND_FUNC_RECURSIVE_DIRECTLY   (1<<8)
 
#define ZEND_FUNC_RECURSIVE_INDIRECTLY   (1<<9)
 
#define ZEND_FUNC_HAS_EXTENDED_FCALL   (1<<10)
 
#define ZEND_FUNC_HAS_EXTENDED_STMT   (1<<11)
 
#define ZEND_SSA_TSSA   (1<<12) /* used by tracing JIT */
 
#define ZEND_FUNC_JIT_ON_FIRST_EXEC   (1<<13) /* used by JIT */
 
#define ZEND_FUNC_JIT_ON_PROF_REQUEST   (1<<14) /* used by JIT */
 
#define ZEND_FUNC_JIT_ON_HOT_COUNTERS   (1<<15) /* used by JIT */
 
#define ZEND_FUNC_JIT_ON_HOT_TRACE   (1<<16) /* used by JIT */
 
#define ZEND_FUNC_INFO(op_array)
 
#define ZEND_SET_FUNC_INFO(op_array, info)
 

Typedefs

typedef struct _zend_func_info zend_func_info
 
typedef struct _zend_call_info zend_call_info
 

Functions

uint32_t zend_get_internal_func_info (const zend_function *callee_func, const zend_call_info *call_info, const zend_ssa *ssa)
 
ZEND_API uint32_t zend_get_func_info (const zend_call_info *call_info, const zend_ssa *ssa, zend_class_entry **ce, bool *ce_is_instanceof)
 
zend_result zend_func_info_startup (void)
 
zend_result zend_func_info_shutdown (void)
 

Variables

ZEND_API int zend_func_info_rid
 

Macro Definition Documentation

◆ ZEND_FUNC_FREE_LOOP_VAR

#define ZEND_FUNC_FREE_LOOP_VAR   (1<<5)

Definition at line 30 of file zend_func_info.h.

◆ ZEND_FUNC_HAS_CALLS

#define ZEND_FUNC_HAS_CALLS   (1<<1)

Definition at line 26 of file zend_func_info.h.

◆ ZEND_FUNC_HAS_EXTENDED_FCALL

#define ZEND_FUNC_HAS_EXTENDED_FCALL   (1<<10)

Definition at line 34 of file zend_func_info.h.

◆ ZEND_FUNC_HAS_EXTENDED_STMT

#define ZEND_FUNC_HAS_EXTENDED_STMT   (1<<11)

Definition at line 35 of file zend_func_info.h.

◆ ZEND_FUNC_INDIRECT_VAR_ACCESS

#define ZEND_FUNC_INDIRECT_VAR_ACCESS   (1<<0) /* accesses variables by name */

Definition at line 25 of file zend_func_info.h.

◆ ZEND_FUNC_INFO

#define ZEND_FUNC_INFO ( op_array)
Value:
((zend_func_info*)((op_array)->reserved[zend_func_info_rid]))
ZEND_API int zend_func_info_rid
struct _zend_func_info zend_func_info

Definition at line 47 of file zend_func_info.h.

◆ ZEND_FUNC_IRREDUCIBLE

#define ZEND_FUNC_IRREDUCIBLE   (1<<4)

Definition at line 29 of file zend_func_info.h.

◆ ZEND_FUNC_JIT_ON_FIRST_EXEC

#define ZEND_FUNC_JIT_ON_FIRST_EXEC   (1<<13) /* used by JIT */

Definition at line 38 of file zend_func_info.h.

◆ ZEND_FUNC_JIT_ON_HOT_COUNTERS

#define ZEND_FUNC_JIT_ON_HOT_COUNTERS   (1<<15) /* used by JIT */

Definition at line 40 of file zend_func_info.h.

◆ ZEND_FUNC_JIT_ON_HOT_TRACE

#define ZEND_FUNC_JIT_ON_HOT_TRACE   (1<<16) /* used by JIT */

Definition at line 41 of file zend_func_info.h.

◆ ZEND_FUNC_JIT_ON_PROF_REQUEST

#define ZEND_FUNC_JIT_ON_PROF_REQUEST   (1<<14) /* used by JIT */

Definition at line 39 of file zend_func_info.h.

◆ ZEND_FUNC_NO_LOOPS

#define ZEND_FUNC_NO_LOOPS   (1<<3)

Definition at line 28 of file zend_func_info.h.

◆ ZEND_FUNC_RECURSIVE

#define ZEND_FUNC_RECURSIVE   (1<<7)

Definition at line 31 of file zend_func_info.h.

◆ ZEND_FUNC_RECURSIVE_DIRECTLY

#define ZEND_FUNC_RECURSIVE_DIRECTLY   (1<<8)

Definition at line 32 of file zend_func_info.h.

◆ ZEND_FUNC_RECURSIVE_INDIRECTLY

#define ZEND_FUNC_RECURSIVE_INDIRECTLY   (1<<9)

Definition at line 33 of file zend_func_info.h.

◆ ZEND_FUNC_VARARG

#define ZEND_FUNC_VARARG   (1<<2) /* uses func_get_args() */

Definition at line 27 of file zend_func_info.h.

◆ ZEND_SET_FUNC_INFO

#define ZEND_SET_FUNC_INFO ( op_array,
info )
Value:
do { \
zend_func_info** pinfo = (zend_func_info**)&(op_array)->reserved[zend_func_info_rid]; \
*pinfo = info; \
} while (0)

Definition at line 50 of file zend_func_info.h.

◆ ZEND_SSA_TSSA

#define ZEND_SSA_TSSA   (1<<12) /* used by tracing JIT */

Definition at line 36 of file zend_func_info.h.

Typedef Documentation

◆ zend_call_info

Definition at line 45 of file zend_func_info.h.

◆ zend_func_info

Definition at line 44 of file zend_func_info.h.

Function Documentation

◆ zend_func_info_shutdown()

zend_result zend_func_info_shutdown ( void )

Definition at line 231 of file zend_func_info.c.

◆ zend_func_info_startup()

zend_result zend_func_info_startup ( void )

Definition at line 214 of file zend_func_info.c.

◆ zend_get_func_info()

ZEND_API uint32_t zend_get_func_info ( const zend_call_info * call_info,
const zend_ssa * ssa,
zend_class_entry ** ce,
bool * ce_is_instanceof )

Definition at line 132 of file zend_func_info.c.

◆ zend_get_internal_func_info()

uint32_t zend_get_internal_func_info ( const zend_function * callee_func,
const zend_call_info * call_info,
const zend_ssa * ssa )

Definition at line 101 of file zend_func_info.c.

Variable Documentation

◆ zend_func_info_rid

ZEND_API int zend_func_info_rid
extern

Definition at line 99 of file zend_func_info.c.