Skip to content

Commit c00424e

Browse files
committed
bring back all the TSRMLS_FETCH() stuff
for better comparability with the mainstream
1 parent 382f95e commit c00424e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+377
-12
lines changed

Zend/zend.c

+3
Original file line numberDiff line numberDiff line change
@@ -809,6 +809,8 @@ void zenderror(const char *error) /* {{{ */
809809
BEGIN_EXTERN_C()
810810
ZEND_API void _zend_bailout(char *filename, uint lineno) /* {{{ */
811811
{
812+
TSRMLS_FETCH();
813+
812814
if (!EG(bailout)) {
813815
zend_output_debug_string(1, "%s(%d) : Bailed out without a bailout address!", filename, lineno);
814816
exit(-1);
@@ -974,6 +976,7 @@ static void zend_error_va_list(int type, const char *format, va_list args)
974976
zend_stack delayed_oplines_stack;
975977
zend_stack context_stack;
976978
zend_array *symbol_table;
979+
TSRMLS_FETCH();
977980

978981
/* Report about uncaught exception in case of fatal errors */
979982
if (EG(exception)) {

Zend/zend_API.c

+4
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ ZEND_API int zend_get_parameters(int ht, int param_count, ...) /* {{{ */
4848
int arg_count;
4949
va_list ptr;
5050
zval **param, *param_ptr;
51+
TSRMLS_FETCH();
5152

5253
param_ptr = ZEND_CALL_ARG(EG(current_execute_data), 1);
5354
arg_count = EG(current_execute_data)->num_args;
@@ -83,6 +84,7 @@ ZEND_API int zend_get_parameters_ex(int param_count, ...) /* {{{ */
8384
int arg_count;
8485
va_list ptr;
8586
zval **param, *param_ptr;
87+
TSRMLS_FETCH();
8688

8789
param_ptr = ZEND_CALL_ARG(EG(current_execute_data), 1);
8890
arg_count = EG(current_execute_data)->num_args;
@@ -2473,6 +2475,8 @@ static void clean_module_classes(int module_number TSRMLS_DC) /* {{{ */
24732475

24742476
void module_destructor(zend_module_entry *module) /* {{{ */
24752477
{
2478+
TSRMLS_FETCH();
2479+
24762480
if (module->type == MODULE_TEMPORARY) {
24772481
zend_clean_module_rsrc_dtors(module->module_number TSRMLS_CC);
24782482
clean_module_constants(module->module_number TSRMLS_CC);

Zend/zend_alloc.c

+30-2
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,8 @@ static ZEND_NORETURN void zend_mm_safe_error(zend_mm_heap *heap,
360360
#endif
361361
size_t size)
362362
{
363+
TSRMLS_FETCH();
364+
363365
heap->overflow = 1;
364366
zend_try {
365367
zend_error_noreturn(E_ERROR,
@@ -2097,6 +2099,7 @@ ZEND_API int is_zend_mm(TSRMLS_D)
20972099

20982100
# define _ZEND_BIN_ALLOCATOR(_num, _size, _elements, _pages, x, y) \
20992101
ZEND_API void* ZEND_FASTCALL _emalloc_ ## _size(void) { \
2102+
TSRMLS_FETCH(); \
21002103
ZEND_MM_CUSTOM_ALLOCATOR(_size); \
21012104
return zend_mm_alloc_small(AG(mm_heap), _size, _num ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); \
21022105
}
@@ -2105,18 +2108,23 @@ ZEND_MM_BINS_INFO(_ZEND_BIN_ALLOCATOR, x, y)
21052108

21062109
ZEND_API void* ZEND_FASTCALL _emalloc_large(size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
21072110
{
2111+
TSRMLS_FETCH();
2112+
21082113
ZEND_MM_CUSTOM_ALLOCATOR(size);
21092114
return zend_mm_alloc_large(AG(mm_heap), size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
21102115
}
21112116

21122117
ZEND_API void* ZEND_FASTCALL _emalloc_huge(size_t size)
21132118
{
2119+
TSRMLS_FETCH();
2120+
21142121
ZEND_MM_CUSTOM_ALLOCATOR(size);
21152122
return zend_mm_alloc_huge(AG(mm_heap), size);
21162123
}
21172124

21182125
# define _ZEND_BIN_FREE(_num, _size, _elements, _pages, x, y) \
21192126
ZEND_API void ZEND_FASTCALL _efree_ ## _size(void *ptr) { \
2127+
TSRMLS_FETCH(); \
21202128
ZEND_MM_CUSTOM_DEALLOCATOR(ptr); \
21212129
{ \
21222130
size_t page_offset = ZEND_MM_ALIGNED_OFFSET(ptr, ZEND_MM_CHUNK_SIZE); \
@@ -2133,6 +2141,8 @@ ZEND_MM_BINS_INFO(_ZEND_BIN_FREE, x, y)
21332141

21342142
ZEND_API void ZEND_FASTCALL _efree_large(void *ptr, size_t size)
21352143
{
2144+
TSRMLS_FETCH();
2145+
21362146
ZEND_MM_CUSTOM_DEALLOCATOR(ptr);
21372147
{
21382148
size_t page_offset = ZEND_MM_ALIGNED_OFFSET(ptr, ZEND_MM_CHUNK_SIZE);
@@ -2149,6 +2159,8 @@ ZEND_API void ZEND_FASTCALL _efree_large(void *ptr, size_t size)
21492159

21502160
ZEND_API void ZEND_FASTCALL _efree_huge(void *ptr, size_t size)
21512161
{
2162+
TSRMLS_FETCH();
2163+
21522164
ZEND_MM_CUSTOM_DEALLOCATOR(ptr);
21532165
// TODO: use size???
21542166
zend_mm_free_huge(AG(mm_heap), ptr);
@@ -2157,6 +2169,8 @@ ZEND_API void ZEND_FASTCALL _efree_huge(void *ptr, size_t size)
21572169

21582170
ZEND_API void* ZEND_FASTCALL _emalloc(size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
21592171
{
2172+
TSRMLS_FETCH();
2173+
21602174
#if ZEND_MM_CUSTOM
21612175
if (UNEXPECTED(AG(mm_heap)->use_custom_heap)) {
21622176
return AG(mm_heap)->_malloc(size);
@@ -2167,6 +2181,8 @@ ZEND_API void* ZEND_FASTCALL _emalloc(size_t size ZEND_FILE_LINE_DC ZEND_FILE_LI
21672181

21682182
ZEND_API void ZEND_FASTCALL _efree(void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
21692183
{
2184+
TSRMLS_FETCH();
2185+
21702186
#if ZEND_MM_CUSTOM
21712187
if (UNEXPECTED(AG(mm_heap)->use_custom_heap)) {
21722188
AG(mm_heap)->_free(ptr);
@@ -2178,6 +2194,8 @@ ZEND_API void ZEND_FASTCALL _efree(void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_OR
21782194

21792195
ZEND_API void* ZEND_FASTCALL _erealloc(void *ptr, size_t size, int allow_failure ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
21802196
{
2197+
TSRMLS_FETCH();
2198+
21812199
if (UNEXPECTED(AG(mm_heap)->use_custom_heap)) {
21822200
return AG(mm_heap)->_realloc(ptr, size);
21832201
}
@@ -2229,7 +2247,9 @@ ZEND_API void* ZEND_FASTCALL _safe_realloc(void *ptr, size_t nmemb, size_t size,
22292247
ZEND_API void* ZEND_FASTCALL _ecalloc(size_t nmemb, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
22302248
{
22312249
void *p;
2232-
2250+
#ifdef ZEND_SIGNALS
2251+
TSRMLS_FETCH();
2252+
#endif
22332253
HANDLE_BLOCK_INTERRUPTIONS();
22342254

22352255
p = _safe_emalloc(nmemb, size, 0 ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
@@ -2246,6 +2266,9 @@ ZEND_API char* ZEND_FASTCALL _estrdup(const char *s ZEND_FILE_LINE_DC ZEND_FILE_
22462266
{
22472267
size_t length;
22482268
char *p;
2269+
#ifdef ZEND_SIGNALS
2270+
TSRMLS_FETCH();
2271+
#endif
22492272

22502273
HANDLE_BLOCK_INTERRUPTIONS();
22512274

@@ -2263,6 +2286,9 @@ ZEND_API char* ZEND_FASTCALL _estrdup(const char *s ZEND_FILE_LINE_DC ZEND_FILE_
22632286
ZEND_API char* ZEND_FASTCALL _estrndup(const char *s, size_t length ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
22642287
{
22652288
char *p;
2289+
#ifdef ZEND_SIGNALS
2290+
TSRMLS_FETCH();
2291+
#endif
22662292

22672293
HANDLE_BLOCK_INTERRUPTIONS();
22682294

@@ -2281,6 +2307,9 @@ ZEND_API char* ZEND_FASTCALL _estrndup(const char *s, size_t length ZEND_FILE_LI
22812307
ZEND_API char* ZEND_FASTCALL zend_strndup(const char *s, size_t length)
22822308
{
22832309
char *p;
2310+
#ifdef ZEND_SIGNALS
2311+
TSRMLS_FETCH();
2312+
#endif
22842313

22852314
HANDLE_BLOCK_INTERRUPTIONS();
22862315

@@ -2338,7 +2367,6 @@ ZEND_API void shutdown_memory_manager(int silent, int full_shutdown TSRMLS_DC)
23382367

23392368
static void alloc_globals_ctor(zend_alloc_globals *alloc_globals TSRMLS_DC)
23402369
{
2341-
23422370
#if ZEND_MM_CUSTOM
23432371
char *tmp = getenv("USE_ZEND_ALLOC");
23442372

Zend/zend_ast.c

+6
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ static inline size_t zend_ast_list_size(uint32_t children) {
4343

4444
ZEND_API zend_ast *zend_ast_create_znode(znode *node) {
4545
zend_ast_znode *ast;
46+
TSRMLS_FETCH();
4647

4748
ast = zend_ast_alloc(sizeof(zend_ast_znode) TSRMLS_CC);
4849
ast->kind = ZEND_AST_ZNODE;
@@ -54,6 +55,7 @@ ZEND_API zend_ast *zend_ast_create_znode(znode *node) {
5455

5556
ZEND_API zend_ast *zend_ast_create_zval_ex(zval *zv, zend_ast_attr attr) {
5657
zend_ast_zval *ast;
58+
TSRMLS_FETCH();
5759

5860
ast = zend_ast_alloc(sizeof(zend_ast_zval) TSRMLS_CC);
5961
ast->kind = ZEND_AST_ZVAL;
@@ -68,6 +70,7 @@ ZEND_API zend_ast *zend_ast_create_decl(
6870
zend_string *name, zend_ast *child0, zend_ast *child1, zend_ast *child2
6971
) {
7072
zend_ast_decl *ast;
73+
TSRMLS_FETCH();
7174

7275
ast = zend_ast_alloc(sizeof(zend_ast_decl) TSRMLS_CC);
7376
ast->kind = kind;
@@ -88,6 +91,7 @@ ZEND_API zend_ast *zend_ast_create_decl(
8891
static zend_ast *zend_ast_create_from_va_list(zend_ast_kind kind, zend_ast_attr attr, va_list va) {
8992
uint32_t i, children = kind >> ZEND_AST_NUM_CHILDREN_SHIFT;
9093
zend_ast *ast;
94+
TSRMLS_FETCH();
9195

9296
ast = zend_ast_alloc(zend_ast_size(children) TSRMLS_CC);
9397
ast->kind = kind;
@@ -136,6 +140,7 @@ ZEND_API zend_ast *zend_ast_create(zend_ast_kind kind, ...) {
136140
ZEND_API zend_ast *zend_ast_create_list(uint32_t init_children, zend_ast_kind kind, ...) {
137141
zend_ast *ast;
138142
zend_ast_list *list;
143+
TSRMLS_FETCH();
139144

140145
ast = zend_ast_alloc(zend_ast_list_size(4) TSRMLS_CC);
141146
list = (zend_ast_list *) ast;
@@ -164,6 +169,7 @@ static inline zend_bool is_power_of_two(uint32_t n) {
164169
ZEND_API zend_ast *zend_ast_list_add(zend_ast *ast, zend_ast *op) {
165170
zend_ast_list *list = zend_ast_get_list(ast);
166171
if (list->children >= 4 && is_power_of_two(list->children)) {
172+
TSRMLS_FETCH();
167173
list = zend_ast_realloc(list,
168174
zend_ast_list_size(list->children), zend_ast_list_size(list->children * 2) TSRMLS_CC);
169175
}

Zend/zend_compile.c

+2
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,8 @@ void zend_init_compiler_data_structures(TSRMLS_D) /* {{{ */
186186

187187
ZEND_API void file_handle_dtor(zend_file_handle *fh) /* {{{ */
188188
{
189+
TSRMLS_FETCH();
190+
189191
zend_file_handle_dtor(fh TSRMLS_CC);
190192
}
191193
/* }}} */

Zend/zend_execute_API.c

+7
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,8 @@ static int zval_call_destructor(zval *zv TSRMLS_DC) /* {{{ */
206206

207207
static void zend_unclean_zval_ptr_dtor(zval *zv) /* {{{ */
208208
{
209+
TSRMLS_FETCH();
210+
209211
if (Z_TYPE_P(zv) == IS_INDIRECT) {
210212
zv = Z_INDIRECT_P(zv);
211213
}
@@ -483,6 +485,7 @@ ZEND_API zend_bool zend_is_executing(TSRMLS_D) /* {{{ */
483485

484486
ZEND_API void _zval_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC) /* {{{ */
485487
{
488+
TSRMLS_FETCH();
486489
i_zval_ptr_dtor(zval_ptr ZEND_FILE_LINE_RELAY_CC TSRMLS_CC);
487490
}
488491
/* }}} */
@@ -1141,6 +1144,8 @@ ZEND_API int zend_eval_string_ex(char *str, zval *retval_ptr, char *string_name,
11411144

11421145
ZEND_API void zend_timeout(int dummy) /* {{{ */
11431146
{
1147+
TSRMLS_FETCH();
1148+
11441149
if (zend_on_timeout) {
11451150
#ifdef ZEND_SIGNALS
11461151
/*
@@ -1278,6 +1283,8 @@ void zend_shutdown_timeout_thread(void) /* {{{ */
12781283

12791284
void zend_set_timeout(zend_long seconds, int reset_signals) /* {{{ */
12801285
{
1286+
TSRMLS_FETCH();
1287+
12811288
EG(timeout_seconds) = seconds;
12821289

12831290
#ifdef ZEND_WIN32

Zend/zend_hash.c

+28
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,9 @@ static zend_always_inline zval *_zend_hash_add_or_update_i(HashTable *ht, zend_s
252252
uint32_t nIndex;
253253
uint32_t idx;
254254
Bucket *p;
255+
#ifdef ZEND_SIGNALS
256+
TSRMLS_FETCH();
257+
#endif
255258

256259
IS_CONSISTENT(ht);
257260

@@ -404,6 +407,9 @@ static zend_always_inline zval *_zend_hash_index_add_or_update_i(HashTable *ht,
404407
uint32_t nIndex;
405408
uint32_t idx;
406409
Bucket *p;
410+
#ifdef ZEND_SIGNALS
411+
TSRMLS_FETCH();
412+
#endif
407413

408414
IS_CONSISTENT(ht);
409415
CHECK_INIT(ht, h < ht->nTableSize);
@@ -541,6 +547,9 @@ ZEND_API zval *_zend_hash_next_index_insert_new(HashTable *ht, zval *pData ZEND_
541547

542548
static void zend_hash_do_resize(HashTable *ht)
543549
{
550+
#ifdef ZEND_SIGNALS
551+
TSRMLS_FETCH();
552+
#endif
544553

545554
IS_CONSISTENT(ht);
546555

@@ -659,6 +668,9 @@ ZEND_API int zend_hash_del(HashTable *ht, zend_string *key)
659668
uint32_t idx;
660669
Bucket *p;
661670
Bucket *prev = NULL;
671+
#ifdef ZEND_SIGNALS
672+
TSRMLS_FETCH();
673+
#endif
662674

663675
IS_CONSISTENT(ht);
664676

@@ -695,6 +707,9 @@ ZEND_API int zend_hash_del_ind(HashTable *ht, zend_string *key)
695707
uint32_t idx;
696708
Bucket *p;
697709
Bucket *prev = NULL;
710+
#ifdef ZEND_SIGNALS
711+
TSRMLS_FETCH();
712+
#endif
698713

699714
IS_CONSISTENT(ht);
700715

@@ -744,6 +759,9 @@ ZEND_API int zend_hash_str_del(HashTable *ht, const char *str, size_t len)
744759
uint32_t idx;
745760
Bucket *p;
746761
Bucket *prev = NULL;
762+
#ifdef ZEND_SIGNALS
763+
TSRMLS_FETCH();
764+
#endif
747765

748766
IS_CONSISTENT(ht);
749767

@@ -792,6 +810,9 @@ ZEND_API int zend_hash_str_del_ind(HashTable *ht, const char *str, size_t len)
792810
uint32_t idx;
793811
Bucket *p;
794812
Bucket *prev = NULL;
813+
#ifdef ZEND_SIGNALS
814+
TSRMLS_FETCH();
815+
#endif
795816

796817
IS_CONSISTENT(ht);
797818

@@ -822,6 +843,9 @@ ZEND_API int zend_hash_index_del(HashTable *ht, zend_ulong h)
822843
uint32_t idx;
823844
Bucket *p;
824845
Bucket *prev = NULL;
846+
#ifdef ZEND_SIGNALS
847+
TSRMLS_FETCH();
848+
#endif
825849

826850
IS_CONSISTENT(ht);
827851

@@ -937,6 +961,10 @@ ZEND_API void zend_hash_clean(HashTable *ht)
937961
*/
938962
static void zend_hash_apply_deleter(HashTable *ht, uint32_t idx, Bucket *p)
939963
{
964+
#ifdef ZEND_SIGNALS
965+
TSRMLS_FETCH();
966+
#endif
967+
940968
HANDLE_BLOCK_INTERRUPTIONS();
941969
_zend_hash_del_el(ht, idx, p);
942970
HANDLE_UNBLOCK_INTERRUPTIONS();

Zend/zend_inheritance.c

+1
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,7 @@ static zend_bool do_inherit_method_check(HashTable *child_function_table, zend_f
551551
{
552552
uint32_t parent_flags = parent->common.fn_flags;
553553
zend_function *child;
554+
TSRMLS_FETCH();
554555

555556
if ((child = zend_hash_find_ptr(child_function_table, key)) == NULL) {
556557
if (parent_flags & (ZEND_ACC_ABSTRACT)) {

0 commit comments

Comments
 (0)