php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_jit_vm_helpers.c File Reference

Go to the source code of this file.

Macros

#define TRACE_RECORD(_op, _info, _ptr)
 
#define TRACE_RECORD_VM(_op, _ptr, _op1_type, _op2_type, _op3_type)
 
#define TRACE_START(_op, _start, _ptr1, _ptr2)
 
#define TRACE_END(_op, _stop, _ptr)
 
#define ZEND_CALL_MEGAMORPHIC   ZEND_CALL_JIT_RESERVED
 

Functions

ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_leave_nested_func_helper (uint32_t call_info EXECUTE_DATA_DC)
 
ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_leave_top_func_helper (uint32_t call_info EXECUTE_DATA_DC)
 
ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_leave_func_helper (EXECUTE_DATA_D)
 
void ZEND_FASTCALL zend_jit_copy_extra_args_helper (EXECUTE_DATA_D)
 
void ZEND_FASTCALL zend_jit_copy_extra_args_helper_no_skip_recv (EXECUTE_DATA_D)
 
bool ZEND_FASTCALL zend_jit_deprecated_helper (OPLINE_D)
 
void ZEND_FASTCALL zend_jit_undefined_long_key (EXECUTE_DATA_D)
 
void ZEND_FASTCALL zend_jit_undefined_long_key_ex (zend_long key EXECUTE_DATA_DC)
 
void ZEND_FASTCALL zend_jit_undefined_string_key (EXECUTE_DATA_D)
 
ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_profile_helper (ZEND_OPCODE_HANDLER_ARGS)
 
ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_func_counter_helper (ZEND_OPCODE_HANDLER_ARGS)
 
ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_loop_counter_helper (ZEND_OPCODE_HANDLER_ARGS)
 
zend_constant *ZEND_FASTCALL zend_jit_get_constant (const zval *key, uint32_t flags)
 
zend_constant *ZEND_FASTCALL zend_jit_check_constant (const zval *key)
 
ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_func_trace_helper (ZEND_OPCODE_HANDLER_ARGS)
 
ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_ret_trace_helper (ZEND_OPCODE_HANDLER_ARGS)
 
ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_loop_trace_helper (ZEND_OPCODE_HANDLER_ARGS)
 
zend_jit_trace_stop ZEND_FASTCALL zend_jit_trace_execute (zend_execute_data *ex, const zend_op *op, zend_jit_trace_rec *trace_buffer, uint8_t start, uint32_t is_megamorphic, int ret_depth)
 

Macro Definition Documentation

◆ TRACE_END

#define TRACE_END ( _op,
_stop,
_ptr )
Value:
trace_buffer[1].last = idx; \
trace_buffer[idx].op = _op; \
trace_buffer[idx].start = trace_buffer[idx].start; \
trace_buffer[idx].stop = trace_buffer[0].stop = _stop; \
trace_buffer[idx].level = trace_buffer[0].level = ret_level ? ret_level + 1 : 0; \
trace_buffer[idx].ptr = _ptr;

Definition at line 440 of file zend_jit_vm_helpers.c.

◆ TRACE_RECORD

#define TRACE_RECORD ( _op,
_info,
_ptr )
Value:
trace_buffer[idx].info = _op | (_info); \
trace_buffer[idx].ptr = _ptr; \
idx++; \
if (idx >= JIT_G(max_trace_length) - 2) { \
stop = ZEND_JIT_TRACE_STOP_TOO_LONG; \
break; \
}
#define JIT_G(v)
Definition zend_jit.h:151

Definition at line 410 of file zend_jit_vm_helpers.c.

◆ TRACE_RECORD_VM

#define TRACE_RECORD_VM ( _op,
_ptr,
_op1_type,
_op2_type,
_op3_type )
Value:
trace_buffer[idx].op = _op; \
trace_buffer[idx].op1_type = _op1_type; \
trace_buffer[idx].op2_type = _op2_type; \
trace_buffer[idx].op3_type = _op3_type; \
trace_buffer[idx].ptr = _ptr; \
idx++; \
if (idx >= JIT_G(max_trace_length) - 2) { \
stop = ZEND_JIT_TRACE_STOP_TOO_LONG; \
break; \
}

Definition at line 419 of file zend_jit_vm_helpers.c.

◆ TRACE_START

#define TRACE_START ( _op,
_start,
_ptr1,
_ptr2 )
Value:
trace_buffer[0].op = _op; \
trace_buffer[0].start = _start; \
trace_buffer[0].level = 0; \
trace_buffer[0].ptr = _ptr1; \
trace_buffer[1].last = 0; \
trace_buffer[1].ptr = _ptr2; \
#define ZEND_JIT_TRACE_START_REC_SIZE

Definition at line 431 of file zend_jit_vm_helpers.c.

◆ ZEND_CALL_MEGAMORPHIC

#define ZEND_CALL_MEGAMORPHIC   ZEND_CALL_JIT_RESERVED

Definition at line 503 of file zend_jit_vm_helpers.c.

Function Documentation

◆ zend_jit_check_constant()

zend_constant *ZEND_FASTCALL zend_jit_check_constant ( const zval * key)

Definition at line 353 of file zend_jit_vm_helpers.c.

◆ zend_jit_copy_extra_args_helper()

void ZEND_FASTCALL zend_jit_copy_extra_args_helper ( EXECUTE_DATA_D )

Definition at line 169 of file zend_jit_vm_helpers.c.

◆ zend_jit_copy_extra_args_helper_no_skip_recv()

void ZEND_FASTCALL zend_jit_copy_extra_args_helper_no_skip_recv ( EXECUTE_DATA_D )

Definition at line 174 of file zend_jit_vm_helpers.c.

◆ zend_jit_deprecated_helper()

bool ZEND_FASTCALL zend_jit_deprecated_helper ( OPLINE_D )

Definition at line 179 of file zend_jit_vm_helpers.c.

◆ zend_jit_func_counter_helper()

Definition at line 263 of file zend_jit_vm_helpers.c.

◆ zend_jit_func_trace_helper()

Definition at line 392 of file zend_jit_vm_helpers.c.

◆ zend_jit_get_constant()

zend_constant *ZEND_FASTCALL zend_jit_get_constant ( const zval * key,
uint32_t flags )

Definition at line 348 of file zend_jit_vm_helpers.c.

◆ zend_jit_leave_func_helper()

ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_leave_func_helper ( EXECUTE_DATA_D )

Definition at line 112 of file zend_jit_vm_helpers.c.

◆ zend_jit_leave_nested_func_helper()

ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_leave_nested_func_helper ( uint32_t call_info EXECUTE_DATA_DC)

Definition at line 49 of file zend_jit_vm_helpers.c.

◆ zend_jit_leave_top_func_helper()

ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_jit_leave_top_func_helper ( uint32_t call_info EXECUTE_DATA_DC)

Definition at line 90 of file zend_jit_vm_helpers.c.

◆ zend_jit_loop_counter_helper()

Definition at line 283 of file zend_jit_vm_helpers.c.

◆ zend_jit_loop_trace_helper()

Definition at line 404 of file zend_jit_vm_helpers.c.

◆ zend_jit_profile_helper()

Definition at line 253 of file zend_jit_vm_helpers.c.

◆ zend_jit_ret_trace_helper()

Definition at line 398 of file zend_jit_vm_helpers.c.

◆ zend_jit_trace_execute()

zend_jit_trace_stop ZEND_FASTCALL zend_jit_trace_execute ( zend_execute_data * ex,
const zend_op * op,
zend_jit_trace_rec * trace_buffer,
uint8_t start,
uint32_t is_megamorphic,
int ret_depth )

Definition at line 603 of file zend_jit_vm_helpers.c.

◆ zend_jit_undefined_long_key()

void ZEND_FASTCALL zend_jit_undefined_long_key ( EXECUTE_DATA_D )

Definition at line 207 of file zend_jit_vm_helpers.c.

◆ zend_jit_undefined_long_key_ex()

void ZEND_FASTCALL zend_jit_undefined_long_key_ex ( zend_long key EXECUTE_DATA_DC)

Definition at line 223 of file zend_jit_vm_helpers.c.

◆ zend_jit_undefined_string_key()

void ZEND_FASTCALL zend_jit_undefined_string_key ( EXECUTE_DATA_D )

Definition at line 232 of file zend_jit_vm_helpers.c.