php-internal-docs 8.4.8
Unofficial docs for php/php-src
|
#include <stdio.h>
#include <signal.h>
#include "zend.h"
#include "zend_compile.h"
#include "zend_execute.h"
#include "zend_API.h"
#include "zend_ptr_stack.h"
#include "zend_constants.h"
#include "zend_extensions.h"
#include "zend_ini.h"
#include "zend_exceptions.h"
#include "zend_interfaces.h"
#include "zend_closures.h"
#include "zend_generators.h"
#include "zend_vm.h"
#include "zend_dtrace.h"
#include "zend_inheritance.h"
#include "zend_type_info.h"
#include "zend_smart_str.h"
#include "zend_observer.h"
#include "zend_system_id.h"
#include "zend_call_stack.h"
#include "zend_attributes.h"
#include "Optimizer/zend_func_info.h"
#include "zend_virtual_cwd.h"
#include "zend_vm_execute.h"
Go to the source code of this file.
Typedefs | |
typedef int(ZEND_FASTCALL * | incdec_t) (zval *) |
Variables | |
ZEND_API const zend_internal_function | zend_pass_function |
#define _CONST_CODE 0 |
Definition at line 113 of file zend_execute.c.
#define _CV_CODE 4 |
Definition at line 117 of file zend_execute.c.
#define _TMP_CODE 1 |
Definition at line 114 of file zend_execute.c.
#define _UNUSED_CODE 3 |
Definition at line 116 of file zend_execute.c.
#define _VAR_CODE 2 |
Definition at line 115 of file zend_execute.c.
#define _zend_vm_stack_push_call_frame zend_vm_stack_push_call_frame |
Definition at line 5510 of file zend_execute.c.
#define _zend_vm_stack_push_call_frame_ex zend_vm_stack_push_call_frame_ex |
Definition at line 5509 of file zend_execute.c.
#define CHECK_SYMBOL_TABLES | ( | ) |
Definition at line 4041 of file zend_execute.c.
#define CV_DEF_OF | ( | i | ) |
Definition at line 181 of file zend_execute.c.
#define EXECUTE_DATA_C execute_data |
Definition at line 88 of file zend_execute.c.
#define EXECUTE_DATA_CC , EXECUTE_DATA_C |
Definition at line 90 of file zend_execute.c.
#define EXECUTE_DATA_D zend_execute_data* execute_data |
Definition at line 87 of file zend_execute.c.
#define EXECUTE_DATA_DC , EXECUTE_DATA_D |
Definition at line 89 of file zend_execute.c.
Definition at line 176 of file zend_execute.c.
#define FREE_VAR_PTR_AND_EXTRACT_RESULT_IF_NECESSARY | ( | free_var | ) |
Definition at line 162 of file zend_execute.c.
Definition at line 128 of file zend_execute.c.
Definition at line 130 of file zend_execute.c.
Definition at line 129 of file zend_execute.c.
#define get_op_data_zval_ptr_deref_r | ( | op_type, | |
node ) |
Definition at line 125 of file zend_execute.c.
#define get_op_data_zval_ptr_r | ( | op_type, | |
node ) |
Definition at line 124 of file zend_execute.c.
Definition at line 121 of file zend_execute.c.
Definition at line 122 of file zend_execute.c.
Definition at line 126 of file zend_execute.c.
Definition at line 127 of file zend_execute.c.
Definition at line 123 of file zend_execute.c.
#define HAVE_CACHE_SLOT 1 |
Definition at line 1105 of file zend_execute.c.
Definition at line 91 of file zend_execute.c.
#define OPLINE_C opline |
Definition at line 101 of file zend_execute.c.
Definition at line 103 of file zend_execute.c.
Definition at line 100 of file zend_execute.c.
Definition at line 102 of file zend_execute.c.
#define PROGRESS_CACHE_SLOT | ( | ) |
Definition at line 1108 of file zend_execute.c.
#define RETURN_VALUE_USED | ( | opline | ) |
Definition at line 132 of file zend_execute.c.
#define UNDEF_RESULT | ( | ) |
Definition at line 5674 of file zend_execute.c.
#define ZEND_FAKE_OP_ARRAY ((zend_op_array*)(intptr_t)-1) |
Definition at line 5074 of file zend_execute.c.
#define ZEND_INTENSIVE_DEBUGGING 0 |
Definition at line 21 of file zend_execute.c.
ZEND_VM_FCALL_INTERRUPT_CHECK | ( | call | ) |
Definition at line 4103 of file zend_execute.c.
Definition at line 5671 of file zend_execute.c.
#define ZEND_VM_INC_OPCODE | ( | ) |
Definition at line 5565 of file zend_execute.c.
#define ZEND_VM_INTERRUPT_CHECK | ( | ) |
Definition at line 4091 of file zend_execute.c.
#define ZEND_VM_JMP | ( | new_op | ) |
Definition at line 5562 of file zend_execute.c.
#define ZEND_VM_JMP_EX | ( | new_op, | |
check_exception ) |
Definition at line 5554 of file zend_execute.c.
#define ZEND_VM_LOOP_INTERRUPT_CHECK | ( | ) |
Definition at line 4097 of file zend_execute.c.
ZEND_VM_NEXT_OPCODE | ( | ) |
Definition at line 5536 of file zend_execute.c.
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION | ( | ) |
Definition at line 5533 of file zend_execute.c.
#define ZEND_VM_NEXT_OPCODE_EX | ( | check_exception, | |
skip ) |
Definition at line 5523 of file zend_execute.c.
#define ZEND_VM_REPEAT_OPCODE | ( | _opcode | ) |
Definition at line 5571 of file zend_execute.c.
Definition at line 5569 of file zend_execute.c.
#define ZEND_VM_SET_NEXT_OPCODE | ( | new_op | ) |
Definition at line 5539 of file zend_execute.c.
#define ZEND_VM_SET_OPCODE | ( | new_op | ) |
Definition at line 5547 of file zend_execute.c.
#define ZEND_VM_SET_OPCODE_NO_INTERRUPT | ( | new_op | ) |
Definition at line 5543 of file zend_execute.c.
Definition at line 5551 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH | ( | _result, | |
_check ) |
Definition at line 5575 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH_FALSE | ( | ) |
Definition at line 5644 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH_FALSE_JMPNZ | ( | ) |
Definition at line 5659 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH_FALSE_JMPZ | ( | ) |
Definition at line 5655 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH_FALSE_NONE | ( | ) |
Definition at line 5663 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH_JMPNZ | ( | _result, | |
_check ) |
Definition at line 5606 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH_JMPZ | ( | _result, | |
_check ) |
Definition at line 5596 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH_NONE | ( | _result, | |
_check ) |
Definition at line 5616 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH_TRUE | ( | ) |
Definition at line 5621 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH_TRUE_JMPNZ | ( | ) |
Definition at line 5636 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH_TRUE_JMPZ | ( | ) |
Definition at line 5632 of file zend_execute.c.
#define ZEND_VM_SMART_BRANCH_TRUE_NONE | ( | ) |
Definition at line 5640 of file zend_execute.c.
Definition at line 187 of file zend_execute.c.
#define ZEND_VM_STACK_PAGE_SIZE (ZEND_VM_STACK_PAGE_SLOTS * sizeof(zval)) |
Definition at line 185 of file zend_execute.c.
Definition at line 183 of file zend_execute.c.
#define ZVAL_UNDEFINED_OP1 | ( | ) |
Definition at line 294 of file zend_execute.c.
#define ZVAL_UNDEFINED_OP2 | ( | ) |
Definition at line 295 of file zend_execute.c.
typedef int(ZEND_FASTCALL * incdec_t) (zval *) |
Definition at line 119 of file zend_execute.c.
ZEND_API void execute_internal | ( | zend_execute_data * | execute_data, |
zval * | return_value ) |
Definition at line 4044 of file zend_execute.c.
ZEND_API void | ( | ZEND_FASTCALL * | zend_touch_vm_stack_data | ) |
ZEND_API zval * zend_assign_to_typed_ref | ( | zval * | variable_ptr, |
zval * | orig_value, | ||
uint8_t | value_type, | ||
bool | strict ) |
Definition at line 3853 of file zend_execute.c.
ZEND_API zval * zend_assign_to_typed_ref_ex | ( | zval * | variable_ptr, |
zval * | orig_value, | ||
uint8_t | value_type, | ||
bool | strict, | ||
zend_refcounted ** | garbage_ptr ) |
Definition at line 3818 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_asymmetric_visibility_property_modification_error | ( | const zend_property_info * | prop_info, |
const char * | operation ) |
Definition at line 921 of file zend_execute.c.
ZEND_API zend_never_inline ZEND_COLD void ZEND_FASTCALL zend_cannot_add_element | ( | void | ) |
Definition at line 2488 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_cannot_pass_by_reference | ( | uint32_t | arg_num | ) |
Definition at line 599 of file zend_execute.c.
ZEND_API bool zend_check_user_type_slow | ( | zend_type * | type, |
zval * | arg, | ||
zend_reference * | ref, | ||
void ** | cache_slot, | ||
bool | is_return_type ) |
Definition at line 1251 of file zend_execute.c.
ZEND_API void zend_clean_and_cache_symbol_table | ( | zend_array * | symbol_table | ) |
Definition at line 4049 of file zend_execute.c.
ZEND_API void zend_cleanup_unfinished_execution | ( | zend_execute_data * | execute_data, |
uint32_t | op_num, | ||
uint32_t | catch_op_num ) |
Definition at line 4747 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_deprecated_class_constant | ( | const zend_class_constant * | c, |
const zend_string * | constant_name ) |
Definition at line 1908 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_deprecated_function | ( | const zend_function * | fbc | ) |
Definition at line 1882 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_false_to_array_deprecated | ( | void | ) |
Definition at line 1929 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_fcall_interrupt | ( | zend_execute_data * | call | ) |
Definition at line 4081 of file zend_execute.c.
Definition at line 3098 of file zend_execute.c.
ZEND_API zend_function *ZEND_FASTCALL zend_fetch_function | ( | zend_string * | name | ) |
Definition at line 4252 of file zend_execute.c.
ZEND_API zend_function *ZEND_FASTCALL zend_fetch_function_str | ( | const char * | name, |
size_t | len ) |
Definition at line 4267 of file zend_execute.c.
ZEND_API void zend_frameless_observed_call | ( | zend_execute_data * | execute_data | ) |
Definition at line 1594 of file zend_execute.c.
ZEND_API void ZEND_FASTCALL zend_free_compiled_variables | ( | zend_execute_data * | execute_data | ) |
Definition at line 4075 of file zend_execute.c.
ZEND_API void ZEND_FASTCALL zend_free_extra_named_params | ( | zend_array * | extra_named_params | ) |
Definition at line 5474 of file zend_execute.c.
Definition at line 242 of file zend_execute.c.
ZEND_API zval * zend_get_compiled_variable_value | ( | const zend_execute_data * | execute_data, |
uint32_t | var ) |
Definition at line 237 of file zend_execute.c.
ZEND_API user_opcode_handler_t zend_get_user_opcode_handler | ( | zend_uchar | opcode | ) |
Definition at line 5700 of file zend_execute.c.
ZEND_API zval * zend_get_zval_ptr | ( | const zend_op * | opline, |
int | op_type, | ||
const znode_op * | node, | ||
const zend_execute_data * | execute_data ) |
Definition at line 5705 of file zend_execute.c.
zval *ZEND_FASTCALL zend_handle_named_arg | ( | zend_execute_data ** | call_ptr, |
zend_string * | arg_name, | ||
uint32_t * | arg_num_ptr, | ||
void ** | cache_slot ) |
Definition at line 5290 of file zend_execute.c.
ZEND_API zend_result ZEND_FASTCALL zend_handle_undef_args | ( | zend_execute_data * | call | ) |
Definition at line 5369 of file zend_execute.c.
ZEND_API void zend_init_code_execute_data | ( | zend_execute_data * | execute_data, |
zend_op_array * | op_array, | ||
zval * | return_value ) |
Definition at line 4345 of file zend_execute.c.
ZEND_API void zend_init_execute_data | ( | zend_execute_data * | execute_data, |
zend_op_array * | op_array, | ||
zval * | return_value ) |
Definition at line 4352 of file zend_execute.c.
ZEND_API void zend_init_func_execute_data | ( | zend_execute_data * | ex, |
zend_op_array * | op_array, | ||
zval * | return_value ) |
Definition at line 4315 of file zend_execute.c.
ZEND_API void ZEND_FASTCALL zend_init_func_run_time_cache | ( | zend_op_array * | op_array | ) |
Definition at line 4282 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_invalid_class_constant_type_error | ( | uint8_t | type | ) |
Definition at line 910 of file zend_execute.c.
ZEND_COLD zend_never_inline void zend_magic_get_property_type_inconsistency_error | ( | const zend_property_info * | info, |
const zval * | property ) |
Definition at line 858 of file zend_execute.c.
Definition at line 875 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_missing_arg_error | ( | zend_execute_data * | execute_data | ) |
Definition at line 1413 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_object_released_while_assigning_to_property_error | ( | const zend_property_info * | info | ) |
Definition at line 915 of file zend_execute.c.
ZEND_COLD void ZEND_FASTCALL zend_param_must_be_ref | ( | const zend_function * | func, |
uint32_t | arg_num ) |
Definition at line 2468 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_readonly_property_indirect_modification_error | ( | const zend_property_info * | info | ) |
Definition at line 904 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_readonly_property_modification_error | ( | const zend_property_info * | info | ) |
Definition at line 893 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_readonly_property_modification_error_ex | ( | const char * | class_name, |
const char * | prop_name ) |
Definition at line 899 of file zend_execute.c.
ZEND_API void ZEND_FASTCALL zend_ref_add_type_source | ( | zend_property_info_source_list * | source_list, |
zend_property_info * | prop ) |
Definition at line 3908 of file zend_execute.c.
ZEND_API void ZEND_FASTCALL zend_ref_del_type_source | ( | zend_property_info_source_list * | source_list, |
const zend_property_info * | prop ) |
Definition at line 3931 of file zend_execute.c.
ZEND_API zend_result zend_set_user_opcode_handler | ( | zend_uchar | opcode, |
user_opcode_handler_t | handler ) |
Definition at line 5685 of file zend_execute.c.
ZEND_API ZEND_COLD void zend_throw_conflicting_coercion_error | ( | const zend_property_info * | prop1, |
const zend_property_info * | prop2, | ||
const zval * | zv ) |
Definition at line 3685 of file zend_execute.c.
ZEND_API ZEND_COLD void zend_throw_ref_type_error_type | ( | const zend_property_info * | prop1, |
const zend_property_info * | prop2, | ||
const zval * | zv ) |
Definition at line 3658 of file zend_execute.c.
ZEND_API ZEND_COLD void zend_throw_ref_type_error_zval | ( | const zend_property_info * | prop, |
const zval * | zv ) |
Definition at line 3674 of file zend_execute.c.
ZEND_API ZEND_COLD zval *ZEND_FASTCALL zend_undefined_index_write | ( | HashTable * | ht, |
zend_string * | offset ) |
Definition at line 2423 of file zend_execute.c.
ZEND_API ZEND_COLD zval *ZEND_FASTCALL zend_undefined_offset_write | ( | HashTable * | ht, |
zend_long | lval ) |
Definition at line 2403 of file zend_execute.c.
ZEND_API void zend_unfinished_calls_gc | ( | zend_execute_data * | execute_data, |
zend_execute_data * | call, | ||
uint32_t | op_num, | ||
zend_get_gc_buffer * | buf ) |
Definition at line 4408 of file zend_execute.c.
ZEND_API ZEND_ATTRIBUTE_DEPRECATED HashTable * zend_unfinished_execution_gc | ( | zend_execute_data * | execute_data, |
zend_execute_data * | call, | ||
zend_get_gc_buffer * | gc_buffer ) |
Definition at line 4752 of file zend_execute.c.
ZEND_API HashTable * zend_unfinished_execution_gc_ex | ( | zend_execute_data * | execute_data, |
zend_execute_data * | call, | ||
zend_get_gc_buffer * | gc_buffer, | ||
bool | suspended_by_yield ) |
Definition at line 4757 of file zend_execute.c.
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_use_resource_as_offset | ( | const zval * | dim | ) |
Definition at line 2493 of file zend_execute.c.
ZEND_API ZEND_COLD void zend_verify_arg_error | ( | const zend_function * | zf, |
const zend_arg_info * | arg_info, | ||
uint32_t | arg_num, | ||
zval * | value ) |
Definition at line 698 of file zend_execute.c.
ZEND_API bool zend_never_inline zend_verify_class_constant_type | ( | zend_class_constant * | c, |
const zend_string * | name, | ||
zval * | constant ) |
Definition at line 1541 of file zend_execute.c.
ZEND_COLD zend_never_inline void zend_verify_class_constant_type_error | ( | const zend_class_constant * | c, |
const zend_string * | name, | ||
const zval * | constant ) |
Definition at line 830 of file zend_execute.c.
ZEND_API ZEND_COLD void zend_verify_never_error | ( | const zend_function * | zf | ) |
Definition at line 1454 of file zend_execute.c.
ZEND_API bool ZEND_FASTCALL zend_verify_prop_assignable_by_ref | ( | const zend_property_info * | prop_info, |
zval * | orig_val, | ||
bool | strict ) |
Definition at line 3904 of file zend_execute.c.
ZEND_API bool ZEND_FASTCALL zend_verify_prop_assignable_by_ref_ex | ( | const zend_property_info * | prop_info, |
zval * | orig_val, | ||
bool | strict, | ||
zend_verify_prop_assignable_by_ref_context | context ) |
Definition at line 3863 of file zend_execute.c.
ZEND_API bool zend_never_inline zend_verify_property_type | ( | const zend_property_info * | info, |
zval * | property, | ||
bool | strict ) |
Definition at line 1056 of file zend_execute.c.
ZEND_COLD zend_never_inline void zend_verify_property_type_error | ( | const zend_property_info * | info, |
const zval * | property ) |
Definition at line 840 of file zend_execute.c.
ZEND_API bool zend_verify_ref_array_assignable | ( | zend_reference * | ref | ) |
Definition at line 3284 of file zend_execute.c.
ZEND_API bool ZEND_FASTCALL zend_verify_ref_assignable_zval | ( | zend_reference * | ref, |
zval * | zv, | ||
bool | strict ) |
Definition at line 3743 of file zend_execute.c.
ZEND_API ZEND_COLD void zend_verify_return_error | ( | const zend_function * | zf, |
zval * | value ) |
Definition at line 1438 of file zend_execute.c.
ZEND_API bool zend_verify_scalar_type_hint | ( | uint32_t | type_mask, |
zval * | arg, | ||
bool | strict, | ||
bool | is_internal_arg ) |
Definition at line 809 of file zend_execute.c.
zend_execute_data * zend_vm_stack_copy_call_frame | ( | zend_execute_data * | call, |
uint32_t | passed_args, | ||
uint32_t | additional_args ) |
Definition at line 4362 of file zend_execute.c.
Definition at line 209 of file zend_execute.c.
Definition at line 220 of file zend_execute.c.
Definition at line 191 of file zend_execute.c.
Definition at line 199 of file zend_execute.c.
Definition at line 1772 of file zend_execute.c.
ZEND_API const zend_internal_function zend_pass_function |