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

Go to the source code of this file.

Data Structures

struct  _zend_worklist_stack
 
struct  _zend_worklist
 

Macros

#define ZEND_WORKLIST_STACK_ALLOCA(s, _len, use_heap)
 
#define ZEND_WORKLIST_STACK_FREE_ALLOCA(s, use_heap)
 
#define ZEND_WORKLIST_ALLOCA(w, _len, use_heap)
 
#define ZEND_WORKLIST_FREE_ALLOCA(w, use_heap)
 

Typedefs

typedef struct _zend_worklist_stack zend_worklist_stack
 
typedef struct _zend_worklist zend_worklist
 

Macro Definition Documentation

◆ ZEND_WORKLIST_ALLOCA

#define ZEND_WORKLIST_ALLOCA ( w,
_len,
use_heap )
Value:
do { \
(w)->stack.buf = (int*)do_alloca(ZEND_MM_ALIGNED_SIZE(sizeof(int) * _len) + sizeof(zend_ulong) * zend_bitset_len(_len), use_heap); \
(w)->stack.len = 0; \
(w)->stack.capacity = _len; \
(w)->visited = (zend_bitset)((char*)(w)->stack.buf + ZEND_MM_ALIGNED_SIZE(sizeof(int) * _len)); \
memset((w)->visited, 0, sizeof(zend_ulong) * zend_bitset_len(_len)); \
} while (0)
#define ZEND_MM_ALIGNED_SIZE(size)
Definition zend_alloc.h:35
zend_ulong * zend_bitset
Definition zend_bitset.h:29
uint32_t zend_ulong
Definition zend_long.h:43
#define do_alloca(p, use_heap)

Definition at line 72 of file zend_worklist.h.

◆ ZEND_WORKLIST_FREE_ALLOCA

#define ZEND_WORKLIST_FREE_ALLOCA ( w,
use_heap )
Value:
free_alloca((w)->stack.buf, use_heap)
#define free_alloca(p, use_heap)

Definition at line 80 of file zend_worklist.h.

◆ ZEND_WORKLIST_STACK_ALLOCA

#define ZEND_WORKLIST_STACK_ALLOCA ( s,
_len,
use_heap )
Value:
do { \
(s)->buf = (int*)do_alloca(sizeof(int) * _len, use_heap); \
(s)->len = 0; \
(s)->capacity = _len; \
} while (0)
size_t len
Definition apprentice.c:174
char s[4]
Definition cdf.c:77
zend_ffi_ctype_name_buf buf
Definition ffi.c:4685

Definition at line 31 of file zend_worklist.h.

◆ ZEND_WORKLIST_STACK_FREE_ALLOCA

#define ZEND_WORKLIST_STACK_FREE_ALLOCA ( s,
use_heap )
Value:
free_alloca((s)->buf, use_heap)

Definition at line 37 of file zend_worklist.h.

Typedef Documentation

◆ zend_worklist

typedef struct _zend_worklist zend_worklist

◆ zend_worklist_stack