php-internal-docs 8.4.8
Unofficial docs for php/php-src
|
#include "zend_optimizer.h"
#include "zend_ssa.h"
#include "zend_bitset.h"
#include "zend_type_info.h"
#include <stdint.h>
Go to the source code of this file.
Macros | |
#define | MAY_BE_PACKED_GUARD (1<<27) /* needs packed array guard */ |
#define | MAY_BE_CLASS_GUARD (1<<27) /* needs class guard */ |
#define | MAY_BE_GUARD (1<<28) /* needs type guard */ |
#define | MAY_HAVE_DTOR |
#define | DEFINE_SSA_OP_HAS_RANGE(opN) |
#define | DEFINE_SSA_OP_MIN_RANGE(opN) |
#define | DEFINE_SSA_OP_MAX_RANGE(opN) |
#define | DEFINE_SSA_OP_RANGE_UNDERFLOW(opN) |
#define | DEFINE_SSA_OP_RANGE_OVERFLOW(opN) |
#define | OP1_HAS_RANGE() |
#define | OP1_MIN_RANGE() |
#define | OP1_MAX_RANGE() |
#define | OP1_RANGE_UNDERFLOW() |
#define | OP1_RANGE_OVERFLOW() |
#define | OP2_HAS_RANGE() |
#define | OP2_MIN_RANGE() |
#define | OP2_MAX_RANGE() |
#define | OP2_RANGE_UNDERFLOW() |
#define | OP2_RANGE_OVERFLOW() |
#define | DEFINE_SSA_OP_INFO(opN) |
#define | DEFINE_SSA_OP_DEF_INFO(opN) |
#define | OP1_INFO() |
#define | OP2_INFO() |
#define | OP1_DATA_INFO() |
#define | OP2_DATA_INFO() |
#define | RES_USE_INFO() |
#define | OP1_DEF_INFO() |
#define | OP2_DEF_INFO() |
#define | OP1_DATA_DEF_INFO() |
#define | OP2_DATA_DEF_INFO() |
#define | RES_INFO() |
#define DEFINE_SSA_OP_DEF_INFO | ( | opN | ) |
Definition at line 184 of file zend_inference.h.
#define DEFINE_SSA_OP_HAS_RANGE | ( | opN | ) |
Definition at line 39 of file zend_inference.h.
#define DEFINE_SSA_OP_INFO | ( | opN | ) |
Definition at line 174 of file zend_inference.h.
#define DEFINE_SSA_OP_MAX_RANGE | ( | opN | ) |
Definition at line 71 of file zend_inference.h.
#define DEFINE_SSA_OP_MIN_RANGE | ( | opN | ) |
Definition at line 54 of file zend_inference.h.
#define DEFINE_SSA_OP_RANGE_OVERFLOW | ( | opN | ) |
Definition at line 105 of file zend_inference.h.
#define DEFINE_SSA_OP_RANGE_UNDERFLOW | ( | opN | ) |
Definition at line 88 of file zend_inference.h.
#define MAY_BE_CLASS_GUARD (1<<27) /* needs class guard */ |
Definition at line 32 of file zend_inference.h.
Definition at line 33 of file zend_inference.h.
#define MAY_BE_PACKED_GUARD (1<<27) /* needs packed array guard */ |
Definition at line 31 of file zend_inference.h.
#define MAY_HAVE_DTOR |
Definition at line 35 of file zend_inference.h.
#define OP1_DATA_DEF_INFO | ( | ) |
Definition at line 205 of file zend_inference.h.
#define OP1_DATA_INFO | ( | ) |
Definition at line 200 of file zend_inference.h.
#define OP1_DEF_INFO | ( | ) |
Definition at line 203 of file zend_inference.h.
#define OP1_HAS_RANGE | ( | ) |
Definition at line 133 of file zend_inference.h.
#define OP1_INFO | ( | ) |
Definition at line 198 of file zend_inference.h.
#define OP1_MAX_RANGE | ( | ) |
Definition at line 135 of file zend_inference.h.
#define OP1_MIN_RANGE | ( | ) |
Definition at line 134 of file zend_inference.h.
#define OP1_RANGE_OVERFLOW | ( | ) |
Definition at line 137 of file zend_inference.h.
#define OP1_RANGE_UNDERFLOW | ( | ) |
Definition at line 136 of file zend_inference.h.
#define OP2_DATA_DEF_INFO | ( | ) |
Definition at line 206 of file zend_inference.h.
#define OP2_DATA_INFO | ( | ) |
Definition at line 201 of file zend_inference.h.
#define OP2_DEF_INFO | ( | ) |
Definition at line 204 of file zend_inference.h.
#define OP2_HAS_RANGE | ( | ) |
Definition at line 138 of file zend_inference.h.
#define OP2_INFO | ( | ) |
Definition at line 199 of file zend_inference.h.
#define OP2_MAX_RANGE | ( | ) |
Definition at line 140 of file zend_inference.h.
#define OP2_MIN_RANGE | ( | ) |
Definition at line 139 of file zend_inference.h.
#define OP2_RANGE_OVERFLOW | ( | ) |
Definition at line 142 of file zend_inference.h.
#define OP2_RANGE_UNDERFLOW | ( | ) |
Definition at line 141 of file zend_inference.h.
#define RES_INFO | ( | ) |
Definition at line 207 of file zend_inference.h.
#define RES_USE_INFO | ( | ) |
Definition at line 202 of file zend_inference.h.
ZEND_API uint32_t zend_array_element_type | ( | uint32_t | t1, |
uint8_t | op_type, | ||
int | write, | ||
int | insert ) |
Definition at line 2128 of file zend_inference.c.
ZEND_API uint32_t ZEND_FASTCALL zend_array_type_info | ( | const zval * | zv | ) |
Definition at line 2094 of file zend_inference.c.
ZEND_API uint32_t zend_fetch_arg_info_type | ( | const zend_script * | script, |
const zend_arg_info * | arg_info, | ||
zend_class_entry ** | pce ) |
Definition at line 2401 of file zend_inference.c.
uint32_t zend_get_return_info_from_signature_only | ( | const zend_function * | func, |
const zend_script * | script, | ||
zend_class_entry ** | ce, | ||
bool * | ce_is_instanceof, | ||
bool | use_tentative_return_info ) |
Definition at line 4511 of file zend_inference.c.
ZEND_API bool zend_inference_propagate_range | ( | const zend_op_array * | op_array, |
const zend_ssa * | ssa, | ||
const zend_op * | opline, | ||
const zend_ssa_op * | ssa_op, | ||
int | var, | ||
zend_ssa_range * | tmp ) |
Definition at line 1252 of file zend_inference.c.
ZEND_API void zend_init_func_return_info | ( | const zend_op_array * | op_array, |
const zend_script * | script, | ||
zend_ssa_var_info * | ret ) |
Definition at line 4538 of file zend_inference.c.
ZEND_API bool zend_may_throw | ( | const zend_op * | opline, |
const zend_ssa_op * | ssa_op, | ||
const zend_op_array * | op_array, | ||
const zend_ssa * | ssa ) |
Definition at line 5336 of file zend_inference.c.
ZEND_API bool zend_may_throw_ex | ( | const zend_op * | opline, |
const zend_ssa_op * | ssa_op, | ||
const zend_op_array * | op_array, | ||
const zend_ssa * | ssa, | ||
uint32_t | t1, | ||
uint32_t | t2 ) |
Definition at line 4921 of file zend_inference.c.
ZEND_API void zend_ssa_find_false_dependencies | ( | const zend_op_array * | op_array, |
zend_ssa * | ssa ) |
Definition at line 490 of file zend_inference.c.
ZEND_API void zend_ssa_find_sccs | ( | const zend_op_array * | op_array, |
zend_ssa * | ssa ) |
Definition at line 443 of file zend_inference.c.
ZEND_API zend_result zend_ssa_inference | ( | zend_arena ** | raena, |
const zend_op_array * | op_array, | ||
const zend_script * | script, | ||
zend_ssa * | ssa, | ||
zend_long | optimization_level ) |
Definition at line 4880 of file zend_inference.c.
ZEND_API zend_result zend_update_type_info | ( | const zend_op_array * | op_array, |
zend_ssa * | ssa, | ||
const zend_script * | script, | ||
zend_op * | opline, | ||
zend_ssa_op * | ssa_op, | ||
const zend_op ** | ssa_opcodes, | ||
zend_long | optimization_level ) |
Definition at line 4114 of file zend_inference.c.